/* Code generated from eC source file: pass15.ec */
+#if defined(_WIN32)
+#define __runtimePlatform 1
+#elif defined(__APPLE__)
+#define __runtimePlatform 3
+#else
+#define __runtimePlatform 2
+#endif
#if defined(__GNUC__)
typedef long long int64;
typedef unsigned long long uint64;
#define arch_PointerSize sizeof(void *)
#define structSize_Instance (_64BIT ? 24 : 12)
#define structSize_Module (_64BIT ? 560 : 300)
-#define structSize_NamedLink (_64BIT ? 32 : 16)
+#define structSize_NamedLink64 (_64BIT ? 32 : 24)
+
+struct __ecereNameSpace__ecere__com__Instance;
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
struct __ecereNameSpace__ecere__com__Method
{
-char * name;
+const char * name;
struct __ecereNameSpace__ecere__com__Method * parent;
struct __ecereNameSpace__ecere__com__Method * left;
struct __ecereNameSpace__ecere__com__Method * right;
int type;
struct __ecereNameSpace__ecere__com__Class * _class;
void * symbol;
-char * dataTypeString;
+const char * dataTypeString;
struct Type * dataType;
int memberAccess;
} __attribute__ ((gcc_struct));
{
struct __ecereNameSpace__ecere__com__Property * prev;
struct __ecereNameSpace__ecere__com__Property * next;
-char * name;
+const char * name;
unsigned int isProperty;
int memberAccess;
int id;
struct __ecereNameSpace__ecere__com__Class * _class;
-char * dataTypeString;
+const char * dataTypeString;
struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
struct Type * dataType;
void (* Set)(void * , int);
int vid;
unsigned int conversion;
unsigned int watcherOffset;
-char * category;
+const char * category;
unsigned int compiled;
unsigned int selfWatchable;
unsigned int isWatchable;
{
char * s;
struct Attrib * attr;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefinition;
{
struct __ecereNameSpace__ecere__sys__OldList * specifiers;
struct __ecereNameSpace__ecere__sys__OldList * declarators;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
struct Instantiation * inst;
struct
{
struct Identifier * id;
struct Expression * exp;
-} __attribute__ ((gcc_struct));
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon2;
+} __attribute__ ((gcc_struct)) __anon1;
struct Specifier * extStorage;
struct Symbol * symbol;
int declMode;
struct Statement * stmt;
} __attribute__ ((gcc_struct)) forEachStmt;
struct Declaration * decl;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TypeName;
{
struct Expression * exp;
struct __ecereNameSpace__ecere__sys__OldList * list;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
unsigned int isConstant;
+struct Identifier * id;
} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
double d;
long long i64;
uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Expression;
{
char * constant;
struct Identifier * identifier;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
struct Statement * compound;
struct Instantiation * instance;
struct
{
char * string;
unsigned int intlString;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon2;
struct __ecereNameSpace__ecere__sys__OldList * list;
struct
{
struct Expression * exp;
struct TypeName * typeName;
} __attribute__ ((gcc_struct)) vaArg;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
unsigned int debugValue;
struct __ecereNameSpace__ecere__com__DataValue val;
uint64 address;
unsigned int needCast;
unsigned int thisPtr;
unsigned int opDestType;
+unsigned int needTemplateCast;
} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateDatatype;
{
struct TemplateDatatype * dataType;
int memberType;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
struct TemplateArgument * defaultArgument;
-char * dataTypeString;
+const char * dataTypeString;
struct Type * baseType;
} __attribute__ ((gcc_struct));
char * name;
struct Symbol * symbol;
struct __ecereNameSpace__ecere__sys__OldList * templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
struct
{
struct Identifier * id;
unsigned int addNameSpace;
struct Context * ctx;
struct ExtDecl * extDeclStruct;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon2;
struct Expression * expression;
struct Specifier * _class;
struct TemplateParameter * templateParameter;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Identifier;
{
struct ExtDecl * extended;
} __attribute__ ((gcc_struct)) extended;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_FunctionDefinition;
char * importString;
struct Identifier * id;
struct DBTableDef * table;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
int importType;
} __attribute__ ((gcc_struct));
struct __ecereNameSpace__ecere__com__Method * method;
struct __ecereNameSpace__ecere__com__Property * _property;
struct __ecereNameSpace__ecere__com__Class * registered;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
int id;
int idCode;
union
{
struct External * pointerExternal;
struct External * structExternal;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
struct
{
struct External * externalGet;
struct External * externalSet;
struct External * externalPtr;
struct External * externalIsSet;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon2;
struct
{
struct External * methodExternal;
struct External * methodCodeExternal;
-} __attribute__ ((gcc_struct));
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon3;
+} __attribute__ ((gcc_struct)) __anon2;
unsigned int imported;
unsigned int declaredStructSym;
struct __ecereNameSpace__ecere__com__Class * _class;
{
struct __ecereNameSpace__ecere__sys__OldList members;
char * enumName;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
struct
{
struct Type * returnType;
struct Symbol * thisClass;
unsigned int staticMethod;
struct TemplateParameter * thisClassTemplate;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon2;
struct
{
struct __ecereNameSpace__ecere__com__Method * method;
struct __ecereNameSpace__ecere__com__Class * methodClass;
struct __ecereNameSpace__ecere__com__Class * usedClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon3;
struct
{
struct Type * arrayType;
struct Expression * arraySizeExp;
unsigned int freeExp;
struct Symbol * enumClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon4;
struct Type * type;
struct TemplateParameter * templateParameter;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
int kind;
unsigned int size;
char * name;
unsigned int attrStdcall : 1;
unsigned int declaredWithStruct : 1;
unsigned int typedByReference : 1;
+unsigned int casted : 1;
} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
{
struct __ecereNameSpace__ecere__com__Class * prev;
struct __ecereNameSpace__ecere__com__Class * next;
-char * name;
+const char * name;
int offset;
int structSize;
int (* * _vTbl)();
int type;
struct __ecereNameSpace__ecere__com__Instance * module;
struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
-char * dataTypeString;
+const char * dataTypeString;
struct Type * dataType;
int typeSize;
int defaultAlignment;
void (* Initialize)();
int memberOffset;
struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char * designerClass;
+const char * designerClass;
unsigned int noExpansion;
-char * defaultProperty;
+const char * defaultProperty;
unsigned int comRedefinition;
int count;
int isRemote;
unsigned int fixed;
struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
int inheritanceAccess;
-char * fullName;
+const char * fullName;
void * symbol;
struct __ecereNameSpace__ecere__sys__OldList conversions;
struct __ecereNameSpace__ecere__sys__OldList templateParams;
unsigned int byValueSystemClass;
} __attribute__ ((gcc_struct));
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name);
+
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, long long value);
extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char * name, void * function);
+
+extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
+
+extern void __ecereNameSpace__ecere__com__eInstance_StopWatching(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property, struct __ecereNameSpace__ecere__com__Instance * object);
+
+extern void __ecereNameSpace__ecere__com__eInstance_Watch(void * instance, struct __ecereNameSpace__ecere__com__Property * _property, void * object, void (* callback)(void * , void * ));
+
+extern void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
+
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
struct __ecereNameSpace__ecere__com__Instance
{
struct __ecereNameSpace__ecere__com__DataMember * prev;
struct __ecereNameSpace__ecere__com__DataMember * next;
-char * name;
+const char * name;
unsigned int isProperty;
int memberAccess;
int id;
struct __ecereNameSpace__ecere__com__Class * _class;
-char * dataTypeString;
+const char * dataTypeString;
struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
struct Type * dataType;
int type;
{
struct
{
-char * dataTypeString;
+const char * dataTypeString;
struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
struct __ecereNameSpace__ecere__com__DataValue expression;
struct
{
-char * memberString;
+const char * memberString;
union
{
struct __ecereNameSpace__ecere__com__DataMember * member;
struct __ecereNameSpace__ecere__com__Property * prop;
struct __ecereNameSpace__ecere__com__Method * method;
-} __attribute__ ((gcc_struct));
-} __attribute__ ((gcc_struct));
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
+} __attribute__ ((gcc_struct)) __anon2;
+} __attribute__ ((gcc_struct)) __anon1;
} __attribute__ ((gcc_struct));
void exit(int status);
{
struct __ecereNameSpace__ecere__sys__OldList * dataMembers;
struct ClassFunction * function;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_MemberInit;
unsigned int conversion : 1;
unsigned int isWatchable : 1;
unsigned int isDBProp : 1;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_PropertyWatch;
{
struct Identifier * id;
struct Initializer * initializer;
-} __attribute__ ((gcc_struct));
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
+} __attribute__ ((gcc_struct)) __anon1;
int memberAccess;
void * object;
} __attribute__ ((gcc_struct));
struct __ecereNameSpace__ecere__com__Class * containerClass;
-unsigned int thisClassParams = 0x1;
+unsigned int thisClassParams = 1;
unsigned int internalValueCounter;
int count;
unsigned int backOutputLineNumbers = outputLineNumbers;
-outputLineNumbers = 0x0;
+outputLineNumbers = 0;
if(exp)
OutputExpression(exp, f);
((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, int pos, int mode))__extension__ ({
}
}
-extern struct Type * ProcessTypeString(char * string, unsigned int staticMethod);
+extern struct Type * ProcessTypeString(const char * string, unsigned int staticMethod);
extern struct Type * ProcessType(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl);
struct Type * ProcessTemplateParameterType(struct TemplateParameter * param)
{
-if(param && param->type == 0 && (param->dataType || param->dataTypeString))
+if(param && param->type == 0 && (param->__anon1.dataType || param->dataTypeString))
{
if(!param->baseType)
{
if(param->dataTypeString)
-param->baseType = ProcessTypeString(param->dataTypeString, 0x0);
+param->baseType = ProcessTypeString(param->dataTypeString, 0);
else
-param->baseType = ProcessType(param->dataType->specifiers, param->dataType->decl);
+param->baseType = ProcessType(param->__anon1.dataType->specifiers, param->__anon1.dataType->decl);
}
return param->baseType;
}
unsigned int NeedCast(struct Type * type1, struct Type * type2)
{
if(!type1 || !type2 || type1->keepCast || type2->keepCast)
-return 0x1;
-if(type1->kind == 20 && type2->kind == 4 && type2->passAsTemplate == 0x0)
+return 1;
+if(type1->kind == 20 && type2->kind == 4 && type2->passAsTemplate == 0)
{
-return 0x0;
+return 0;
}
if(type1->kind == type2->kind)
{
case 22:
case 23:
if(type1->passAsTemplate && !type2->passAsTemplate)
-return 0x1;
+return 1;
return type1->isSigned != type2->isSigned;
case 8:
-return type1->_class != type2->_class;
+return type1->__anon1._class != type2->__anon1._class;
case 13:
-return NeedCast(type1->type, type2->type);
+return (type1->__anon1.type && type2->__anon1.type && type1->__anon1.type->constant != type2->__anon1.type->constant) || NeedCast(type1->__anon1.type, type2->__anon1.type);
default:
-return 0x1;
+return 1;
}
}
-return 0x1;
+return 1;
}
extern int strcmp(const char * , const char * );
extern unsigned int __ecereNameSpace__ecere__com__eClass_IsDerived(struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__Class * from);
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, struct __ecereNameSpace__ecere__com__Instance * module);
extern struct __ecereNameSpace__ecere__com__Instance * privateModule;
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, char * name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, struct __ecereNameSpace__ecere__com__Instance * module);
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char * name, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember ** subMemberStack, int * subMemberStackPos);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember ** subMemberStack, int * subMemberStackPos);
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassProperty;
struct __ecereNameSpace__ecere__com__ClassProperty
{
-char * name;
+const char * name;
struct __ecereNameSpace__ecere__com__ClassProperty * parent;
struct __ecereNameSpace__ecere__com__ClassProperty * left;
struct __ecereNameSpace__ecere__com__ClassProperty * right;
int depth;
void (* Set)(struct __ecereNameSpace__ecere__com__Class *, long long);
long long (* Get)(struct __ecereNameSpace__ecere__com__Class *);
-char * dataTypeString;
+const char * dataTypeString;
struct Type * dataType;
unsigned int constant;
} __attribute__ ((gcc_struct));
-extern struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_FindClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name);
+extern struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_FindClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name);
-extern struct Expression * QMkExpId(char * id);
+extern struct Expression * QMkExpId(const char * id);
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter;
{
struct __ecereNameSpace__ecere__com__ClassTemplateParameter * prev;
struct __ecereNameSpace__ecere__com__ClassTemplateParameter * next;
-char * name;
+const char * name;
int type;
union
{
-char * dataTypeString;
+const char * dataTypeString;
int memberType;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg;
void * param;
} __attribute__ ((gcc_struct));
-extern struct Expression * GetTemplateArgExpByName(char * paramName, struct __ecereNameSpace__ecere__com__Class * curClass, int tplType);
+extern struct Expression * GetTemplateArgExpByName(const char * paramName, struct __ecereNameSpace__ecere__com__Class * curClass, int tplType);
extern struct __ecereNameSpace__ecere__sys__OldList * MkList(void);
void ProcessExpressionType(struct Expression * exp);
-extern struct Declarator * SpecDeclFromString(char * string, struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * baseDecl);
+extern struct Declarator * SpecDeclFromString(const char * string, struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * baseDecl);
extern struct __ecereNameSpace__ecere__sys__OldList * MkListOne(void * item);
extern struct Pointer * MkPointer(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Pointer * pointer);
-struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char * key);
+struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char * key);
static void ReplaceClassMembers(struct Expression * exp, struct __ecereNameSpace__ecere__com__Class * _class)
{
-if(exp->type == 0 && exp->identifier)
+if(exp->type == 0 && exp->__anon1.__anon1.identifier)
{
-struct Identifier * id = exp->identifier;
+struct Identifier * id = exp->__anon1.__anon1.identifier;
struct Context * ctx;
struct Symbol * symbol = (((void *)0));
-if(!id->_class || !id->_class->name || strcmp(id->_class->name, "property"))
+if(!id->_class || !id->_class->__anon1.__anon1.name || strcmp(id->_class->__anon1.__anon1.name, "property"))
{
for(ctx = curContext; ctx != topContext->parent && !symbol; ctx = ctx->parent)
{
break;
}
}
-if(!symbol && ((!id->_class || (id->_class->name && !strcmp(id->_class->name, "property"))) || (id->classSym && __ecereNameSpace__ecere__com__eClass_IsDerived(_class, id->classSym->registered))))
+if(!symbol && ((!id->_class || (id->_class->__anon1.__anon1.name && !strcmp(id->_class->__anon1.__anon1.name, "property"))) || (id->classSym && __ecereNameSpace__ecere__com__eClass_IsDerived(_class, id->classSym->__anon1.registered))))
{
struct __ecereNameSpace__ecere__com__Property * prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, id->string, privateModule);
struct __ecereNameSpace__ecere__com__Method * method = (((void *)0));
if(prop || method || member || classProp)
{
exp->type = 8;
-exp->member.member = id;
-exp->member.memberType = 0;
-exp->member.exp = QMkExpId("this");
-exp->addedThis = 0x1;
+exp->__anon1.member.member = id;
+exp->__anon1.member.memberType = 0;
+exp->__anon1.member.exp = QMkExpId("this");
+exp->addedThis = 1;
}
else if(_class && _class->templateParams.first)
{
struct Declarator * decl;
struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
-FreeIdentifier(exp->member.member);
+FreeIdentifier(exp->__anon1.member.member);
ProcessExpressionType(argExp);
-decl = SpecDeclFromString(param->dataTypeString, specs, (((void *)0)));
+decl = SpecDeclFromString(param->__anon1.dataTypeString, specs, (((void *)0)));
exp->expType = ProcessType(specs, decl);
exp->type = 5;
-exp->list = MkListOne(MkExpOp((((void *)0)), '*', MkExpCast(MkTypeName(specs, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), decl)), MkExpOp((((void *)0)), '&', argExp))));
+exp->__anon1.list = MkListOne(MkExpOp((((void *)0)), '*', MkExpCast(MkTypeName(specs, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), decl)), MkExpOp((((void *)0)), '&', argExp))));
}
}
}
}
}
-extern int sprintf(char * , char * , ...);
-
-extern int __ecereNameSpace__ecere__com__GetRuntimePlatform(void);
+extern int sprintf(char * , const char * , ...);
extern char * strcat(char * , const char * );
-extern char * __ecereNameSpace__ecere__sys__CopyString(char * string);
+extern char * __ecereNameSpace__ecere__sys__CopyString(const char * string);
char * PrintInt(long long result)
{
char temp[100];
if(result > (((int)0x7fffffff)))
-sprintf(temp, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "0x%I64X" : "0x%llX"), result);
+sprintf(temp, ((__runtimePlatform == 1) ? "0x%I64X" : "0x%llX"), result);
else
-sprintf(temp, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "%I64d" : "%lld"), result);
+sprintf(temp, ((__runtimePlatform == 1) ? "%I64d" : "%lld"), result);
if(result > (((int)0x7fffffff)) || result < (((int)0x80000000)))
strcat(temp, "LL");
return __ecereNameSpace__ecere__sys__CopyString(temp);
char temp[100];
if(result > (0xffffffff))
-sprintf(temp, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "0x%I64XLL" : "0x%llXLL"), result);
+sprintf(temp, ((__runtimePlatform == 1) ? "0x%I64XLL" : "0x%llXLL"), result);
else if(result > (((int)0x7fffffff)))
-sprintf(temp, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "0x%I64X" : "0x%llX"), result);
+sprintf(temp, ((__runtimePlatform == 1) ? "0x%I64X" : "0x%llX"), result);
else
-sprintf(temp, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "%I64d" : "%lld"), result);
+sprintf(temp, ((__runtimePlatform == 1) ? "%I64d" : "%lld"), result);
return __ecereNameSpace__ecere__sys__CopyString(temp);
}
{
char temp[100];
-sprintf(temp, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "%I64dLL" : "%lldLL"), result);
+if(result > (((int)0x7fffffff)) || result < (((int)0x80000000)))
+sprintf(temp, ((__runtimePlatform == 1) ? "%I64dLL" : "%lldLL"), result);
+else
+sprintf(temp, ((__runtimePlatform == 1) ? "%I64d" : "%lld"), result);
return __ecereNameSpace__ecere__sys__CopyString(temp);
}
{
char temp[100];
-if(result > (((long long)0x7fffffffffffffffLL)))
-sprintf(temp, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "0x%I64XLL" : "0x%llXLL"), result);
+if(result > (0xffffffff))
+sprintf(temp, ((__runtimePlatform == 1) ? "0x%I64XLL" : "0x%llXLL"), result);
+else if(result > (((int)0x7fffffff)))
+sprintf(temp, ((__runtimePlatform == 1) ? "0x%I64X" : "0x%llX"), result);
else
-sprintf(temp, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "%I64dLL" : "%lldLL"), result);
+sprintf(temp, ((__runtimePlatform == 1) ? "%I64d" : "%lld"), result);
return __ecereNameSpace__ecere__sys__CopyString(temp);
}
char temp[100];
if(result > (0xffffffff))
-sprintf(temp, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "0x%I64X" : "0x%llX"), result);
+sprintf(temp, ((__runtimePlatform == 1) ? "0x%I64X" : "0x%llX"), result);
else
-sprintf(temp, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "0x%I64X" : "0x%llX"), result);
+sprintf(temp, ((__runtimePlatform == 1) ? "0x%I64X" : "0x%llX"), result);
if(result > (0xffffffff))
strcat(temp, "LL");
return __ecereNameSpace__ecere__sys__CopyString(temp);
char temp[100];
if(result > (0xffffffff))
-sprintf(temp, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "0x%I64XLL" : "0x%llXLL"), result);
+sprintf(temp, ((__runtimePlatform == 1) ? "0x%I64XLL" : "0x%llXLL"), result);
else
-sprintf(temp, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "0x%I64X" : "0x%llX"), result);
+sprintf(temp, ((__runtimePlatform == 1) ? "0x%I64X" : "0x%llX"), result);
return __ecereNameSpace__ecere__sys__CopyString(temp);
}
double d;
long long i64;
uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
struct OpTable ops;
} __attribute__ ((gcc_struct));
unsigned int GetOpInt(struct Operand * op2, int * value2)
{
if(op2->kind == 3 && op2->type->isSigned)
-*value2 = op2->i;
+*value2 = op2->__anon1.i;
else if(op2->kind == 3)
-*value2 = (int)op2->ui;
+*value2 = (int)op2->__anon1.ui;
else if(op2->kind == 4 && op2->type->isSigned)
-*value2 = (int)op2->i64;
+*value2 = (int)op2->__anon1.i64;
else if(op2->kind == 4)
-*value2 = (int)op2->ui64;
+*value2 = (int)op2->__anon1.ui64;
else if(op2->kind == 23 && op2->type->isSigned)
-*value2 = (int)op2->i64;
+*value2 = (int)op2->__anon1.i64;
else if(op2->kind == 23)
-*value2 = (int)op2->ui64;
+*value2 = (int)op2->__anon1.ui64;
else if(op2->kind == 22 && op2->type->isSigned)
-*value2 = (int)op2->i64;
+*value2 = (int)op2->__anon1.i64;
else if(op2->kind == 22)
-*value2 = (int)op2->ui64;
+*value2 = (int)op2->__anon1.ui64;
else if(op2->kind == 2 && op2->type->isSigned)
-*value2 = (int)op2->s;
+*value2 = (int)op2->__anon1.s;
else if(op2->kind == 2)
-*value2 = (int)op2->us;
+*value2 = (int)op2->__anon1.us;
else if(op2->kind == 1 && op2->type->isSigned)
-*value2 = (int)op2->c;
+*value2 = (int)op2->__anon1.c;
else if(op2->kind == 24 || op2->kind == 1)
-*value2 = (int)op2->uc;
+*value2 = (int)op2->__anon1.uc;
else if(op2->kind == 6)
-*value2 = (int)op2->f;
+*value2 = (int)op2->__anon1.f;
else if(op2->kind == 7)
-*value2 = (int)op2->d;
+*value2 = (int)op2->__anon1.d;
else if(op2->kind == 13)
-*value2 = (int)op2->ui64;
+*value2 = (int)op2->__anon1.ui64;
else
-return 0x0;
-return 0x1;
+return 0;
+return 1;
}
struct Operand GetOperand(struct Expression * exp);
unsigned int GetOpUInt(struct Operand * op2, unsigned int * value2)
{
if(op2->kind == 3 && op2->type->isSigned)
-*value2 = (unsigned int)op2->i;
+*value2 = (unsigned int)op2->__anon1.i;
else if(op2->kind == 3)
-*value2 = op2->ui;
+*value2 = op2->__anon1.ui;
else if(op2->kind == 4 && op2->type->isSigned)
-*value2 = (unsigned int)op2->i64;
+*value2 = (unsigned int)op2->__anon1.i64;
else if(op2->kind == 4)
-*value2 = (unsigned int)op2->ui64;
+*value2 = (unsigned int)op2->__anon1.ui64;
else if(op2->kind == 23 && op2->type->isSigned)
-*value2 = (unsigned int)op2->i64;
+*value2 = (unsigned int)op2->__anon1.i64;
else if(op2->kind == 23)
-*value2 = (unsigned int)op2->ui64;
+*value2 = (unsigned int)op2->__anon1.ui64;
else if(op2->kind == 22 && op2->type->isSigned)
-*value2 = (unsigned int)op2->i64;
+*value2 = (unsigned int)op2->__anon1.i64;
else if(op2->kind == 22)
-*value2 = (unsigned int)op2->ui64;
+*value2 = (unsigned int)op2->__anon1.ui64;
else if(op2->kind == 2 && op2->type->isSigned)
-*value2 = (unsigned int)op2->s;
+*value2 = (unsigned int)op2->__anon1.s;
else if(op2->kind == 2)
-*value2 = (unsigned int)op2->us;
+*value2 = (unsigned int)op2->__anon1.us;
else if(op2->kind == 1 && op2->type->isSigned)
-*value2 = (unsigned int)op2->c;
+*value2 = (unsigned int)op2->__anon1.c;
else if(op2->kind == 24 || op2->kind == 1)
-*value2 = (unsigned int)op2->uc;
+*value2 = (unsigned int)op2->__anon1.uc;
else if(op2->kind == 6)
-*value2 = (unsigned int)op2->f;
+*value2 = (unsigned int)op2->__anon1.f;
else if(op2->kind == 7)
-*value2 = (unsigned int)op2->d;
+*value2 = (unsigned int)op2->__anon1.d;
else if(op2->kind == 13)
-*value2 = (unsigned int)op2->ui64;
+*value2 = (unsigned int)op2->__anon1.ui64;
else
-return 0x0;
-return 0x1;
+return 0;
+return 1;
}
unsigned int GetUInt(struct Expression * exp, unsigned int * value2)
unsigned int GetOpInt64(struct Operand * op2, long long * value2)
{
if(op2->kind == 3 && op2->type->isSigned)
-*value2 = (long long)op2->i;
+*value2 = (long long)op2->__anon1.i;
else if(op2->kind == 3)
-*value2 = (long long)op2->ui;
+*value2 = (long long)op2->__anon1.ui;
else if(op2->kind == 4 && op2->type->isSigned)
-*value2 = op2->i64;
+*value2 = op2->__anon1.i64;
else if(op2->kind == 4)
-*value2 = (long long)op2->ui64;
+*value2 = (long long)op2->__anon1.ui64;
else if(op2->kind == 23 && op2->type->isSigned)
-*value2 = op2->i64;
+*value2 = op2->__anon1.i64;
else if(op2->kind == 23)
-*value2 = (long long)op2->ui64;
+*value2 = (long long)op2->__anon1.ui64;
else if(op2->kind == 22 && op2->type->isSigned)
-*value2 = op2->i64;
+*value2 = op2->__anon1.i64;
else if(op2->kind == 22)
-*value2 = (long long)op2->ui64;
+*value2 = (long long)op2->__anon1.ui64;
else if(op2->kind == 2 && op2->type->isSigned)
-*value2 = (long long)op2->s;
+*value2 = (long long)op2->__anon1.s;
else if(op2->kind == 2)
-*value2 = (long long)op2->us;
+*value2 = (long long)op2->__anon1.us;
else if(op2->kind == 1 && op2->type->isSigned)
-*value2 = (long long)op2->c;
+*value2 = (long long)op2->__anon1.c;
else if(op2->kind == 24 || op2->kind == 1)
-*value2 = (long long)op2->uc;
+*value2 = (long long)op2->__anon1.uc;
else if(op2->kind == 6)
-*value2 = (long long)op2->f;
+*value2 = (long long)op2->__anon1.f;
else if(op2->kind == 7)
-*value2 = (long long)op2->d;
+*value2 = (long long)op2->__anon1.d;
else if(op2->kind == 13)
-*value2 = (long long)op2->ui64;
+*value2 = (long long)op2->__anon1.ui64;
else
-return 0x0;
-return 0x1;
+return 0;
+return 1;
}
unsigned int GetInt64(struct Expression * exp, long long * value2)
unsigned int GetOpUInt64(struct Operand * op2, uint64 * value2)
{
if(op2->kind == 3 && op2->type->isSigned)
-*value2 = (uint64)op2->i;
+*value2 = (uint64)op2->__anon1.i;
else if(op2->kind == 3)
-*value2 = (uint64)op2->ui;
+*value2 = (uint64)op2->__anon1.ui;
else if(op2->kind == 4 && op2->type->isSigned)
-*value2 = (uint64)op2->i64;
+*value2 = (uint64)op2->__anon1.i64;
else if(op2->kind == 4)
-*value2 = op2->ui64;
+*value2 = op2->__anon1.ui64;
else if(op2->kind == 23 && op2->type->isSigned)
-*value2 = (uint64)op2->i64;
+*value2 = (uint64)op2->__anon1.i64;
else if(op2->kind == 23)
-*value2 = op2->ui64;
+*value2 = op2->__anon1.ui64;
else if(op2->kind == 22 && op2->type->isSigned)
-*value2 = (uint64)op2->i64;
+*value2 = (uint64)op2->__anon1.i64;
else if(op2->kind == 22)
-*value2 = op2->ui64;
+*value2 = op2->__anon1.ui64;
else if(op2->kind == 2 && op2->type->isSigned)
-*value2 = (uint64)op2->s;
+*value2 = (uint64)op2->__anon1.s;
else if(op2->kind == 2)
-*value2 = (uint64)op2->us;
+*value2 = (uint64)op2->__anon1.us;
else if(op2->kind == 1 && op2->type->isSigned)
-*value2 = (uint64)op2->c;
+*value2 = (uint64)op2->__anon1.c;
else if(op2->kind == 24 || op2->kind == 1)
-*value2 = (uint64)op2->uc;
+*value2 = (uint64)op2->__anon1.uc;
else if(op2->kind == 6)
-*value2 = (uint64)op2->f;
+*value2 = (uint64)op2->__anon1.f;
else if(op2->kind == 7)
-*value2 = (uint64)op2->d;
+*value2 = (uint64)op2->__anon1.d;
else if(op2->kind == 13)
-*value2 = op2->ui64;
+*value2 = op2->__anon1.ui64;
else
-return 0x0;
-return 0x1;
+return 0;
+return 1;
}
unsigned int GetUInt64(struct Expression * exp, uint64 * value2)
unsigned int GetOpIntPtr(struct Operand * op2, intptr_t * value2)
{
if(op2->kind == 3 && op2->type->isSigned)
-*value2 = (intptr_t)op2->i;
+*value2 = (intptr_t)op2->__anon1.i;
else if(op2->kind == 3)
-*value2 = (intptr_t)op2->ui;
+*value2 = (intptr_t)op2->__anon1.ui;
else if(op2->kind == 4 && op2->type->isSigned)
-*value2 = (intptr_t)op2->i64;
+*value2 = (intptr_t)op2->__anon1.i64;
else if(op2->kind == 4)
-*value2 = (intptr_t)op2->ui64;
+*value2 = (intptr_t)op2->__anon1.ui64;
else if(op2->kind == 23 && op2->type->isSigned)
-*value2 = (intptr_t)op2->i64;
+*value2 = (intptr_t)op2->__anon1.i64;
else if(op2->kind == 23)
-*value2 = (intptr_t)op2->ui64;
+*value2 = (intptr_t)op2->__anon1.ui64;
else if(op2->kind == 22 && op2->type->isSigned)
-*value2 = (intptr_t)op2->i64;
+*value2 = (intptr_t)op2->__anon1.i64;
else if(op2->kind == 22)
-*value2 = (intptr_t)op2->ui64;
+*value2 = (intptr_t)op2->__anon1.ui64;
else if(op2->kind == 2 && op2->type->isSigned)
-*value2 = (intptr_t)op2->s;
+*value2 = (intptr_t)op2->__anon1.s;
else if(op2->kind == 2)
-*value2 = (intptr_t)op2->us;
+*value2 = (intptr_t)op2->__anon1.us;
else if(op2->kind == 1 && op2->type->isSigned)
-*value2 = (intptr_t)op2->c;
+*value2 = (intptr_t)op2->__anon1.c;
else if(op2->kind == 24 || op2->kind == 1)
-*value2 = (intptr_t)op2->uc;
+*value2 = (intptr_t)op2->__anon1.uc;
else if(op2->kind == 6)
-*value2 = (intptr_t)op2->f;
+*value2 = (intptr_t)op2->__anon1.f;
else if(op2->kind == 7)
-*value2 = (intptr_t)op2->d;
+*value2 = (intptr_t)op2->__anon1.d;
else if(op2->kind == 13)
-*value2 = (intptr_t)op2->ui64;
+*value2 = (intptr_t)op2->__anon1.ui64;
else
-return 0x0;
-return 0x1;
+return 0;
+return 1;
}
unsigned int GetIntPtr(struct Expression * exp, intptr_t * value2)
unsigned int GetOpUIntPtr(struct Operand * op2, uintptr_t * value2)
{
if(op2->kind == 3 && op2->type->isSigned)
-*value2 = (uintptr_t)op2->i;
+*value2 = (uintptr_t)op2->__anon1.i;
else if(op2->kind == 3)
-*value2 = (uintptr_t)op2->ui;
+*value2 = (uintptr_t)op2->__anon1.ui;
else if(op2->kind == 4 && op2->type->isSigned)
-*value2 = (uintptr_t)op2->i64;
+*value2 = (uintptr_t)op2->__anon1.i64;
else if(op2->kind == 4)
-*value2 = (uintptr_t)op2->ui64;
+*value2 = (uintptr_t)op2->__anon1.ui64;
else if(op2->kind == 23 && op2->type->isSigned)
-*value2 = (uintptr_t)op2->i64;
+*value2 = (uintptr_t)op2->__anon1.i64;
else if(op2->kind == 23)
-*value2 = (uintptr_t)op2->ui64;
+*value2 = (uintptr_t)op2->__anon1.ui64;
else if(op2->kind == 22 && op2->type->isSigned)
-*value2 = (uintptr_t)op2->i64;
+*value2 = (uintptr_t)op2->__anon1.i64;
else if(op2->kind == 22)
-*value2 = (uintptr_t)op2->ui64;
+*value2 = (uintptr_t)op2->__anon1.ui64;
else if(op2->kind == 2 && op2->type->isSigned)
-*value2 = (uintptr_t)op2->s;
+*value2 = (uintptr_t)op2->__anon1.s;
else if(op2->kind == 2)
-*value2 = (uintptr_t)op2->us;
+*value2 = (uintptr_t)op2->__anon1.us;
else if(op2->kind == 1 && op2->type->isSigned)
-*value2 = (uintptr_t)op2->c;
+*value2 = (uintptr_t)op2->__anon1.c;
else if(op2->kind == 24 || op2->kind == 1)
-*value2 = (uintptr_t)op2->uc;
+*value2 = (uintptr_t)op2->__anon1.uc;
else if(op2->kind == 6)
-*value2 = (uintptr_t)op2->f;
+*value2 = (uintptr_t)op2->__anon1.f;
else if(op2->kind == 7)
-*value2 = (uintptr_t)op2->d;
+*value2 = (uintptr_t)op2->__anon1.d;
else if(op2->kind == 13)
-*value2 = (uintptr_t)op2->ui64;
+*value2 = (uintptr_t)op2->__anon1.ui64;
else
-return 0x0;
-return 0x1;
+return 0;
+return 1;
}
unsigned int GetUIntPtr(struct Expression * exp, uintptr_t * value2)
unsigned int GetOpIntSize(struct Operand * op2, ssize_t * value2)
{
if(op2->kind == 3 && op2->type->isSigned)
-*value2 = (ssize_t)op2->i;
+*value2 = (ssize_t)op2->__anon1.i;
else if(op2->kind == 3)
-*value2 = (ssize_t)op2->ui;
+*value2 = (ssize_t)op2->__anon1.ui;
else if(op2->kind == 4 && op2->type->isSigned)
-*value2 = (ssize_t)op2->i64;
+*value2 = (ssize_t)op2->__anon1.i64;
else if(op2->kind == 4)
-*value2 = (ssize_t)op2->ui64;
+*value2 = (ssize_t)op2->__anon1.ui64;
else if(op2->kind == 23 && op2->type->isSigned)
-*value2 = (ssize_t)op2->i64;
+*value2 = (ssize_t)op2->__anon1.i64;
else if(op2->kind == 23)
-*value2 = (ssize_t)op2->ui64;
+*value2 = (ssize_t)op2->__anon1.ui64;
else if(op2->kind == 22 && op2->type->isSigned)
-*value2 = (ssize_t)op2->i64;
+*value2 = (ssize_t)op2->__anon1.i64;
else if(op2->kind == 22)
-*value2 = (ssize_t)op2->ui64;
+*value2 = (ssize_t)op2->__anon1.ui64;
else if(op2->kind == 2 && op2->type->isSigned)
-*value2 = (ssize_t)op2->s;
+*value2 = (ssize_t)op2->__anon1.s;
else if(op2->kind == 2)
-*value2 = (ssize_t)op2->us;
+*value2 = (ssize_t)op2->__anon1.us;
else if(op2->kind == 1 && op2->type->isSigned)
-*value2 = (ssize_t)op2->c;
+*value2 = (ssize_t)op2->__anon1.c;
else if(op2->kind == 24 || op2->kind == 1)
-*value2 = (ssize_t)op2->uc;
+*value2 = (ssize_t)op2->__anon1.uc;
else if(op2->kind == 6)
-*value2 = (ssize_t)op2->f;
+*value2 = (ssize_t)op2->__anon1.f;
else if(op2->kind == 7)
-*value2 = (ssize_t)op2->d;
+*value2 = (ssize_t)op2->__anon1.d;
else if(op2->kind == 13)
-*value2 = (ssize_t)op2->ui64;
+*value2 = (ssize_t)op2->__anon1.ui64;
else
-return 0x0;
-return 0x1;
+return 0;
+return 1;
}
unsigned int GetIntSize(struct Expression * exp, ssize_t * value2)
unsigned int GetOpUIntSize(struct Operand * op2, size_t * value2)
{
if(op2->kind == 3 && op2->type->isSigned)
-*value2 = (size_t)op2->i;
+*value2 = (size_t)op2->__anon1.i;
else if(op2->kind == 3)
-*value2 = (size_t)op2->ui;
+*value2 = (size_t)op2->__anon1.ui;
else if(op2->kind == 4 && op2->type->isSigned)
-*value2 = (size_t)op2->i64;
+*value2 = (size_t)op2->__anon1.i64;
else if(op2->kind == 4)
-*value2 = (size_t)op2->ui64;
+*value2 = (size_t)op2->__anon1.ui64;
else if(op2->kind == 23 && op2->type->isSigned)
-*value2 = (size_t)op2->i64;
+*value2 = (size_t)op2->__anon1.i64;
else if(op2->kind == 23)
-*value2 = (size_t)op2->ui64;
+*value2 = (size_t)op2->__anon1.ui64;
else if(op2->kind == 22 && op2->type->isSigned)
-*value2 = (size_t)op2->i64;
+*value2 = (size_t)op2->__anon1.i64;
else if(op2->kind == 22)
-*value2 = (size_t)op2->ui64;
+*value2 = (size_t)op2->__anon1.ui64;
else if(op2->kind == 2 && op2->type->isSigned)
-*value2 = (size_t)op2->s;
+*value2 = (size_t)op2->__anon1.s;
else if(op2->kind == 2)
-*value2 = (size_t)op2->us;
+*value2 = (size_t)op2->__anon1.us;
else if(op2->kind == 1 && op2->type->isSigned)
-*value2 = (size_t)op2->c;
+*value2 = (size_t)op2->__anon1.c;
else if(op2->kind == 24 || op2->kind == 1)
-*value2 = (size_t)op2->uc;
+*value2 = (size_t)op2->__anon1.uc;
else if(op2->kind == 6)
-*value2 = (size_t)op2->f;
+*value2 = (size_t)op2->__anon1.f;
else if(op2->kind == 7)
-*value2 = (size_t)op2->d;
+*value2 = (size_t)op2->__anon1.d;
else if(op2->kind == 13)
-*value2 = (size_t)op2->ui64;
+*value2 = (size_t)op2->__anon1.ui64;
else
-return 0x0;
-return 0x1;
+return 0;
+return 1;
}
unsigned int GetUIntSize(struct Expression * exp, size_t * value2)
unsigned int GetOpShort(struct Operand * op2, short * value2)
{
if(op2->kind == 3 && op2->type->isSigned)
-*value2 = (short)op2->i;
+*value2 = (short)op2->__anon1.i;
else if(op2->kind == 3)
-*value2 = (short)op2->ui;
+*value2 = (short)op2->__anon1.ui;
else if(op2->kind == 4 && op2->type->isSigned)
-*value2 = (short)op2->i64;
+*value2 = (short)op2->__anon1.i64;
else if(op2->kind == 4)
-*value2 = (short)op2->ui64;
+*value2 = (short)op2->__anon1.ui64;
else if(op2->kind == 23 && op2->type->isSigned)
-*value2 = (short)op2->i64;
+*value2 = (short)op2->__anon1.i64;
else if(op2->kind == 23)
-*value2 = (short)op2->ui64;
+*value2 = (short)op2->__anon1.ui64;
else if(op2->kind == 22 && op2->type->isSigned)
-*value2 = (short)op2->i64;
+*value2 = (short)op2->__anon1.i64;
else if(op2->kind == 22)
-*value2 = (short)op2->ui64;
+*value2 = (short)op2->__anon1.ui64;
else if(op2->kind == 2 && op2->type->isSigned)
-*value2 = op2->s;
+*value2 = op2->__anon1.s;
else if(op2->kind == 2)
-*value2 = (short)op2->us;
+*value2 = (short)op2->__anon1.us;
else if(op2->kind == 1 && op2->type->isSigned)
-*value2 = (short)op2->c;
+*value2 = (short)op2->__anon1.c;
else if(op2->kind == 24 || op2->kind == 1)
-*value2 = (short)op2->uc;
+*value2 = (short)op2->__anon1.uc;
else if(op2->kind == 6)
-*value2 = (short)op2->f;
+*value2 = (short)op2->__anon1.f;
else if(op2->kind == 7)
-*value2 = (short)op2->d;
+*value2 = (short)op2->__anon1.d;
else if(op2->kind == 13)
-*value2 = (short)op2->ui64;
+*value2 = (short)op2->__anon1.ui64;
else
-return 0x0;
-return 0x1;
+return 0;
+return 1;
}
unsigned int GetShort(struct Expression * exp, short * value2)
unsigned int GetOpUShort(struct Operand * op2, unsigned short * value2)
{
if(op2->kind == 3 && op2->type->isSigned)
-*value2 = (unsigned short)op2->i;
+*value2 = (unsigned short)op2->__anon1.i;
else if(op2->kind == 3)
-*value2 = (unsigned short)op2->ui;
+*value2 = (unsigned short)op2->__anon1.ui;
else if(op2->kind == 4 && op2->type->isSigned)
-*value2 = (unsigned short)op2->i64;
+*value2 = (unsigned short)op2->__anon1.i64;
else if(op2->kind == 4)
-*value2 = (unsigned short)op2->ui64;
+*value2 = (unsigned short)op2->__anon1.ui64;
else if(op2->kind == 23 && op2->type->isSigned)
-*value2 = (unsigned short)op2->i64;
+*value2 = (unsigned short)op2->__anon1.i64;
else if(op2->kind == 23)
-*value2 = (unsigned short)op2->ui64;
+*value2 = (unsigned short)op2->__anon1.ui64;
else if(op2->kind == 22 && op2->type->isSigned)
-*value2 = (unsigned short)op2->i64;
+*value2 = (unsigned short)op2->__anon1.i64;
else if(op2->kind == 22)
-*value2 = (unsigned short)op2->ui64;
+*value2 = (unsigned short)op2->__anon1.ui64;
else if(op2->kind == 2 && op2->type->isSigned)
-*value2 = (unsigned short)op2->s;
+*value2 = (unsigned short)op2->__anon1.s;
else if(op2->kind == 2)
-*value2 = op2->us;
+*value2 = op2->__anon1.us;
else if(op2->kind == 1 && op2->type->isSigned)
-*value2 = (unsigned short)op2->c;
+*value2 = (unsigned short)op2->__anon1.c;
else if(op2->kind == 24 || op2->kind == 1)
-*value2 = (unsigned short)op2->uc;
+*value2 = (unsigned short)op2->__anon1.uc;
else if(op2->kind == 6)
-*value2 = (unsigned short)op2->f;
+*value2 = (unsigned short)op2->__anon1.f;
else if(op2->kind == 7)
-*value2 = (unsigned short)op2->d;
+*value2 = (unsigned short)op2->__anon1.d;
else if(op2->kind == 13)
-*value2 = (unsigned short)op2->ui64;
+*value2 = (unsigned short)op2->__anon1.ui64;
else
-return 0x0;
-return 0x1;
+return 0;
+return 1;
}
unsigned int GetUShort(struct Expression * exp, unsigned short * value2)
unsigned int GetOpChar(struct Operand * op2, char * value2)
{
if(op2->kind == 3 && op2->type->isSigned)
-*value2 = (char)op2->i;
+*value2 = (char)op2->__anon1.i;
else if(op2->kind == 3)
-*value2 = (char)op2->ui;
+*value2 = (char)op2->__anon1.ui;
else if(op2->kind == 4 && op2->type->isSigned)
-*value2 = (char)op2->i64;
+*value2 = (char)op2->__anon1.i64;
else if(op2->kind == 4)
-*value2 = (char)op2->ui64;
+*value2 = (char)op2->__anon1.ui64;
else if(op2->kind == 23 && op2->type->isSigned)
-*value2 = (char)op2->i64;
+*value2 = (char)op2->__anon1.i64;
else if(op2->kind == 23)
-*value2 = (char)op2->ui64;
+*value2 = (char)op2->__anon1.ui64;
else if(op2->kind == 22 && op2->type->isSigned)
-*value2 = (char)op2->i64;
+*value2 = (char)op2->__anon1.i64;
else if(op2->kind == 22)
-*value2 = (char)op2->ui64;
+*value2 = (char)op2->__anon1.ui64;
else if(op2->kind == 2 && op2->type->isSigned)
-*value2 = (char)op2->s;
+*value2 = (char)op2->__anon1.s;
else if(op2->kind == 2)
-*value2 = (char)op2->us;
+*value2 = (char)op2->__anon1.us;
else if(op2->kind == 1 && op2->type->isSigned)
-*value2 = op2->c;
+*value2 = op2->__anon1.c;
else if(op2->kind == 24 || op2->kind == 1)
-*value2 = (char)op2->uc;
+*value2 = (char)op2->__anon1.uc;
else if(op2->kind == 6)
-*value2 = (char)op2->f;
+*value2 = (char)op2->__anon1.f;
else if(op2->kind == 7)
-*value2 = (char)op2->d;
+*value2 = (char)op2->__anon1.d;
else if(op2->kind == 13)
-*value2 = (char)op2->ui64;
+*value2 = (char)op2->__anon1.ui64;
else
-return 0x0;
-return 0x1;
+return 0;
+return 1;
}
unsigned int GetChar(struct Expression * exp, char * value2)
unsigned int GetOpUChar(struct Operand * op2, unsigned char * value2)
{
if(op2->kind == 3 && op2->type->isSigned)
-*value2 = (unsigned char)op2->i;
+*value2 = (unsigned char)op2->__anon1.i;
else if(op2->kind == 3)
-*value2 = (unsigned char)op2->ui;
+*value2 = (unsigned char)op2->__anon1.ui;
else if(op2->kind == 4 && op2->type->isSigned)
-*value2 = (unsigned char)op2->i64;
+*value2 = (unsigned char)op2->__anon1.i64;
else if(op2->kind == 4)
-*value2 = (unsigned char)op2->ui64;
+*value2 = (unsigned char)op2->__anon1.ui64;
else if(op2->kind == 23 && op2->type->isSigned)
-*value2 = (unsigned char)op2->i64;
+*value2 = (unsigned char)op2->__anon1.i64;
else if(op2->kind == 23)
-*value2 = (unsigned char)op2->ui64;
+*value2 = (unsigned char)op2->__anon1.ui64;
else if(op2->kind == 22 && op2->type->isSigned)
-*value2 = (unsigned char)op2->i64;
+*value2 = (unsigned char)op2->__anon1.i64;
else if(op2->kind == 22)
-*value2 = (unsigned char)op2->ui64;
+*value2 = (unsigned char)op2->__anon1.ui64;
else if(op2->kind == 2 && op2->type->isSigned)
-*value2 = (unsigned char)op2->s;
+*value2 = (unsigned char)op2->__anon1.s;
else if(op2->kind == 2)
-*value2 = (unsigned char)op2->us;
+*value2 = (unsigned char)op2->__anon1.us;
else if(op2->kind == 1 && op2->type->isSigned)
-*value2 = (unsigned char)op2->c;
+*value2 = (unsigned char)op2->__anon1.c;
else if(op2->kind == 24 || op2->kind == 1)
-*value2 = op2->uc;
+*value2 = op2->__anon1.uc;
else if(op2->kind == 6)
-*value2 = (unsigned char)op2->f;
+*value2 = (unsigned char)op2->__anon1.f;
else if(op2->kind == 7)
-*value2 = (unsigned char)op2->d;
+*value2 = (unsigned char)op2->__anon1.d;
else if(op2->kind == 13)
-*value2 = (unsigned char)op2->ui64;
+*value2 = (unsigned char)op2->__anon1.ui64;
else
-return 0x0;
-return 0x1;
+return 0;
+return 1;
}
unsigned int GetUChar(struct Expression * exp, unsigned char * value2)
unsigned int GetOpFloat(struct Operand * op2, float * value2)
{
if(op2->kind == 3 && op2->type->isSigned)
-*value2 = (float)(float)op2->i;
+*value2 = (float)(float)op2->__anon1.i;
else if(op2->kind == 3)
-*value2 = (float)(float)op2->ui;
+*value2 = (float)(float)op2->__anon1.ui;
else if(op2->kind == 4 && op2->type->isSigned)
-*value2 = (float)(float)op2->i64;
+*value2 = (float)(float)op2->__anon1.i64;
else if(op2->kind == 4)
-*value2 = (float)(float)op2->ui64;
+*value2 = (float)(float)op2->__anon1.ui64;
else if(op2->kind == 23 && op2->type->isSigned)
-*value2 = (float)(float)op2->i64;
+*value2 = (float)(float)op2->__anon1.i64;
else if(op2->kind == 23)
-*value2 = (float)(float)op2->ui64;
+*value2 = (float)(float)op2->__anon1.ui64;
else if(op2->kind == 22 && op2->type->isSigned)
-*value2 = (float)(float)op2->i64;
+*value2 = (float)(float)op2->__anon1.i64;
else if(op2->kind == 22)
-*value2 = (float)(float)op2->ui64;
+*value2 = (float)(float)op2->__anon1.ui64;
else if(op2->kind == 2 && op2->type->isSigned)
-*value2 = (float)(float)op2->s;
+*value2 = (float)(float)op2->__anon1.s;
else if(op2->kind == 2)
-*value2 = (float)(float)op2->us;
+*value2 = (float)(float)op2->__anon1.us;
else if(op2->kind == 1 && op2->type->isSigned)
-*value2 = (float)(float)op2->c;
+*value2 = (float)(float)op2->__anon1.c;
else if(op2->kind == 24 || op2->kind == 1)
-*value2 = (float)(float)op2->uc;
+*value2 = (float)(float)op2->__anon1.uc;
else if(op2->kind == 6)
-*value2 = (float)op2->f;
+*value2 = (float)op2->__anon1.f;
else if(op2->kind == 7)
-*value2 = (float)op2->d;
+*value2 = (float)op2->__anon1.d;
else if(op2->kind == 13)
-*value2 = (float)(float)op2->ui64;
+*value2 = (float)(float)op2->__anon1.ui64;
else
-return 0x0;
-return 0x1;
+return 0;
+return 1;
}
unsigned int GetFloat(struct Expression * exp, float * value2)
unsigned int GetOpDouble(struct Operand * op2, double * value2)
{
if(op2->kind == 3 && op2->type->isSigned)
-*value2 = (double)(double)op2->i;
+*value2 = (double)(double)op2->__anon1.i;
else if(op2->kind == 3)
-*value2 = (double)(double)op2->ui;
+*value2 = (double)(double)op2->__anon1.ui;
else if(op2->kind == 4 && op2->type->isSigned)
-*value2 = (double)(double)op2->i64;
+*value2 = (double)(double)op2->__anon1.i64;
else if(op2->kind == 4)
-*value2 = (double)(double)op2->ui64;
+*value2 = (double)(double)op2->__anon1.ui64;
else if(op2->kind == 23 && op2->type->isSigned)
-*value2 = (double)(double)op2->i64;
+*value2 = (double)(double)op2->__anon1.i64;
else if(op2->kind == 23)
-*value2 = (double)(double)op2->ui64;
+*value2 = (double)(double)op2->__anon1.ui64;
else if(op2->kind == 22 && op2->type->isSigned)
-*value2 = (double)(double)op2->i64;
+*value2 = (double)(double)op2->__anon1.i64;
else if(op2->kind == 22)
-*value2 = (double)(double)op2->ui64;
+*value2 = (double)(double)op2->__anon1.ui64;
else if(op2->kind == 2 && op2->type->isSigned)
-*value2 = (double)(double)op2->s;
+*value2 = (double)(double)op2->__anon1.s;
else if(op2->kind == 2)
-*value2 = (double)(double)op2->us;
+*value2 = (double)(double)op2->__anon1.us;
else if(op2->kind == 1 && op2->type->isSigned)
-*value2 = (double)(double)op2->c;
+*value2 = (double)(double)op2->__anon1.c;
else if(op2->kind == 24 || op2->kind == 1)
-*value2 = (double)(double)op2->uc;
+*value2 = (double)(double)op2->__anon1.uc;
else if(op2->kind == 6)
-*value2 = (double)op2->f;
+*value2 = (double)op2->__anon1.f;
else if(op2->kind == 7)
-*value2 = (double)op2->d;
+*value2 = (double)op2->__anon1.d;
else if(op2->kind == 13)
-*value2 = (double)(double)op2->ui64;
+*value2 = (double)(double)op2->__anon1.ui64;
else
-return 0x0;
-return 0x1;
+return 0;
+return 1;
}
unsigned int GetDouble(struct Expression * exp, double * value2)
{
struct __ecereNameSpace__ecere__com__BitMember * prev;
struct __ecereNameSpace__ecere__com__BitMember * next;
-char * name;
+const char * name;
unsigned int isProperty;
int memberAccess;
int id;
struct __ecereNameSpace__ecere__com__Class * _class;
-char * dataTypeString;
+const char * dataTypeString;
struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
struct Type * dataType;
int type;
if(member || ((_class->type == 2 || _class->type == 0 || _class->type == 1 || _class->type == 5) && (_class->type == 2 || (!_class->structSize || _class->structSize == _class->offset)) && _class->computeSize))
{
-int c;
int unionMemberOffset = 0;
int bitFields = 0;
{
if(dataMember->type == 0 && dataMember->dataTypeString && !dataMember->dataType)
{
-dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0x0);
+dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0);
}
}
}
int size;
int alignment = 0;
-if(dataMember->dataType->kind != 8 || ((!dataMember->dataType->_class || !dataMember->dataType->_class->registered || dataMember->dataType->_class->registered != _class || _class->type != 1)))
+if(dataMember->dataType->kind != 8 || ((!dataMember->dataType->__anon1._class || !dataMember->dataType->__anon1._class->__anon1.registered || dataMember->dataType->__anon1._class->__anon1.registered != _class || _class->type != 1)))
ComputeTypeSize(dataMember->dataType);
if(dataMember->dataType->bitFieldCount)
{
{
int alignment;
-ComputeClassMembers((struct __ecereNameSpace__ecere__com__Class *)dataMember, 0x1);
+ComputeClassMembers((struct __ecereNameSpace__ecere__com__Class *)dataMember, 1);
alignment = dataMember->structAlignment;
if(isMember)
{
deriv->offset = _class->structSize;
deriv->memberOffset = 0;
deriv->structSize = deriv->offset;
-ComputeClassMembers(deriv, 0x0);
+ComputeClassMembers(deriv, 0);
}
}
}
struct __ecereNameSpace__ecere__com__NameSpace
{
-char * name;
+const char * name;
struct __ecereNameSpace__ecere__com__NameSpace * btParent;
struct __ecereNameSpace__ecere__com__NameSpace * left;
struct __ecereNameSpace__ecere__com__NameSpace * right;
struct __ecereNameSpace__ecere__sys__OldList modules;
struct __ecereNameSpace__ecere__com__Instance * prev;
struct __ecereNameSpace__ecere__com__Instance * next;
-char * name;
+const char * name;
void * library;
void * Unload;
int importType;
for(subModule = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->modules.first; subModule; subModule = subModule->next)
ComputeModuleClasses(subModule->data);
for(_class = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->classes.first; _class; _class = _class->next)
-ComputeClassMembers(_class, 0x0);
+ComputeClassMembers(_class, 0);
}
extern unsigned int inCompiler;
-extern void Compiler_Error(char * format, ...);
+extern void Compiler_Error(const char * format, ...);
-extern char * __ecereNameSpace__ecere__GetTranslatedString(char * name, char * string, char * stringAndContext);
+extern const char * __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char * string, const char * stringAndContext);
int ComputeTypeSize(struct Type * type)
{
if(!size && type && !type->computing)
{
-type->computing = 0x1;
+type->computing = 1;
switch(type->kind)
{
case 24:
break;
case 8:
{
-struct __ecereNameSpace__ecere__com__Class * _class = type->_class ? type->_class->registered : (((void *)0));
+struct __ecereNameSpace__ecere__com__Class * _class = type->__anon1._class ? type->__anon1._class->__anon1.registered : (((void *)0));
if(_class && _class->type == 1)
{
-ComputeClassMembers(_class, 0x0);
+ComputeClassMembers(_class, 0);
type->alignment = _class->structAlignment;
size = _class->structSize;
if(type->alignment && size % type->alignment)
else if(_class && (_class->type == 3 || _class->type == 4 || _class->type == 2))
{
if(!_class->dataType)
-_class->dataType = ProcessTypeString(_class->dataTypeString, 0x0);
+_class->dataType = ProcessTypeString(_class->dataTypeString, 0);
size = type->alignment = ComputeTypeSize(_class->dataType);
}
else
size = type->alignment = targetBits / 8;
break;
case 12:
-if(type->arraySizeExp)
+if(type->__anon1.__anon4.arraySizeExp)
{
-ProcessExpressionType(type->arraySizeExp);
-ComputeExpression(type->arraySizeExp);
-if(!type->arraySizeExp->isConstant || (type->arraySizeExp->expType->kind != 3 && type->arraySizeExp->expType->kind != 15 && (type->arraySizeExp->expType->kind != 8 || !type->arraySizeExp->expType->_class->registered || type->arraySizeExp->expType->_class->registered->type != 4)))
+ProcessExpressionType(type->__anon1.__anon4.arraySizeExp);
+ComputeExpression(type->__anon1.__anon4.arraySizeExp);
+if(!type->__anon1.__anon4.arraySizeExp->isConstant || (type->__anon1.__anon4.arraySizeExp->expType->kind != 3 && type->__anon1.__anon4.arraySizeExp->expType->kind != 2 && type->__anon1.__anon4.arraySizeExp->expType->kind != 1 && type->__anon1.__anon4.arraySizeExp->expType->kind != 5 && type->__anon1.__anon4.arraySizeExp->expType->kind != 4 && type->__anon1.__anon4.arraySizeExp->expType->kind != 23 && type->__anon1.__anon4.arraySizeExp->expType->kind != 22 && type->__anon1.__anon4.arraySizeExp->expType->kind != 15 && (type->__anon1.__anon4.arraySizeExp->expType->kind != 8 || !type->__anon1.__anon4.arraySizeExp->expType->__anon1._class->__anon1.registered || type->__anon1.__anon4.arraySizeExp->expType->__anon1._class->__anon1.registered->type != 4)))
{
struct Location oldLoc = yylloc;
char expression[10240];
expression[0] = '\0';
-type->arraySizeExp->expType = (((void *)0));
-yylloc = type->arraySizeExp->loc;
+type->__anon1.__anon4.arraySizeExp->expType = (((void *)0));
+yylloc = type->__anon1.__anon4.arraySizeExp->loc;
if(inCompiler)
-PrintExpression(type->arraySizeExp, expression);
+PrintExpression(type->__anon1.__anon4.arraySizeExp, expression);
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "Array size not constant int (%s)\n", (((void *)0))), expression);
yylloc = oldLoc;
}
-GetInt(type->arraySizeExp, &type->arraySize);
+GetInt(type->__anon1.__anon4.arraySizeExp, &type->__anon1.__anon4.arraySize);
}
-else if(type->enumClass)
+else if(type->__anon1.__anon4.enumClass)
{
-if(type->enumClass && type->enumClass->registered && type->enumClass->registered->type == 4)
+if(type->__anon1.__anon4.enumClass && type->__anon1.__anon4.enumClass->__anon1.registered && type->__anon1.__anon4.enumClass->__anon1.registered->type == 4)
{
-type->arraySize = (int)__ecereNameSpace__ecere__com__eClass_GetProperty(type->enumClass->registered, "enumSize");
+type->__anon1.__anon4.arraySize = (int)__ecereNameSpace__ecere__com__eClass_GetProperty(type->__anon1.__anon4.enumClass->__anon1.registered, "enumSize");
}
else
-type->arraySize = 0;
+type->__anon1.__anon4.arraySize = 0;
}
else
{
-type->arraySize = 0;
+type->__anon1.__anon4.arraySize = 0;
}
-size = ComputeTypeSize(type->type) * type->arraySize;
-if(type->type)
-type->alignment = type->type->alignment;
+size = ComputeTypeSize(type->__anon1.type) * type->__anon1.__anon4.arraySize;
+if(type->__anon1.type)
+type->alignment = type->__anon1.type->alignment;
break;
case 9:
{
struct Type * member;
-for(member = type->members.first; member; member = member->next)
+for(member = type->__anon1.__anon1.members.first; member; member = member->next)
{
int __simpleStruct0, __simpleStruct1;
unsigned int addSize = ComputeTypeSize(member);
{
struct Type * member;
-for(member = type->members.first; member; member = member->next)
+for(member = type->__anon1.__anon1.members.first; member; member = member->next)
{
int __simpleStruct0, __simpleStruct1;
unsigned int addSize = ComputeTypeSize(member);
}
case 20:
{
-struct TemplateParameter * param = type->templateParameter;
+struct TemplateParameter * param = type->__anon1.templateParameter;
struct Type * baseType = ProcessTemplateParameterType(param);
if(baseType)
}
}
type->size = size;
-type->computing = 0x0;
+type->computing = 0;
}
return size;
}
extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
-extern struct Identifier * MkIdentifier(char * string);
+extern struct Identifier * MkIdentifier(const char * string);
extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void * item);
extern struct Declarator * MkDeclaratorArray(struct Declarator * declarator, struct Expression * exp);
-extern struct Expression * MkExpConstant(char * string);
+extern struct Expression * MkExpConstant(const char * string);
int AddMembers(struct __ecereNameSpace__ecere__sys__OldList * declarations, struct __ecereNameSpace__ecere__com__Class * _class, unsigned int isMember, unsigned int * retSize, struct __ecereNameSpace__ecere__com__Class * topClass, unsigned int * addedPadding)
{
struct __ecereNameSpace__ecere__com__DataMember * topMember = isMember ? (struct __ecereNameSpace__ecere__com__DataMember *)_class : (((void *)0));
unsigned int totalSize = 0;
unsigned int maxSize = 0;
-int alignment, size;
+int alignment;
+unsigned int size;
struct __ecereNameSpace__ecere__com__DataMember * member;
+int anonID = 1;
struct Context * context = isMember ? (((void *)0)) : SetupTemplatesContext(_class);
if(addedPadding)
-*addedPadding = 0x0;
+*addedPadding = 0;
if(!isMember && _class->base)
{
maxSize = _class->structSize;
{
if(_class->type == 1 || _class->type == 5)
-AddMembers(declarations, _class->base, 0x0, &totalSize, topClass, (((void *)0)));
+AddMembers(declarations, _class->base, 0, &totalSize, topClass, (((void *)0)));
else
{
unsigned int baseSize = _class->base->templateClass ? _class->base->templateClass->structSize : _class->base->structSize;
{
struct Type * type = ProcessType(specs, decl);
-DeclareType(member->dataType, 0x0, 0x0);
+DeclareType(member->dataType, 0, 0);
FreeType(type);
}
ComputeTypeSize(member->dataType);
case 2:
{
struct __ecereNameSpace__ecere__sys__OldList * specs = MkList(), * list = MkList();
+char id[100];
+sprintf(id, "__anon%d", anonID++);
size = 0;
-AddMembers(list, (struct __ecereNameSpace__ecere__com__Class *)member, 0x1, &size, topClass, (((void *)0)));
+AddMembers(list, (struct __ecereNameSpace__ecere__com__Class *)member, 1, &size, topClass, (((void *)0)));
ListAdd(specs, MkStructOrUnion((member->type == 1) ? 4 : 3, (((void *)0)), list));
-ListAdd(declarations, MkClassDefDeclaration(MkStructDeclaration(specs, (((void *)0)), (((void *)0)))));
+ListAdd(declarations, MkClassDefDeclaration(MkStructDeclaration(specs, MkListOne(MkDeclaratorIdentifier(MkIdentifier(id))), (((void *)0)))));
alignment = member->structAlignment;
if(alignment)
{
sprintf(sizeString, "%d", maxSize - totalSize);
ListAdd(declarations, MkClassDefDeclaration(MkStructDeclaration(MkListOne(MkSpecifier(CHAR)), MkListOne(MkDeclaratorArray(MkDeclaratorIdentifier(MkIdentifier("__ecere_padding")), MkExpConstant(sizeString))), (((void *)0)))));
if(addedPadding)
-*addedPadding = 0x1;
+*addedPadding = 1;
}
}
if(context)
static int DeclareMembers(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int isMember)
{
struct __ecereNameSpace__ecere__com__DataMember * topMember = isMember ? (struct __ecereNameSpace__ecere__com__DataMember *)_class : (((void *)0));
-unsigned int totalSize = 0;
struct __ecereNameSpace__ecere__com__DataMember * member;
struct Context * context = isMember ? (((void *)0)) : SetupTemplatesContext(_class);
if(!isMember && (_class->type == 1 || _class->type == 5) && _class->base->type != 1000)
-DeclareMembers(_class->base, 0x0);
+DeclareMembers(_class->base, 0);
for(member = isMember ? topMember->members.first : _class->membersAndProperties.first; member; member = member->next)
{
if(!member->isProperty)
case 0:
{
if(!member->dataType && member->dataTypeString)
-member->dataType = ProcessTypeString(member->dataTypeString, 0x0);
+member->dataType = ProcessTypeString(member->dataTypeString, 0);
if(member->dataType)
-DeclareType(member->dataType, 0x0, 0x0);
+DeclareType(member->dataType, 0, 0);
break;
}
case 1:
case 2:
{
-DeclareMembers((struct __ecereNameSpace__ecere__com__Class *)member, 0x1);
+DeclareMembers((struct __ecereNameSpace__ecere__com__Class *)member, 1);
break;
}
}
return topMember ? topMember->memberID : _class->memberID;
}
-extern struct Symbol * FindClass(char * name);
+extern struct Identifier * GetDeclId(struct Declarator * decl);
+
+static void IdentifyAnonStructs(struct __ecereNameSpace__ecere__sys__OldList * definitions)
+{
+struct ClassDef * def;
+int anonID = 1;
+
+for(def = (*definitions).first; def; def = def->next)
+{
+if(def->type == 2)
+{
+struct Declaration * decl = def->__anon1.decl;
+
+if(decl && decl->__anon1.__anon1.specifiers)
+{
+struct Specifier * spec;
+unsigned int isStruct = 0;
+
+for(spec = (*decl->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
+{
+if(spec->type == 3 || spec->type == 4)
+{
+if(spec->__anon1.__anon2.definitions)
+IdentifyAnonStructs(spec->__anon1.__anon2.definitions);
+isStruct = 1;
+}
+}
+if(isStruct)
+{
+struct Declarator * d = (((void *)0));
+
+if(decl->__anon1.__anon1.declarators)
+{
+for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
+{
+struct Identifier * idDecl = GetDeclId(d);
+
+if(idDecl)
+break;
+}
+}
+if(!d)
+{
+char id[100];
+
+sprintf(id, "__anon%d", anonID++);
+if(!decl->__anon1.__anon1.declarators)
+decl->__anon1.__anon1.declarators = MkList();
+ListAdd(decl->__anon1.__anon1.declarators, MkDeclaratorIdentifier(MkIdentifier(id)));
+}
+}
+}
+}
+}
+}
+
+extern struct Symbol * FindClass(const char * name);
extern char * strchr(const char * , int);
-extern void FullClassNameCat(char * output, char * className, unsigned int includeTemplateParams);
+extern void FullClassNameCat(char * output, const char * className, unsigned int includeTemplateParams);
extern void FreeList(struct __ecereNameSpace__ecere__sys__OldList * list, void (* FreeFunction)(void * ));
extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators);
-extern void MangleClassName(char * className);
-
-extern void DeclareClass(struct Symbol * classSym, char * className);
+extern void DeclareClass(struct Symbol * classSym, const char * className);
void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Move(struct __ecereNameSpace__ecere__sys__OldList * this, void * item, void * prevItem);
unsigned int __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(struct __ecereNameSpace__ecere__sys__OldList * this, void * prevItem, void * item);
-void DeclareStruct(char * name, unsigned int skipNoHead)
+void DeclareStruct(const char * name, unsigned int skipNoHead)
{
struct External * external = (((void *)0));
struct Symbol * classSym = FindClass(name);
if(!inCompiler || !classSym)
return ;
-if(classSym->registered && (classSym->registered->type == 2 || classSym->registered->type == 3 || classSym->registered->type == 4))
+if(classSym->__anon1.registered && (classSym->__anon1.registered->type == 2 || classSym->__anon1.registered->type == 3 || classSym->__anon1.registered->type == 4))
return ;
-if(classSym->registered && classSym->imported && !classSym->declaredStructSym)
+if(classSym->__anon1.registered && classSym->imported && !classSym->declaredStructSym)
{
struct Declaration * decl;
struct __ecereNameSpace__ecere__sys__OldList * specifiers, * declarators;
char structName[1024];
struct Specifier * spec = (((void *)0));
-external = (classSym->registered && classSym->registered->type == 1) ? classSym->pointerExternal : classSym->structExternal;
+external = (classSym->__anon1.registered && classSym->__anon1.registered->type == 1) ? classSym->__anon2.__anon1.pointerExternal : classSym->__anon2.__anon1.structExternal;
classSym->declaring++;
if(strchr(classSym->string, '<'))
{
-if(classSym->registered->templateClass)
+if(classSym->__anon1.registered->templateClass)
{
-DeclareStruct(classSym->registered->templateClass->fullName, skipNoHead);
+DeclareStruct(classSym->__anon1.registered->templateClass->fullName, skipNoHead);
classSym->declaring--;
}
return ;
}
-DeclareMembers(classSym->registered, 0x0);
+DeclareMembers(classSym->__anon1.registered, 0);
structName[0] = (char)0;
-FullClassNameCat(structName, name, 0x0);
-if(external && external->declaration && external->declaration->specifiers)
+FullClassNameCat(structName, name, 0);
+if(external && external->__anon1.declaration && external->__anon1.declaration->__anon1.__anon1.specifiers)
{
-for(spec = (*external->declaration->specifiers).first; spec; spec = spec->next)
+for(spec = (*external->__anon1.declaration->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
{
if(spec->type == 3 || spec->type == 4)
break;
}
}
-if(!skipNoHead && (!spec || !spec->definitions))
+if(!skipNoHead && (!spec || !spec->__anon1.__anon2.definitions))
{
-unsigned int addedPadding = 0x0;
+unsigned int addedPadding = 0;
-classSym->declaredStructSym = 0x1;
+classSym->declaredStructSym = 1;
declarations = MkList();
-AddMembers(declarations, classSym->registered, 0x0, (((void *)0)), classSym->registered, &addedPadding);
+AddMembers(declarations, classSym->__anon1.registered, 0, (((void *)0)), classSym->__anon1.registered, &addedPadding);
if(!(*declarations).count || ((*declarations).count == 1 && addedPadding))
{
FreeList(declarations, FreeClassDef);
if(spec)
{
if(declarations)
-spec->definitions = declarations;
+spec->__anon1.__anon2.definitions = declarations;
if(curExternal && curExternal->symbol && curExternal->symbol->idCode < classSym->id)
{
-if(classSym->structExternal)
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), classSym->structExternal, curExternal->prev);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), classSym->pointerExternal, curExternal->prev);
+if(classSym->__anon2.__anon1.structExternal)
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), classSym->__anon2.__anon1.structExternal, curExternal->prev);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), classSym->__anon2.__anon1.pointerExternal, curExternal->prev);
classSym->id = curExternal->symbol->idCode;
classSym->idCode = curExternal->symbol->idCode;
}
specifiers = MkList();
declarators = MkList();
ListAdd(specifiers, MkStructOrUnion(3, MkIdentifier(structName), declarations));
-external->declaration = decl = MkDeclaration(specifiers, declarators);
-if(decl->symbol && !decl->symbol->pointerExternal)
-decl->symbol->pointerExternal = external;
-if(classSym->registered && classSym->registered->type == 1)
+external->__anon1.declaration = decl = MkDeclaration(specifiers, declarators);
+if(decl->symbol && !decl->symbol->__anon2.__anon1.pointerExternal)
+decl->symbol->__anon2.__anon1.pointerExternal = external;
+if(classSym->__anon1.registered && classSym->__anon1.registered->type == 1)
{
char className[1024];
strcpy(className, "__ecereClass_");
-FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
+FullClassNameCat(className, classSym->string, 1);
DeclareClass(classSym, className);
external->symbol = classSym;
-classSym->pointerExternal = external;
+classSym->__anon2.__anon1.pointerExternal = external;
classSym->id = (curExternal && curExternal->symbol) ? curExternal->symbol->idCode : 0;
classSym->idCode = (curExternal && curExternal->symbol) ? curExternal->symbol->idCode : 0;
}
char className[1024];
strcpy(className, "__ecereClass_");
-FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
-classSym->structExternal = external;
+FullClassNameCat(className, classSym->string, 1);
+classSym->__anon2.__anon1.structExternal = external;
DeclareClass(classSym, className);
external->symbol = classSym;
}
}
classSym->declaring--;
}
-else if(curExternal && curExternal->symbol && curExternal->symbol->idCode < classSym->id)
+else
+{
+if(classSym->__anon2.__anon1.structExternal && classSym->__anon2.__anon1.structExternal->__anon1.declaration && classSym->__anon2.__anon1.structExternal->__anon1.declaration->__anon1.__anon1.specifiers)
+{
+struct Specifier * spec;
+
+for(spec = (*classSym->__anon2.__anon1.structExternal->__anon1.declaration->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
+{
+IdentifyAnonStructs(spec->__anon1.__anon2.definitions);
+}
+}
+if(curExternal && curExternal->symbol && curExternal->symbol->idCode < classSym->id)
{
classSym->declaring++;
{
-if(classSym->registered)
-DeclareMembers(classSym->registered, 0x0);
+if(classSym->__anon1.registered)
+DeclareMembers(classSym->__anon1.registered, 0);
}
-if(classSym->registered && (classSym->registered->type == 1 || classSym->registered->type == 5))
+if(classSym->__anon1.registered && (classSym->__anon1.registered->type == 1 || classSym->__anon1.registered->type == 5))
{
-if(classSym->structExternal)
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), classSym->structExternal, curExternal->prev);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), classSym->pointerExternal, curExternal->prev);
+if(classSym->__anon2.__anon1.structExternal)
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), classSym->__anon2.__anon1.structExternal, curExternal->prev);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), classSym->__anon2.__anon1.pointerExternal, curExternal->prev);
classSym->id = curExternal->symbol->idCode;
classSym->idCode = curExternal->symbol->idCode;
}
classSym->declaring--;
}
}
+}
extern struct ModuleImport * FindModule(struct __ecereNameSpace__ecere__com__Instance * moduleToFind);
extern struct ModuleImport * mainModule;
-extern struct Specifier * MkSpecifierName(char * name);
+extern struct Specifier * MkSpecifierName(const char * name);
extern struct Declarator * MkDeclaratorBrackets(struct Declarator * declarator);
void DeclareProperty(struct __ecereNameSpace__ecere__com__Property * prop, char * setName, char * getName)
{
struct Symbol * symbol = prop->symbol;
-char propName[1024];
strcpy(setName, "__ecereProp_");
-FullClassNameCat(setName, prop->_class->fullName, 0x0);
+FullClassNameCat(setName, prop->_class->fullName, 0);
strcat(setName, "_Set_");
-FullClassNameCat(setName, prop->name, 0x1);
+FullClassNameCat(setName, prop->name, 1);
strcpy(getName, "__ecereProp_");
-FullClassNameCat(getName, prop->_class->fullName, 0x0);
+FullClassNameCat(getName, prop->_class->fullName, 0);
strcat(getName, "_Get_");
-FullClassNameCat(getName, prop->name, 0x1);
-strcpy(propName, "__ecereProp_");
-FullClassNameCat(propName, prop->_class->fullName, 0x0);
-strcat(propName, "_");
-FullClassNameCat(propName, prop->name, 0x1);
-MangleClassName(getName);
-MangleClassName(setName);
-MangleClassName(propName);
+FullClassNameCat(getName, prop->name, 1);
if(prop->_class->type == 1)
-DeclareStruct(prop->_class->fullName, 0x0);
+DeclareStruct(prop->_class->fullName, 0);
if(!symbol || curExternal->symbol->idCode < symbol->id)
{
-unsigned int imported = 0x0;
-unsigned int dllImport = 0x0;
+unsigned int imported = 0;
+unsigned int dllImport = 0;
if(!symbol || symbol->_import)
{
symbol->_import = (struct ClassImport *)__extension__ ({
struct PropertyImport * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_PropertyImport);
-__ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(prop->name), __ecereInstance1->isVirtual = 0x0, __ecereInstance1->hasSet = prop->Set ? 0x1 : 0x0, __ecereInstance1->hasGet = prop->Get ? 0x1 : 0x0, __ecereInstance1;
+__ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(prop->name), __ecereInstance1->isVirtual = 0, __ecereInstance1->hasSet = prop->Set ? 1 : 0, __ecereInstance1->hasGet = prop->Get ? 1 : 0, __ecereInstance1;
});
if(classSym)
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&classSym->_import->properties, symbol->_import);
}
-imported = 0x1;
-if((prop->_class->module != privateModule || !strcmp(prop->_class->name, "float") || !strcmp(prop->_class->name, "double")) && ((struct __ecereNameSpace__ecere__com__Module *)(((char *)prop->_class->module + 24)))->importType != 1)
-dllImport = 0x1;
+imported = 1;
+if((prop->_class->module != privateModule || !strcmp(prop->_class->name, "float") || !strcmp(prop->_class->name, "double")) && ((struct __ecereNameSpace__ecere__com__Module *)(((char *)prop->_class->module + structSize_Instance)))->importType != 1)
+dllImport = 1;
}
if(!symbol->type)
{
struct Context * context = SetupTemplatesContext(prop->_class);
-symbol->type = ProcessTypeString(prop->dataTypeString, 0x0);
+symbol->type = ProcessTypeString(prop->dataTypeString, 0);
FinishTemplatesContext(context);
}
if(prop->Get)
{
-if(!symbol->externalGet || symbol->externalGet->type == 0)
+if(!symbol->__anon2.__anon2.externalGet || symbol->__anon2.__anon2.externalGet->type == 0)
{
struct Declaration * decl;
struct __ecereNameSpace__ecere__sys__OldList * specifiers, * declarators;
struct Specifier * spec;
struct External * external;
struct Declarator * typeDecl;
-unsigned int simple = 0x0;
+unsigned int simple = 0;
specifiers = MkList();
declarators = MkList();
{
if((!typeDecl || typeDecl->type == 1))
{
-struct Symbol * classSym = spec->symbol;
+struct Symbol * classSym = spec->__anon1.__anon1.symbol;
-symbol->_class = classSym->registered;
-if(classSym->registered && classSym->registered->type == 1)
+symbol->_class = classSym->__anon1.registered;
+if(classSym->__anon1.registered && classSym->__anon1.registered->type == 1)
{
-DeclareStruct(spec->name, 0x0);
-simple = 0x1;
+DeclareStruct(spec->__anon1.__anon1.name, 0);
+simple = 1;
}
}
}
external = MkExternalDeclaration(decl);
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), curExternal->prev, external);
external->symbol = symbol;
-symbol->externalGet = external;
+symbol->__anon2.__anon2.externalGet = external;
ReplaceThisClassSpecifiers(specifiers, prop->_class);
if(typeDecl)
FreeDeclarator(typeDecl);
}
else
{
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), symbol->externalGet, curExternal->prev);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), symbol->__anon2.__anon2.externalGet, curExternal->prev);
}
}
if(prop->Set)
{
-if(!symbol->externalSet || symbol->externalSet->type == 0)
+if(!symbol->__anon2.__anon2.externalSet || symbol->__anon2.__anon2.externalSet->type == 0)
{
struct Declaration * decl;
struct __ecereNameSpace__ecere__sys__OldList * specifiers, * declarators;
typeDecl = d = SpecDeclFromString(prop->dataTypeString, specifiers, MkDeclaratorIdentifier(MkIdentifier("value")));
FinishTemplatesContext(context);
}
+if(!strcmp(prop->_class->base->fullName, "eda::Row") || !strcmp(prop->_class->base->fullName, "eda::Id"))
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*specifiers), (((void *)0)), MkSpecifier(CONST));
ListAdd(params, MkTypeName(specifiers, d));
d = MkDeclaratorIdentifier(MkIdentifier(setName));
if(dllImport)
{
if((!typeDecl || typeDecl->type == 1))
{
-struct Symbol * classSym = spec->symbol;
+struct Symbol * classSym = spec->__anon1.__anon1.symbol;
-symbol->_class = classSym->registered;
-if(classSym->registered && classSym->registered->type == 1)
-DeclareStruct(spec->name, 0x0);
+symbol->_class = classSym->__anon1.registered;
+if(classSym->__anon1.registered && classSym->__anon1.registered->type == 1)
+DeclareStruct(spec->__anon1.__anon1.name, 0);
}
}
}
external = MkExternalDeclaration(decl);
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), curExternal->prev, external);
external->symbol = symbol;
-symbol->externalSet = external;
+symbol->__anon2.__anon2.externalSet = external;
ReplaceThisClassSpecifiers(specifiers, prop->_class);
}
else
{
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), symbol->externalSet, curExternal->prev);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), symbol->__anon2.__anon2.externalSet, curExternal->prev);
}
}
-if(!symbol->externalPtr)
+if(!symbol->__anon2.__anon2.externalPtr)
{
struct Declaration * decl;
struct External * external;
struct __ecereNameSpace__ecere__sys__OldList * specifiers = MkList();
+char propName[1024];
if(imported)
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*specifiers), (((void *)0)), MkSpecifier(EXTERN));
else
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*specifiers), (((void *)0)), MkSpecifier(STATIC));
ListAdd(specifiers, MkSpecifierName("Property"));
+strcpy(propName, "__ecereProp_");
+FullClassNameCat(propName, prop->_class->fullName, 0);
+strcat(propName, "_");
+FullClassNameCat(propName, prop->name, 1);
{
struct __ecereNameSpace__ecere__sys__OldList * list = MkList();
if(!imported)
{
strcpy(propName, "__ecerePropM_");
-FullClassNameCat(propName, prop->_class->fullName, 0x0);
+FullClassNameCat(propName, prop->_class->fullName, 0);
strcat(propName, "_");
-FullClassNameCat(propName, prop->name, 0x1);
-MangleClassName(propName);
+FullClassNameCat(propName, prop->name, 1);
ListAdd(list, MkInitDeclarator(MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), MkDeclaratorIdentifier(MkIdentifier(propName))), (((void *)0))));
}
decl = MkDeclaration(specifiers, list);
external = MkExternalDeclaration(decl);
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), curExternal->prev, external);
external->symbol = symbol;
-symbol->externalPtr = external;
+symbol->__anon2.__anon2.externalPtr = external;
}
else
{
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), symbol->externalPtr, curExternal->prev);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), symbol->__anon2.__anon2.externalPtr, curExternal->prev);
}
symbol->id = curExternal->symbol->idCode;
}
{
if(source->kind == 13 || source->kind == 12)
{
-type = source->type;
-source->type->refCount++;
+type = source->__anon1.type;
+source->__anon1.type->refCount++;
}
-else if(source->kind == 8 && !strcmp(source->_class->string, "String"))
+else if(source->kind == 8 && !strcmp(source->__anon1._class->string, "String"))
{
type = __extension__ ({
struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
__ecereInstance1->kind = 1, __ecereInstance1->refCount = 1, __ecereInstance1;
});
}
-else if(source->kind == 8 && source->_class && source->_class->registered && source->_class->registered->type == 5)
+else if(source->kind == 8 && source->__anon1._class && source->__anon1._class->__anon1.registered && source->__anon1._class->__anon1.registered->type == 5)
{
type = source;
source->refCount++;
type = __extension__ ({
struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
-__ecereInstance1->kind = 13, __ecereInstance1->type = source, __ecereInstance1->refCount = 1, __ecereInstance1;
+__ecereInstance1->kind = 13, __ecereInstance1->__anon1.type = source, __ecereInstance1->refCount = 1, __ecereInstance1;
});
source->refCount++;
}
extern void __ecereNameSpace__ecere__sys__ChangeCh(char * string, char ch1, char ch2);
-unsigned int MatchTypes(struct Type * source, struct Type * dest, struct __ecereNameSpace__ecere__sys__OldList * conversions, struct __ecereNameSpace__ecere__com__Class * owningClassSource, struct __ecereNameSpace__ecere__com__Class * owningClassDest, unsigned int doConversion, unsigned int enumBaseType, unsigned int acceptReversedParams, unsigned int isConversionExploration);
+unsigned int MatchTypes(struct Type * source, struct Type * dest, struct __ecereNameSpace__ecere__sys__OldList * conversions, struct __ecereNameSpace__ecere__com__Class * owningClassSource, struct __ecereNameSpace__ecere__com__Class * owningClassDest, unsigned int doConversion, unsigned int enumBaseType, unsigned int acceptReversedParams, unsigned int isConversionExploration, unsigned int warnConst);
static void ProcessInitializer(struct Initializer * init, struct Type * type);
-extern struct Type * MkClassType(char * name);
+extern struct Type * MkClassType(const char * name);
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, const char * type, unsigned int size, unsigned int alignment, int declMode);
void ProcessMemberInitData(struct MemberInit * member, struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__Class ** curClass, struct __ecereNameSpace__ecere__com__DataMember ** curMember, struct __ecereNameSpace__ecere__com__DataMember ** subMemberStack, int * subMemberStackPos)
{
struct Identifier * ident = member->identifiers ? (*member->identifiers).first : (((void *)0));
-unsigned int found = 0x0;
+unsigned int found = 0;
struct __ecereNameSpace__ecere__com__DataMember * dataMember = (((void *)0));
struct __ecereNameSpace__ecere__com__Method * method = (((void *)0));
-unsigned int freeType = 0x0;
+unsigned int freeType = 0;
yylloc = member->loc;
if(!ident)
__ecereNameSpace__ecere__com__eClass_FindNextMember(_class, curClass, curMember, subMemberStack, subMemberStackPos);
if(*curMember)
{
-found = 0x1;
+found = 1;
dataMember = *curMember;
}
}
memcpy(subMemberStack, _subMemberStack, sizeof(struct __ecereNameSpace__ecere__com__DataMember *) * _subMemberStackPos);
*subMemberStackPos = _subMemberStackPos;
}
-found = 0x1;
+found = 1;
}
else
{
method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, ident->string, privateModule);
if(method && method->type == 1)
-found = 0x1;
+found = 1;
else
method = (((void *)0));
}
{
struct Context * context = SetupTemplatesContext(_class);
-dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0x0);
+dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0);
FinishTemplatesContext(context);
}
type = dataMember->dataType;
{
if(type->kind == 8)
{
-dataMember = (struct __ecereNameSpace__ecere__com__DataMember *)__ecereNameSpace__ecere__com__eClass_FindProperty(type->_class->registered, ident->string, privateModule);
+dataMember = (struct __ecereNameSpace__ecere__com__DataMember *)__ecereNameSpace__ecere__com__eClass_FindProperty(type->__anon1._class->__anon1.registered, ident->string, privateModule);
if(!dataMember)
-dataMember = __ecereNameSpace__ecere__com__eClass_FindDataMember(type->_class->registered, ident->string, privateModule, (((void *)0)), (((void *)0)));
+dataMember = __ecereNameSpace__ecere__com__eClass_FindDataMember(type->__anon1._class->__anon1.registered, ident->string, privateModule, (((void *)0)), (((void *)0)));
if(dataMember)
type = dataMember->dataType;
}
{
struct Type * memberType;
-for(memberType = type->members.first; memberType; memberType = memberType->next)
+for(memberType = type->__anon1.__anon1.members.first; memberType; memberType = memberType->next)
{
if(!strcmp(memberType->name, ident->string))
{
}
}
}
-if(type && type->kind == 20 && type->templateParameter->type == 0 && _class->templateArgs)
+if(type && type->kind == 20 && type->__anon1.templateParameter->type == 0 && _class->templateArgs)
{
int id = 0;
struct __ecereNameSpace__ecere__com__ClassTemplateParameter * curParam = (((void *)0));
sClass = sClass->templateClass;
for(curParam = sClass->templateParams.first; curParam; curParam = curParam->next)
{
-if(curParam->type == 0 && !strcmp(type->templateParameter->identifier->string, curParam->name))
+if(curParam->type == 0 && !strcmp(type->__anon1.templateParameter->identifier->string, curParam->name))
{
for(sClass = sClass->base; sClass; sClass = sClass->base)
{
{
struct __ecereNameSpace__ecere__com__ClassTemplateArgument arg = _class->templateArgs[id];
-if(arg.dataTypeString)
+if(arg.__anon1.__anon1.dataTypeString)
{
-type = ProcessTypeString(arg.dataTypeString, 0x0);
-freeType = 0x1;
+unsigned int constant = type->constant;
+
+type = ProcessTypeString(arg.__anon1.__anon1.dataTypeString, 0);
+if(type->kind == 8 && constant)
+type->constant = 1;
+else if(type->kind == 13)
+{
+struct Type * t = type->__anon1.type;
+
+while(t->kind == 13)
+t = t->__anon1.type;
+if(constant)
+t->constant = constant;
+}
+freeType = 1;
if(type && _class->templateClass)
-type->passAsTemplate = 0x1;
+type->passAsTemplate = 1;
if(type)
{
}
}
}
}
-if(type && type->kind == 8 && type->_class && type->_class->registered && strchr(type->_class->registered->fullName, '<'))
+if(type && type->kind == 8 && type->__anon1._class && type->__anon1._class->__anon1.registered && strchr(type->__anon1._class->__anon1.registered->fullName, '<'))
{
-struct __ecereNameSpace__ecere__com__Class * expClass = type->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * expClass = type->__anon1._class->__anon1.registered;
struct __ecereNameSpace__ecere__com__Class * cClass = (((void *)0));
-int c;
int paramCount = 0;
int lastParam = -1;
char templateString[1024];
}
for(cParam = sClass->templateParams.first; cParam; cParam = cParam->next, p++)
{
-if(cParam->type == 0 && arg.dataTypeString && !strcmp(cParam->name, arg.dataTypeString))
+if(cParam->type == 0 && arg.__anon1.__anon1.dataTypeString && !strcmp(cParam->name, arg.__anon1.__anon1.dataTypeString))
{
-if(_class->templateArgs && arg.dataTypeString && (!param->defaultArg.dataTypeString || strcmp(arg.dataTypeString, param->defaultArg.dataTypeString)))
+if(_class->templateArgs && arg.__anon1.__anon1.dataTypeString && (!param->defaultArg.__anon1.__anon1.dataTypeString || strcmp(arg.__anon1.__anon1.dataTypeString, param->defaultArg.__anon1.__anon1.dataTypeString)))
{
-arg.dataTypeString = _class->templateArgs[p].dataTypeString;
-arg.dataTypeClass = _class->templateArgs[p].dataTypeClass;
+arg.__anon1.__anon1.dataTypeString = _class->templateArgs[p].__anon1.__anon1.dataTypeString;
+arg.__anon1.__anon1.dataTypeClass = _class->templateArgs[p].__anon1.__anon1.dataTypeClass;
break;
}
}
{
char expString[1024];
struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
-struct Declarator * decl = SpecDeclFromString(param->dataTypeString, specs, (((void *)0)));
+struct Declarator * decl = SpecDeclFromString(param->__anon1.dataTypeString, specs, (((void *)0)));
struct Expression * exp;
-char * string = PrintHexUInt64(arg.expression.ui64);
+char * string = PrintHexUInt64(arg.__anon1.expression.__anon1.ui64);
exp = MkExpCast(MkTypeName(specs, decl), MkExpConstant(string));
(__ecereNameSpace__ecere__com__eSystem_Delete(string), string = 0);
}
case 1:
{
-strcat(argument, arg.member->name);
+strcat(argument, arg.__anon1.__anon2.__anon1.member->name);
break;
}
case 0:
{
-if(arg.dataTypeString && (!param->defaultArg.dataTypeString || strcmp(arg.dataTypeString, param->defaultArg.dataTypeString)))
-strcat(argument, arg.dataTypeString);
+if(arg.__anon1.__anon1.dataTypeString && (!param->defaultArg.__anon1.__anon1.dataTypeString || strcmp(arg.__anon1.__anon1.dataTypeString, param->defaultArg.__anon1.__anon1.dataTypeString)))
+strcat(argument, arg.__anon1.__anon1.dataTypeString);
break;
}
}
if(freeType)
FreeType(type);
-type = ProcessTypeString(templateString, 0x0);
-freeType = 0x1;
+type = ProcessTypeString(templateString, 0);
+freeType = 1;
FinishTemplatesContext(context);
}
}
-if(method && member->initializer && member->initializer->type == 0 && member->initializer->exp)
+if(method && member->initializer && member->initializer->type == 0 && member->initializer->__anon1.exp)
{
-ProcessExpressionType(member->initializer->exp);
-if(!member->initializer->exp->expType)
+ProcessExpressionType(member->initializer->__anon1.exp);
+if(!member->initializer->__anon1.exp->expType)
{
if(inCompiler)
{
char expString[10240];
expString[0] = '\0';
-PrintExpression(member->initializer->exp, expString);
+PrintExpression(member->initializer->__anon1.exp, expString);
__ecereNameSpace__ecere__sys__ChangeCh(expString, '\n', ' ');
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "unresolved symbol used as an instance method %s\n", (((void *)0))), expString);
}
}
-else if(!MatchTypes(member->initializer->exp->expType, type, (((void *)0)), (((void *)0)), _class, 0x1, 0x1, 0x0, 0x0))
+else if(!MatchTypes(member->initializer->__anon1.exp->expType, type, (((void *)0)), (((void *)0)), _class, 1, 1, 0, 0, 1))
{
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "incompatible instance method %s\n", (((void *)0))), ident->string);
}
}
}
-extern struct Identifier * GetDeclId(struct Declarator * decl);
-
extern struct External * ProcessClassFunction(struct __ecereNameSpace__ecere__com__Class * owningClass, struct ClassFunction * func, struct __ecereNameSpace__ecere__sys__OldList * defs, struct External * after, unsigned int makeStatic);
extern void FreeSpecifier(struct Specifier * spec);
struct Symbol * classSym;
struct __ecereNameSpace__ecere__com__Class * _class;
-classSym = inst->_class->symbol;
-_class = classSym ? classSym->registered : (((void *)0));
+classSym = inst->_class->__anon1.__anon1.symbol;
+_class = classSym ? classSym->__anon1.registered : (((void *)0));
if(!_class || _class->type != 5)
-DeclareStruct(inst->_class->name, 0x0);
+DeclareStruct(inst->_class->__anon1.__anon1.name, 0);
afterExternal = afterExternal ? afterExternal : curExternal;
if(inst->exp)
ProcessExpressionType(inst->exp);
-inst->isConstant = 0x1;
+inst->isConstant = 1;
if(inst->members)
{
struct __ecereNameSpace__ecere__com__DataMember * curMember = (((void *)0));
static unsigned int instMethodID = 0;
struct External * external = curExternal;
struct Context * context = curContext;
-struct Declarator * declarator = members->function->declarator;
+struct Declarator * declarator = members->__anon1.function->declarator;
struct Identifier * nameID = GetDeclId(declarator);
char * unmangled = nameID ? nameID->string : (((void *)0));
struct Expression * exp;
char number[16];
strcpy(name, "__ecereInstMeth_");
-FullClassNameCat(name, _class ? _class->fullName : "_UNKNOWNCLASS", 0x0);
+FullClassNameCat(name, _class ? _class->fullName : "_UNKNOWNCLASS", 0);
strcat(name, "_");
strcat(name, nameID->string);
strcat(name, "_");
if(method && method->type == 1)
{
-symbol->method = method;
+symbol->__anon1.method = method;
ProcessMethodType(method);
-if(!symbol->type->thisClass)
+if(!symbol->type->__anon1.__anon2.thisClass)
{
-if(method->dataType->thisClass && currentClass && __ecereNameSpace__ecere__com__eClass_IsDerived(currentClass, method->dataType->thisClass->registered))
+if(method->dataType->__anon1.__anon2.thisClass && currentClass && __ecereNameSpace__ecere__com__eClass_IsDerived(currentClass, method->dataType->__anon1.__anon2.thisClass->__anon1.registered))
{
if(!currentClass->symbol)
currentClass->symbol = FindClass(currentClass->fullName);
-symbol->type->thisClass = currentClass->symbol;
+symbol->type->__anon1.__anon2.thisClass = currentClass->symbol;
}
else
{
if(!_class->symbol)
_class->symbol = FindClass(_class->fullName);
-symbol->type->thisClass = _class->symbol;
+symbol->type->__anon1.__anon2.thisClass = _class->symbol;
}
}
-DeclareType(symbol->type, 0x1, 0x1);
+DeclareType(symbol->type, 1, 1);
}
else if(classSym)
{
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "couldn't find virtual method %s in class %s\n", (((void *)0))), unmangled, classSym->string);
}
}
-createdExternal = ProcessClassFunction(classSym ? classSym->registered : (((void *)0)), members->function, ast, afterExternal, 0x1);
+createdExternal = ProcessClassFunction(classSym ? classSym->__anon1.registered : (((void *)0)), members->__anon1.function, ast, afterExternal, 1);
if(nameID)
{
FreeSpecifier(nameID->_class);
}
if(inCompiler)
{
-struct Type * type = declarator->symbol->type;
struct External * oldExternal = curExternal;
declarator->symbol->id = declarator->symbol->idCode = curExternal->symbol->idCode;
externalDecl = MkExternalDeclaration((((void *)0)));
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), oldExternal->prev, externalDecl);
-if(createdExternal->function)
+if(createdExternal->__anon1.function)
{
-ProcessFunction(createdExternal->function);
+ProcessFunction(createdExternal->__anon1.function);
{
-struct Declaration * decl = MkDeclaration(CopyList(createdExternal->function->specifiers, CopySpecifier), MkListOne(MkInitDeclarator(CopyDeclarator(declarator), (((void *)0)))));
+struct Declaration * decl = MkDeclaration(CopyList(createdExternal->__anon1.function->specifiers, CopySpecifier), MkListOne(MkInitDeclarator(CopyDeclarator(declarator), (((void *)0)))));
-externalDecl->declaration = decl;
-if(decl->symbol && !decl->symbol->pointerExternal)
-decl->symbol->pointerExternal = externalDecl;
-declarator->symbol->pointerExternal = externalDecl;
+externalDecl->__anon1.declaration = decl;
+if(decl->symbol && !decl->symbol->__anon2.__anon1.pointerExternal)
+decl->symbol->__anon2.__anon1.pointerExternal = externalDecl;
+declarator->symbol->__anon2.__anon1.pointerExternal = externalDecl;
}
}
}
}
else if(declarator)
{
-curExternal = declarator->symbol->pointerExternal;
-ProcessFunction((struct FunctionDefinition *)members->function);
+curExternal = declarator->symbol->__anon2.__anon1.pointerExternal;
+ProcessFunction((struct FunctionDefinition *)members->__anon1.function);
}
curExternal = external;
curContext = context;
if(inCompiler)
{
-FreeClassFunction(members->function);
+FreeClassFunction(members->__anon1.function);
exp = QMkExpId(name);
members->type = 0;
-members->dataMembers = MkListOne(MkMemberInit(MkListOne(MkIdentifier(unmangled)), MkInitializerAssignment(exp)));
+members->__anon1.dataMembers = MkListOne(MkMemberInit(MkListOne(MkIdentifier(unmangled)), MkInitializerAssignment(exp)));
(__ecereNameSpace__ecere__com__eSystem_Delete(unmangled), unmangled = 0);
}
break;
}
case 0:
{
-if(members->dataMembers && classSym)
+if(members->__anon1.dataMembers && classSym)
{
struct MemberInit * member;
struct Location oldyyloc = yylloc;
-for(member = (*members->dataMembers).first; member; member = member->next)
+for(member = (*members->__anon1.dataMembers).first; member; member = member->next)
{
-ProcessMemberInitData(member, classSym->registered, &curClass, &curMember, subMemberStack, &subMemberStackPos);
+ProcessMemberInitData(member, classSym->__anon1.registered, &curClass, &curMember, subMemberStack, &subMemberStackPos);
if(member->initializer && !member->initializer->isConstant)
-inst->isConstant = 0x0;
+inst->isConstant = 0;
}
yylloc = oldyyloc;
}
if(declareParams)
{
-for(param = type->params.first; param; param = param->next)
-DeclareType(param, declarePointers, 0x1);
+for(param = type->__anon1.__anon2.params.first; param; param = param->next)
+DeclareType(param, declarePointers, 1);
}
-DeclareType(type->returnType, declarePointers, 0x1);
+DeclareType(type->__anon1.__anon2.returnType, declarePointers, 1);
}
else if(type->kind == 13 && declarePointers)
-DeclareType(type->type, declarePointers, 0x0);
+DeclareType(type->__anon1.type, declarePointers, 0);
else if(type->kind == 8)
{
-if(type->_class->registered && (type->_class->registered->type == 1 || type->_class->registered->type == 5) && !type->_class->declaring)
-DeclareStruct(type->_class->registered->fullName, type->_class->registered->type == 5);
+if(type->__anon1._class->__anon1.registered && (type->__anon1._class->__anon1.registered->type == 1 || type->__anon1._class->__anon1.registered->type == 5) && !type->__anon1._class->declaring)
+DeclareStruct(type->__anon1._class->__anon1.registered->fullName, type->__anon1._class->__anon1.registered->type == 5);
}
else if(type->kind == 9 || type->kind == 10)
{
struct Type * member;
-for(member = type->members.first; member; member = member->next)
-DeclareType(member, 0x0, 0x0);
+for(member = type->__anon1.__anon1.members.first; member; member = member->next)
+DeclareType(member, 0, 0);
}
else if(type->kind == 12)
-DeclareType(type->arrayType, declarePointers, 0x0);
+DeclareType(type->__anon1.__anon4.arrayType, declarePointers, 0);
}
}
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char * name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char * name);
struct __ecereNameSpace__ecere__com__ClassTemplateArgument * FindTemplateArg(struct __ecereNameSpace__ecere__com__Class * _class, struct TemplateParameter * param)
{
{
arg = &_class->templateArgs[id];
if(arg && param->type == 0)
-(*arg).dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, (*arg).dataTypeString);
+(*arg).__anon1.__anon1.dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, (*arg).__anon1.__anon1.dataTypeString);
}
return arg;
}
{
struct Context * context = PushContext();
-context->templateTypesOnly = 0x1;
+context->templateTypesOnly = 1;
if(_class->symbol && ((struct Symbol *)_class->symbol)->templateParams)
{
struct TemplateParameter * param = (*((struct Symbol *)_class->symbol)->templateParams).first;
p->param = param = __extension__ ({
struct TemplateParameter * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TemplateParameter);
-__ecereInstance1->identifier = MkIdentifier(p->name), __ecereInstance1->type = p->type, __ecereInstance1->dataTypeString = p->dataTypeString, __ecereInstance1;
+__ecereInstance1->identifier = MkIdentifier(p->name), __ecereInstance1->type = p->type, __ecereInstance1->dataTypeString = p->__anon1.dataTypeString, __ecereInstance1;
});
}
type = __extension__ ({
{
PopContext(context);
FreeContext(context);
-((context ? (__ecereClass_Context->Destructor ? __ecereClass_Context->Destructor(context) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(context)) : 0), context = 0);
+((context ? (__ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)context) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(context)) : 0), context = 0);
}
void ProcessMethodType(struct __ecereNameSpace__ecere__com__Method * method)
{
struct Context * context = SetupTemplatesContext(method->_class);
-method->dataType = ProcessTypeString(method->dataTypeString, 0x0);
+method->dataType = ProcessTypeString(method->dataTypeString, 0);
FinishTemplatesContext(context);
if(method->type != 1 && method->dataType)
{
-if(!method->dataType->thisClass && !method->dataType->staticMethod)
+if(!method->dataType->__anon1.__anon2.thisClass && !method->dataType->__anon1.__anon2.staticMethod)
{
if(!method->_class->symbol)
method->_class->symbol = FindClass(method->_class->fullName);
-method->dataType->thisClass = method->_class->symbol;
+method->dataType->__anon1.__anon2.thisClass = method->_class->symbol;
}
}
}
{
struct Context * context = SetupTemplatesContext(prop->_class);
-prop->dataType = ProcessTypeString(prop->dataTypeString, 0x0);
+prop->dataType = ProcessTypeString(prop->dataTypeString, 0);
FinishTemplatesContext(context);
}
}
void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(struct __ecereNameSpace__ecere__sys__OldList * this, void * item);
-void DeclareMethod(struct __ecereNameSpace__ecere__com__Method * method, char * name)
+void DeclareMethod(struct __ecereNameSpace__ecere__com__Method * method, const char * name)
{
struct Symbol * symbol = method->symbol;
-if(!symbol || (!symbol->pointerExternal && method->type == 1) || symbol->id > (curExternal ? curExternal->symbol->idCode : -1))
+if(!symbol || (!symbol->__anon2.__anon1.pointerExternal && method->type == 1) || symbol->id > (curExternal ? curExternal->symbol->idCode : -1))
{
-unsigned int imported = 0x0;
-unsigned int dllImport = 0x0;
+unsigned int dllImport = 0;
if(!method->dataType)
-method->dataType = ProcessTypeString(method->dataTypeString, 0x0);
+method->dataType = ProcessTypeString(method->dataTypeString, 0);
if(!symbol || symbol->_import || method->type == 1)
{
if(!symbol || method->type == 1)
}
if(!method->dataType->dllExport)
{
-imported = 0x1;
-if((method->_class->module != privateModule || !strcmp(method->_class->name, "float") || !strcmp(method->_class->name, "double")) && ((struct __ecereNameSpace__ecere__com__Module *)(((char *)method->_class->module + 24)))->importType != 1)
-dllImport = 0x1;
+if((method->_class->module != privateModule || !strcmp(method->_class->name, "float") || !strcmp(method->_class->name, "double")) && ((struct __ecereNameSpace__ecere__com__Module *)(((char *)method->_class->module + structSize_Instance)))->importType != 1)
+dllImport = 1;
}
}
if(method->type != 1 && method->dataType)
-DeclareType(method->dataType, 0x1, 0x1);
-if(!symbol->pointerExternal || symbol->pointerExternal->type == 0)
+DeclareType(method->dataType, 1, 1);
+if(!symbol->__anon2.__anon1.pointerExternal || symbol->__anon2.__anon1.pointerExternal->type == 0)
{
struct Declaration * decl;
struct __ecereNameSpace__ecere__sys__OldList * specifiers, * declarators;
}
}
}
-if(method->dataType && !method->dataType->staticMethod)
+if(method->dataType && !method->dataType->__anon1.__anon2.staticMethod)
{
-if(funcDecl && funcDecl->function.parameters && (*funcDecl->function.parameters).count)
+if(funcDecl && funcDecl->__anon1.function.parameters && (*funcDecl->__anon1.function.parameters).count)
{
-struct __ecereNameSpace__ecere__com__Class * _class = method->dataType->thisClass ? method->dataType->thisClass->registered : method->_class;
-struct TypeName * thisParam = MkTypeName(MkListOne(MkSpecifierName(method->dataType->thisClass ? method->dataType->thisClass->string : method->_class->fullName)), (_class && _class->type == 1000) ? MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), MkDeclaratorIdentifier(MkIdentifier("this"))) : MkDeclaratorIdentifier(MkIdentifier("this")));
-struct TypeName * firstParam = ((struct TypeName *)(*funcDecl->function.parameters).first);
+struct __ecereNameSpace__ecere__com__Class * _class = method->dataType->__anon1.__anon2.thisClass ? method->dataType->__anon1.__anon2.thisClass->__anon1.registered : method->_class;
+struct TypeName * thisParam = MkTypeName(MkListOne(MkSpecifierName(method->dataType->__anon1.__anon2.thisClass ? method->dataType->__anon1.__anon2.thisClass->string : method->_class->fullName)), (_class && _class->type == 1000) ? MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), MkDeclaratorIdentifier(MkIdentifier("this"))) : MkDeclaratorIdentifier(MkIdentifier("this")));
+struct TypeName * firstParam = ((struct TypeName *)(*funcDecl->__anon1.function.parameters).first);
struct Specifier * firstSpec = firstParam->qualifiers ? (*firstParam->qualifiers).first : (((void *)0));
-if(firstSpec && firstSpec->type == 0 && firstSpec->specifier == VOID && !firstParam->declarator)
+if(firstSpec && firstSpec->type == 0 && firstSpec->__anon1.specifier == VOID && !firstParam->declarator)
{
-struct TypeName * param = (*funcDecl->function.parameters).first;
+struct TypeName * param = (*funcDecl->__anon1.function.parameters).first;
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*funcDecl->function.parameters), param);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*funcDecl->__anon1.function.parameters), param);
FreeTypeName(param);
}
-if(!funcDecl->function.parameters)
-funcDecl->function.parameters = MkList();
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->function.parameters), (((void *)0)), thisParam);
+if(!funcDecl->__anon1.function.parameters)
+funcDecl->__anon1.function.parameters = MkList();
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->__anon1.function.parameters), (((void *)0)), thisParam);
}
}
}
ListAdd(declarators, MkInitDeclarator(d, (((void *)0))));
decl = MkDeclaration(specifiers, declarators);
ReplaceThisClassSpecifiers(specifiers, method->_class);
-if(symbol->pointerExternal)
+if(symbol->__anon2.__anon1.pointerExternal)
{
struct Symbol * functionSymbol = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol);
functionSymbol->type->refCount++;
}
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*excludedSymbols), functionSymbol);
-symbol->pointerExternal->symbol = functionSymbol;
+symbol->__anon2.__anon1.pointerExternal->symbol = functionSymbol;
}
external = MkExternalDeclaration(decl);
if(curExternal)
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), curExternal ? curExternal->prev : (((void *)0)), external);
external->symbol = symbol;
-symbol->pointerExternal = external;
+symbol->__anon2.__anon1.pointerExternal = external;
}
else if(ast)
{
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), symbol->pointerExternal, curExternal->prev);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), symbol->__anon2.__anon1.pointerExternal, curExternal->prev);
}
symbol->id = curExternal ? curExternal->symbol->idCode : (((int)0x7fffffff));
}
{
if(thisClassParams && _class->templateParams.count && !_class->templateClass)
{
-unsigned int first = 0x1;
+unsigned int first = 1;
int p = 0;
struct __ecereNameSpace__ecere__com__ClassTemplateParameter * param;
int lastParam = -1;
strcat(className, " = ");
}
strcat(className, param->name);
-first = 0x0;
+first = 0;
lastParam = p;
}
p++;
struct Type * ReplaceThisClassType(struct __ecereNameSpace__ecere__com__Class * _class)
{
+struct Type * type;
+
if(thisClassParams && _class->templateParams.count && !_class->templateClass)
{
-unsigned int first = 0x1;
+unsigned int first = 1;
int p = 0;
struct __ecereNameSpace__ecere__com__ClassTemplateParameter * param;
int lastParam = -1;
strcat(className, " = ");
}
strcat(className, param->name);
-first = 0x0;
+first = 0;
lastParam = p;
}
p++;
className[len++] = '>';
className[len++] = '\0';
}
-return MkClassType(className);
+type = MkClassType(className);
}
else
{
-return MkClassType(_class->fullName);
+type = MkClassType(_class->fullName);
}
+return type;
}
void ReplaceThisClassSpecifiers(struct __ecereNameSpace__ecere__sys__OldList * specs, struct __ecereNameSpace__ecere__com__Class * _class)
for(spec = specs->first; spec; spec = spec->next)
{
-if(spec->type == 0 && spec->specifier == THISCLASS)
+if(spec->type == 0 && spec->__anon1.specifier == THISCLASS)
{
spec->type = 1;
-spec->name = ReplaceThisClass(_class);
-spec->symbol = FindClass(spec->name);
+spec->__anon1.__anon1.name = ReplaceThisClass(_class);
+spec->__anon1.__anon1.symbol = FindClass(spec->__anon1.__anon1.name);
}
}
}
{
struct __ecereNameSpace__ecere__com__GlobalFunction * prev;
struct __ecereNameSpace__ecere__com__GlobalFunction * next;
-char * name;
+const char * name;
int (* function)();
struct __ecereNameSpace__ecere__com__Instance * module;
struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
-char * dataTypeString;
+const char * dataTypeString;
struct Type * dataType;
void * symbol;
} __attribute__ ((gcc_struct));
if(curExternal && (!symbol || symbol->id > curExternal->symbol->idCode))
{
-unsigned int imported = 0x0;
-unsigned int dllImport = 0x0;
+unsigned int imported = 0;
+unsigned int dllImport = 0;
if(!function->dataType)
{
-function->dataType = ProcessTypeString(function->dataTypeString, 0x0);
-if(!function->dataType->thisClass)
-function->dataType->staticMethod = 0x1;
+function->dataType = ProcessTypeString(function->dataTypeString, 0);
+if(!function->dataType->__anon1.__anon2.thisClass)
+function->dataType->__anon1.__anon2.staticMethod = 1;
}
if(inCompiler)
{
}
}
{
-symbol->type = ProcessTypeString(function->dataTypeString, 0x0);
-if(!symbol->type->thisClass)
-symbol->type->staticMethod = 0x1;
+symbol->type = ProcessTypeString(function->dataTypeString, 0);
+if(!symbol->type->__anon1.__anon2.thisClass)
+symbol->type->__anon1.__anon2.staticMethod = 1;
}
}
-imported = symbol->_import ? 0x1 : 0x0;
+imported = symbol->_import ? 1 : 0;
if(imported && function->module != privateModule && ((struct __ecereNameSpace__ecere__com__Module *)(((char *)function->module + structSize_Instance)))->importType != 1)
-dllImport = 0x1;
+dllImport = 1;
}
-DeclareType(function->dataType, 0x1, 0x1);
+DeclareType(function->dataType, 1, 1);
if(inCompiler)
{
-if(!symbol->pointerExternal || symbol->pointerExternal->type == 0)
+if(!symbol->__anon2.__anon1.pointerExternal || symbol->__anon2.__anon1.pointerExternal->type == 0)
{
struct Declaration * decl;
struct __ecereNameSpace__ecere__sys__OldList * specifiers, * declarators;
struct Specifier * spec;
for(spec = (*specifiers).first; spec; spec = spec->next)
-if(spec->type == 5 && spec->extDecl && spec->extDecl->type == 0 && !strcmp(spec->extDecl->s, "dllexport"))
+if(spec->type == 5 && spec->__anon1.__anon1.extDecl && spec->__anon1.__anon1.extDecl->type == 0 && !strcmp(spec->__anon1.__anon1.extDecl->__anon1.s, "dllexport"))
{
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*specifiers), spec);
FreeSpecifier(spec);
}
}
funcDecl = GetFuncDecl(d);
-if(funcDecl && !funcDecl->function.parameters)
+if(funcDecl && !funcDecl->__anon1.function.parameters)
{
-funcDecl->function.parameters = MkList();
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->function.parameters), (((void *)0)), MkTypeName(MkListOne(MkSpecifier(VOID)), (((void *)0))));
+funcDecl->__anon1.function.parameters = MkList();
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->__anon1.function.parameters), (((void *)0)), MkTypeName(MkListOne(MkSpecifier(VOID)), (((void *)0))));
}
ListAdd(declarators, MkInitDeclarator(d, (((void *)0))));
{
decl = MkDeclaration(specifiers, declarators);
curContext = oldCtx;
}
-if(symbol->pointerExternal)
+if(symbol->__anon2.__anon1.pointerExternal)
{
struct Symbol * functionSymbol = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol);
functionSymbol->type->refCount++;
}
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*excludedSymbols), functionSymbol);
-symbol->pointerExternal->symbol = functionSymbol;
+symbol->__anon2.__anon1.pointerExternal->symbol = functionSymbol;
}
external = MkExternalDeclaration(decl);
if(curExternal)
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), curExternal->prev, external);
external->symbol = symbol;
-symbol->pointerExternal = external;
+symbol->__anon2.__anon1.pointerExternal = external;
}
else
{
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), symbol->pointerExternal, curExternal->prev);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), symbol->__anon2.__anon1.pointerExternal, curExternal->prev);
}
if(curExternal)
symbol->id = curExternal->symbol->idCode;
}
}
-return (symbol && symbol->_import && function->module != privateModule && ((struct __ecereNameSpace__ecere__com__Module *)(((char *)function->module + structSize_Instance)))->importType != 1) ? 0x1 : 0x0;
+return (symbol && symbol->_import && function->module != privateModule && ((struct __ecereNameSpace__ecere__com__Module *)(((char *)function->module + structSize_Instance)))->importType != 1) ? 1 : 0;
}
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_GlobalData;
symbol = data->symbol = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol);
}
if(!data->dataType)
-data->dataType = ProcessTypeString(data->dataTypeString, 0x0);
-DeclareType(data->dataType, 0x1, 0x1);
+data->dataType = ProcessTypeString(data->dataTypeString, 0);
+DeclareType(data->dataType, 1, 1);
if(inCompiler)
{
-if(!symbol->pointerExternal)
+if(!symbol->__anon2.__anon1.pointerExternal)
{
struct Declaration * decl;
struct __ecereNameSpace__ecere__sys__OldList * specifiers, * declarators;
if(curExternal)
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), curExternal->prev, external);
external->symbol = symbol;
-symbol->pointerExternal = external;
+symbol->__anon2.__anon1.pointerExternal = external;
}
else
{
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), symbol->pointerExternal, curExternal->prev);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), symbol->__anon2.__anon1.pointerExternal, curExternal->prev);
}
if(curExternal)
symbol->id = curExternal->symbol->idCode;
static struct __ecereNameSpace__ecere__com__Class * __ecereClass_Conversion;
-extern void Compiler_Warning(char * format, ...);
+extern void Compiler_Warning(const char * format, ...);
+
+static unsigned int CheckConstCompatibility(struct Type * source, struct Type * dest, unsigned int warn)
+{
+unsigned int status = 1;
+
+if(((source->kind == 8 && source->__anon1._class && source->__anon1._class->__anon1.registered) || source->kind == 12 || source->kind == 13) && ((dest->kind == 8 && dest->__anon1._class && dest->__anon1._class->__anon1.registered) || dest->kind == 13))
+{
+struct __ecereNameSpace__ecere__com__Class * sourceClass = source->kind == 8 ? source->__anon1._class->__anon1.registered : (((void *)0));
+struct __ecereNameSpace__ecere__com__Class * destClass = dest->kind == 8 ? dest->__anon1._class->__anon1.registered : (((void *)0));
+
+if((!sourceClass || (sourceClass && sourceClass->type == 0 && !sourceClass->structSize)) && (!destClass || (destClass && destClass->type == 0 && !destClass->structSize)))
+{
+struct Type * sourceType = source, * destType = dest;
+
+while((sourceType->kind == 13 || sourceType->kind == 12) && sourceType->__anon1.type)
+sourceType = sourceType->__anon1.type;
+while((destType->kind == 13 || destType->kind == 12) && destType->__anon1.type)
+destType = destType->__anon1.type;
+if(!destType->constant && sourceType->constant)
+{
+status = 0;
+if(warn)
+Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "discarding const qualifier\n", (((void *)0))));
+}
+}
+}
+return status;
+}
+
+extern void CopyTypeInto(struct Type * type, struct Type * src);
void PrintType(struct Type * type, char * string, unsigned int printName, unsigned int fullName);
-unsigned int MatchTypes(struct Type * source, struct Type * dest, struct __ecereNameSpace__ecere__sys__OldList * conversions, struct __ecereNameSpace__ecere__com__Class * owningClassSource, struct __ecereNameSpace__ecere__com__Class * owningClassDest, unsigned int doConversion, unsigned int enumBaseType, unsigned int acceptReversedParams, unsigned int isConversionExploration)
+unsigned int MatchTypes(struct Type * source, struct Type * dest, struct __ecereNameSpace__ecere__sys__OldList * conversions, struct __ecereNameSpace__ecere__com__Class * owningClassSource, struct __ecereNameSpace__ecere__com__Class * owningClassDest, unsigned int doConversion, unsigned int enumBaseType, unsigned int acceptReversedParams, unsigned int isConversionExploration, unsigned int warnConst)
{
if(source && dest)
{
+if(warnConst)
+CheckConstCompatibility(source, dest, 1);
if(source->kind == 20 && dest->kind != 20)
{
-struct Type * type = ProcessTemplateParameterType(source->templateParameter);
+struct Type * type = ProcessTemplateParameterType(source->__anon1.templateParameter);
if(type)
source = type;
}
if(dest->kind == 20 && source->kind != 20)
{
-struct Type * type = ProcessTemplateParameterType(dest->templateParameter);
+struct Type * type = ProcessTemplateParameterType(dest->__anon1.templateParameter);
if(type)
dest = type;
}
-if(dest->classObjectType == 2)
+if(dest->classObjectType == 2 && dest->kind != 11)
{
if(source->classObjectType != 3)
-return 0x1;
+return 1;
else
{
-if((dest->_class && strcmp(dest->_class->string, "class")) || (source->_class && strcmp(source->_class->string, "class")))
+if((dest->__anon1._class && strcmp(dest->__anon1._class->string, "class")) || (source->__anon1._class && strcmp(source->__anon1._class->string, "class")))
{
-return 0x1;
+return 1;
}
}
}
else
{
-if(source->classObjectType == 3)
-return 0x1;
-if(dest->classObjectType == 3 && source->classObjectType != 2)
-return 0x1;
+if(source->kind != 11 && source->classObjectType == 3)
+return 1;
+if(dest->kind != 11 && dest->classObjectType == 3 && source->classObjectType != 2)
+return 1;
}
if((dest->kind == 9 && source->kind == 9) || (dest->kind == 10 && source->kind == 10))
{
-if((dest->enumName && source->enumName && !strcmp(dest->enumName, source->enumName)) || (source->members.first && source->members.first == dest->members.first))
-return 0x1;
+if((dest->__anon1.__anon1.enumName && source->__anon1.__anon1.enumName && !strcmp(dest->__anon1.__anon1.enumName, source->__anon1.__anon1.enumName)) || (source->__anon1.__anon1.members.first && source->__anon1.__anon1.members.first == dest->__anon1.__anon1.members.first))
+return 1;
}
if(dest->kind == 14 && source->kind != 0)
-return 0x1;
-if(dest->kind == 13 && dest->type->kind == 0 && ((source->kind == 8 && (!source->_class || !source->_class->registered || source->_class->registered->type == 1 || source->_class->registered->type == 0 || source->_class->registered->type == 5 || source->_class->registered->type == 1000)) || source->kind == 19 || source->kind == 13 || source->kind == 12 || source->kind == 11 || source->kind == 21))
-return 0x1;
-if(!isConversionExploration && source->kind == 13 && source->type->kind == 0 && ((dest->kind == 8 && (!dest->_class || !dest->_class->registered || dest->_class->registered->type == 1 || dest->_class->registered->type == 0 || dest->_class->registered->type == 5 || dest->_class->registered->type == 1000)) || dest->kind == 19 || dest->kind == 13 || dest->kind == 12 || dest->kind == 11 || dest->kind == 21))
-return 0x1;
-if(((source->kind == 8 && dest->kind == 8) || (source->kind == 19 && dest->kind == 19)) && source->_class)
+return 1;
+if(dest->kind == 13 && dest->__anon1.type->kind == 0 && ((source->kind == 8 && (!source->__anon1._class || !source->__anon1._class->__anon1.registered || source->__anon1._class->__anon1.registered->type == 1 || source->__anon1._class->__anon1.registered->type == 0 || source->__anon1._class->__anon1.registered->type == 5 || source->__anon1._class->__anon1.registered->type == 1000)) || source->kind == 19 || source->kind == 13 || source->kind == 12 || source->kind == 11 || source->kind == 21))
+return 1;
+if(!isConversionExploration && source->kind == 13 && source->__anon1.type->kind == 0 && ((dest->kind == 8 && (!dest->__anon1._class || !dest->__anon1._class->__anon1.registered || dest->__anon1._class->__anon1.registered->type == 1 || dest->__anon1._class->__anon1.registered->type == 0 || dest->__anon1._class->__anon1.registered->type == 5 || dest->__anon1._class->__anon1.registered->type == 1000)) || dest->kind == 19 || dest->kind == 13 || dest->kind == 12 || dest->kind == 11 || dest->kind == 21))
+return 1;
+if(((source->kind == 8 && dest->kind == 8) || (source->kind == 19 && dest->kind == 19)) && source->__anon1._class)
{
-if(source->_class->registered && source->_class->registered->type == 3)
+if(source->__anon1._class->__anon1.registered && source->__anon1._class->__anon1.registered->type == 3)
{
if(conversions != (((void *)0)))
{
-if(source->_class->registered == dest->_class->registered)
-return 0x1;
+if(source->__anon1._class->__anon1.registered == dest->__anon1._class->__anon1.registered)
+return 1;
}
else
{
struct __ecereNameSpace__ecere__com__Class * sourceBase, * destBase;
-for(sourceBase = source->_class->registered; sourceBase && sourceBase->base->type != 1000; sourceBase = sourceBase->base)
+for(sourceBase = source->__anon1._class->__anon1.registered; sourceBase && sourceBase->base->type != 1000; sourceBase = sourceBase->base)
;
-for(destBase = dest->_class->registered; destBase && destBase->base->type != 1000; destBase = destBase->base)
+for(destBase = dest->__anon1._class->__anon1.registered; destBase && destBase->base->type != 1000; destBase = destBase->base)
;
if(sourceBase == destBase)
-return 0x1;
+return 1;
}
}
-else if(source->_class && dest->_class && (dest->classObjectType == source->classObjectType || !dest->classObjectType) && (enumBaseType || (!source->_class->registered || source->_class->registered->type != 4) || (!dest->_class->registered || dest->_class->registered->type != 4)) && __ecereNameSpace__ecere__com__eClass_IsDerived(source->_class->registered, dest->_class->registered))
-return 0x1;
+else if(source->__anon1._class && dest->__anon1._class && (dest->classObjectType == source->classObjectType || !dest->classObjectType) && (enumBaseType || (!source->__anon1._class->__anon1.registered || source->__anon1._class->__anon1.registered->type != 4) || (!dest->__anon1._class->__anon1.registered || dest->__anon1._class->__anon1.registered->type != 4)) && __ecereNameSpace__ecere__com__eClass_IsDerived(source->__anon1._class->__anon1.registered, dest->__anon1._class->__anon1.registered))
+return 1;
else
{
-if(enumBaseType && dest->_class && dest->_class->registered && dest->_class->registered->type == 4 && ((source->_class && source->_class->registered && source->_class->registered->type != 4) || source->kind == 8))
+if(enumBaseType && dest->__anon1._class && dest->__anon1._class->__anon1.registered && dest->__anon1._class->__anon1.registered->type == 4 && ((source->__anon1._class && source->__anon1._class->__anon1.registered && source->__anon1._class->__anon1.registered->type != 4) || source->kind == 8))
{
-if(__ecereNameSpace__ecere__com__eClass_IsDerived(dest->_class->registered, source->_class->registered))
+if(__ecereNameSpace__ecere__com__eClass_IsDerived(dest->__anon1._class->__anon1.registered, source->__anon1._class->__anon1.registered))
{
-return 0x1;
+return 1;
}
}
}
}
-if(source->kind == 19 && dest->kind == 8 && dest->_class && !strcmp(dest->_class->string, "ecere::com::Class"))
-return 0x1;
+if(source->kind == 19 && dest->kind == 8 && dest->__anon1._class && !strcmp(dest->__anon1._class->string, "ecere::com::Class"))
+return 1;
if(doConversion)
{
if(source->kind == 8)
{
struct __ecereNameSpace__ecere__com__Class * _class;
-for(_class = source->_class ? source->_class->registered : (((void *)0)); _class; _class = _class->base)
+for(_class = source->__anon1._class ? source->__anon1._class->__anon1.registered : (((void *)0)); _class; _class = _class->base)
{
struct __ecereNameSpace__ecere__com__Property * convert;
struct Conversion * after = (conversions != (((void *)0))) ? conversions->last : (((void *)0));
if(!convert->dataType)
-convert->dataType = ProcessTypeString(convert->dataTypeString, 0x0);
-if((!isConversionExploration || convert->dataType->kind == 8 || !strcmp(_class->name, "String")) && MatchTypes(convert->dataType, dest, conversions, (((void *)0)), (((void *)0)), (convert->dataType->kind == 8 && !strcmp(convert->dataTypeString, "String")) ? 0x1 : 0x0, convert->dataType->kind == 8, 0x0, 0x1))
+convert->dataType = ProcessTypeString(convert->dataTypeString, 0);
+if((!isConversionExploration || convert->dataType->kind == 8 || !strcmp(_class->name, "String")) && MatchTypes(convert->dataType, dest, conversions, (((void *)0)), (((void *)0)), (convert->dataType->kind == 8 && !strcmp(convert->dataTypeString, "String")) ? 1 : 0, convert->dataType->kind == 8, 0, 1, warnConst))
{
if(!conversions && !convert->Get)
-return 0x1;
+return 1;
else if(conversions != (((void *)0)))
{
-if(_class->type == 3 && convert->dataType->kind == 8 && convert->dataType->_class && convert->dataType->_class->registered && _class->base == convert->dataType->_class->registered->base && (dest->kind != 8 || dest->_class->registered != _class->base))
-return 0x1;
+if(_class->type == 3 && convert->dataType->kind == 8 && convert->dataType->__anon1._class && convert->dataType->__anon1._class->__anon1.registered && _class->base == convert->dataType->__anon1._class->__anon1.registered->base && (dest->kind != 8 || dest->__anon1._class->__anon1.registered != _class->base))
+return 1;
else
{
-struct Conversion * conv = (conv = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Conversion), conv->convert = convert, conv->isGet = 0x1, conv);
+struct Conversion * conv = (conv = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Conversion), conv->convert = convert, conv->isGet = 1, conv);
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(conversions, after, conv);
-return 0x1;
+return 1;
}
}
}
{
struct __ecereNameSpace__ecere__com__Class * _class;
-for(_class = dest->_class ? dest->_class->registered : (((void *)0)); _class; _class = _class->base)
+for(_class = dest->__anon1._class ? dest->__anon1._class->__anon1.registered : (((void *)0)); _class; _class = _class->base)
{
struct __ecereNameSpace__ecere__com__Property * convert;
{
if(convert->memberAccess == 1 || _class->module == privateModule)
{
+struct Type * constType = (((void *)0));
+unsigned int success = 0;
+
if(!convert->dataType)
-convert->dataType = ProcessTypeString(convert->dataTypeString, 0x0);
-if(convert->dataType != dest && MatchTypes(source, convert->dataType, conversions, (((void *)0)), (((void *)0)), 0x1, 0x0, 0x0, 0x1))
+convert->dataType = ProcessTypeString(convert->dataTypeString, 0);
+if(warnConst && convert->dataType->kind == 13 && convert->dataType->__anon1.type && dest->constant)
+{
+struct Type * ptrType = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
+
+constType = __extension__ ({
+struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
+
+__ecereInstance1->kind = 13, __ecereInstance1->refCount = 1, __ecereInstance1->__anon1.type = ptrType, __ecereInstance1;
+});
+CopyTypeInto(ptrType, convert->dataType->__anon1.type);
+ptrType->constant = 1;
+}
+if((constType || convert->dataType != dest) && MatchTypes(source, constType ? constType : convert->dataType, conversions, (((void *)0)), (((void *)0)), 1, 0, 0, 1, warnConst))
{
if(!conversions && !convert->Set)
-return 0x1;
+success = 1;
else if(conversions != (((void *)0)))
{
-if(_class->type == 3 && convert->dataType->kind == 8 && convert->dataType->_class && convert->dataType->_class->registered && _class->base == convert->dataType->_class->registered->base && (source->kind != 8 || source->_class->registered != _class->base))
-return 0x1;
+if(_class->type == 3 && convert->dataType->kind == 8 && convert->dataType->__anon1._class && convert->dataType->__anon1._class->__anon1.registered && _class->base == convert->dataType->__anon1._class->__anon1.registered->base && (source->kind != 8 || source->__anon1._class->__anon1.registered != _class->base))
+success = 1;
else
{
struct Conversion * conv = (conv = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Conversion), conv->convert = convert, conv);
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(conversions, conv);
-return 0x1;
+success = 1;
}
}
}
+if(constType)
+FreeType(constType);
+if(success)
+return 1;
}
}
}
-if(enumBaseType && dest->_class && dest->_class->registered && dest->_class->registered->type == 4)
+if(enumBaseType && dest->__anon1._class && dest->__anon1._class->__anon1.registered && dest->__anon1._class->__anon1.registered->type == 4)
{
-if(!dest->_class->registered->dataType)
-dest->_class->registered->dataType = ProcessTypeString(dest->_class->registered->dataTypeString, 0x0);
-if(dest->_class->registered->dataType->kind == 8 || source->truth || dest->truth)
+if(!dest->__anon1._class->__anon1.registered->dataType)
+dest->__anon1._class->__anon1.registered->dataType = ProcessTypeString(dest->__anon1._class->__anon1.registered->dataTypeString, 0);
+if(dest->__anon1._class->__anon1.registered->dataType->kind == 8 || source->truth || dest->truth)
{
-if(MatchTypes(source, dest->_class->registered->dataType, conversions, (((void *)0)), (((void *)0)), 0x1, dest->_class->registered->dataType->kind == 8, 0x0, 0x0))
+if(MatchTypes(source, dest->__anon1._class->__anon1.registered->dataType, conversions, (((void *)0)), (((void *)0)), 1, dest->__anon1._class->__anon1.registered->dataType->kind == 8, 0, 0, warnConst))
{
-return 0x1;
+return 1;
}
}
}
{
struct __ecereNameSpace__ecere__com__Class * _class;
-for(_class = source->_class ? source->_class->registered : (((void *)0)); _class; _class = _class->base)
+for(_class = source->__anon1._class ? source->__anon1._class->__anon1.registered : (((void *)0)); _class; _class = _class->base)
{
struct __ecereNameSpace__ecere__com__Property * convert;
struct Conversion * after = (conversions != (((void *)0))) ? conversions->last : (((void *)0));
if(!convert->dataType)
-convert->dataType = ProcessTypeString(convert->dataTypeString, 0x0);
-if(convert->dataType != source && (!isConversionExploration || convert->dataType->kind == 8 || !strcmp(_class->name, "String")) && MatchTypes(convert->dataType, dest, conversions, (((void *)0)), (((void *)0)), convert->dataType->kind == 8, convert->dataType->kind == 8, 0x0, 0x1))
+convert->dataType = ProcessTypeString(convert->dataTypeString, 0);
+if(convert->dataType != source && (!isConversionExploration || convert->dataType->kind == 8 || !strcmp(_class->name, "String")) && MatchTypes(convert->dataType, dest, conversions, (((void *)0)), (((void *)0)), convert->dataType->kind == 8, convert->dataType->kind == 8, 0, 1, warnConst))
{
if(!conversions && !convert->Get)
-return 0x1;
+return 1;
else if(conversions != (((void *)0)))
{
-if(_class->type == 3 && convert->dataType->kind == 8 && convert->dataType->_class && convert->dataType->_class->registered && _class->base == convert->dataType->_class->registered->base && (dest->kind != 8 || dest->_class->registered != _class->base))
-return 0x1;
+if(_class->type == 3 && convert->dataType->kind == 8 && convert->dataType->__anon1._class && convert->dataType->__anon1._class->__anon1.registered && _class->base == convert->dataType->__anon1._class->__anon1.registered->base && (dest->kind != 8 || dest->__anon1._class->__anon1.registered != _class->base))
+return 1;
else
{
-struct Conversion * conv = (conv = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Conversion), conv->convert = convert, conv->isGet = 0x1, conv);
+struct Conversion * conv = (conv = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Conversion), conv->convert = convert, conv->isGet = 1, conv);
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(conversions, after, conv);
-return 0x1;
+return 1;
}
}
}
}
}
}
-if(enumBaseType && source->_class && source->_class->registered && source->_class->registered->type == 4)
+if(enumBaseType && source->__anon1._class && source->__anon1._class->__anon1.registered && source->__anon1._class->__anon1.registered->type == 4)
{
-if(!source->_class->registered->dataType)
-source->_class->registered->dataType = ProcessTypeString(source->_class->registered->dataTypeString, 0x0);
-if(!isConversionExploration || source->_class->registered->dataType->kind == 8 || !strcmp(source->_class->registered->name, "String"))
+if(!source->__anon1._class->__anon1.registered->dataType)
+source->__anon1._class->__anon1.registered->dataType = ProcessTypeString(source->__anon1._class->__anon1.registered->dataTypeString, 0);
+if(!isConversionExploration || source->__anon1._class->__anon1.registered->dataType->kind == 8 || !strcmp(source->__anon1._class->__anon1.registered->name, "String"))
{
-if(MatchTypes(source->_class->registered->dataType, dest, conversions, (((void *)0)), (((void *)0)), source->_class->registered->dataType->kind == 8, source->_class->registered->dataType->kind == 8, 0x0, 0x0))
-return 0x1;
-else if(MatchTypes(dest, source->_class->registered->dataType, (((void *)0)), (((void *)0)), (((void *)0)), 0x0, 0x0, 0x0, 0x0))
-return 0x1;
+if(MatchTypes(source->__anon1._class->__anon1.registered->dataType, dest, conversions, (((void *)0)), (((void *)0)), source->__anon1._class->__anon1.registered->dataType->kind == 8, source->__anon1._class->__anon1.registered->dataType->kind == 8, 0, 0, warnConst))
+return 1;
+else if(MatchTypes(dest, source->__anon1._class->__anon1.registered->dataType, (((void *)0)), (((void *)0)), (((void *)0)), 0, 0, 0, 0, warnConst))
+return 1;
}
}
}
if(source->kind == 8 || source->kind == 19)
;
else if(dest->kind == source->kind && (dest->kind != 9 && dest->kind != 10 && dest->kind != 11 && dest->kind != 12 && dest->kind != 13 && dest->kind != 16))
-return 0x1;
+return 1;
else if(dest->kind == 7 && source->kind == 6)
-return 0x1;
+return 1;
else if(dest->kind == 2 && (source->kind == 1 || source->kind == 24))
-return 0x1;
+return 1;
else if(dest->kind == 3 && (source->kind == 2 || source->kind == 1 || source->kind == 24 || source->kind == 23))
-return 0x1;
+return 1;
else if(dest->kind == 4 && (source->kind == 2 || source->kind == 1 || source->kind == 24 || source->kind == 3 || source->kind == 22 || source->kind == 23))
-return 0x1;
+return 1;
else if(dest->kind == 22 && (source->kind == 2 || source->kind == 1 || source->kind == 24 || source->kind == 3 || source->kind == 23 || source->kind == 4))
-return 0x1;
+return 1;
else if(dest->kind == 23 && (source->kind == 2 || source->kind == 1 || source->kind == 24 || source->kind == 3 || source->kind == 4 || source->kind == 22))
-return 0x1;
+return 1;
else if(source->kind == 15 && (dest->kind == 3 || dest->kind == 2 || dest->kind == 1 || source->kind == 24 || dest->kind == 5 || dest->kind == 4 || dest->kind == 22 || dest->kind == 23))
-return 0x1;
+return 1;
else if(dest->kind == 15 && !isConversionExploration && (source->kind == 3 || source->kind == 2 || source->kind == 1 || source->kind == 24 || source->kind == 5 || source->kind == 4 || source->kind == 22 || source->kind == 23))
-return 0x1;
-else if((dest->kind == 11 || (dest->kind == 13 && dest->type->kind == 11) || dest->kind == 16) && ((source->kind == 11 || (source->kind == 13 && source->type->kind == 11) || source->kind == 16)))
+return 1;
+else if((dest->kind == 11 || (dest->kind == 13 && dest->__anon1.type->kind == 11) || dest->kind == 16) && ((source->kind == 11 || (source->kind == 13 && source->__anon1.type->kind == 11) || source->kind == 16)))
{
struct Type * paramSource, * paramDest;
if(dest->kind == 16)
-owningClassDest = dest->methodClass ? dest->methodClass : dest->method->_class;
+owningClassDest = dest->__anon1.__anon3.methodClass ? dest->__anon1.__anon3.methodClass : dest->__anon1.__anon3.method->_class;
if(source->kind == 16)
-owningClassSource = source->methodClass ? source->methodClass : source->method->_class;
-if(dest->kind == 13 && dest->type->kind == 11)
-dest = dest->type;
-if(source->kind == 13 && source->type->kind == 11)
-source = source->type;
+owningClassSource = source->__anon1.__anon3.methodClass ? source->__anon1.__anon3.methodClass : source->__anon1.__anon3.method->_class;
+if(dest->kind == 13 && dest->__anon1.type->kind == 11)
+dest = dest->__anon1.type;
+if(source->kind == 13 && source->__anon1.type->kind == 11)
+source = source->__anon1.type;
if(dest->kind == 16)
-dest = dest->method->dataType;
+dest = dest->__anon1.__anon3.method->dataType;
if(source->kind == 16)
-source = source->method->dataType;
-paramSource = source->params.first;
+source = source->__anon1.__anon3.method->dataType;
+paramSource = source->__anon1.__anon2.params.first;
if(paramSource && paramSource->kind == 0)
paramSource = (((void *)0));
-paramDest = dest->params.first;
+paramDest = dest->__anon1.__anon2.params.first;
if(paramDest && paramDest->kind == 0)
paramDest = (((void *)0));
-if((dest->staticMethod || (!dest->thisClass && !owningClassDest)) && !(source->staticMethod || (!source->thisClass && !owningClassSource)))
+if((dest->__anon1.__anon2.staticMethod || (!dest->__anon1.__anon2.thisClass && !owningClassDest)) && !(source->__anon1.__anon2.staticMethod || (!source->__anon1.__anon2.thisClass && !owningClassSource)))
{
-if(!paramDest || (!(paramDest->kind == 13 && paramDest->type && paramDest->type->kind == 0) && (paramDest->kind != 8 || !__ecereNameSpace__ecere__com__eClass_IsDerived(source->thisClass ? source->thisClass->registered : owningClassSource, paramDest->_class->registered))))
+if(!paramDest || (!(paramDest->kind == 13 && paramDest->__anon1.type && paramDest->__anon1.type->kind == 0) && (paramDest->kind != 8 || !__ecereNameSpace__ecere__com__eClass_IsDerived(source->__anon1.__anon2.thisClass ? source->__anon1.__anon2.thisClass->__anon1.registered : owningClassSource, paramDest->__anon1._class->__anon1.registered))))
{
if(paramDest && paramDest->kind == 8)
-Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "method class must be derived from %s\n", (((void *)0))), paramDest->_class->string);
+Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "method class must be derived from %s\n", (((void *)0))), paramDest->__anon1._class->string);
else
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "method class should not take an object\n", (((void *)0))));
-return 0x0;
+return 0;
}
paramDest = paramDest->next;
}
-else if(!dest->staticMethod && (dest->thisClass || owningClassDest))
+else if(!dest->__anon1.__anon2.staticMethod && (dest->__anon1.__anon2.thisClass || owningClassDest))
{
-if((source->staticMethod || (!source->thisClass && !owningClassSource)))
+if((source->__anon1.__anon2.staticMethod || (!source->__anon1.__anon2.thisClass && !owningClassSource)))
{
-if(dest->thisClass)
+if(dest->__anon1.__anon2.thisClass)
{
-if(!paramSource || paramSource->kind != 8 || !__ecereNameSpace__ecere__com__eClass_IsDerived(paramSource->_class->registered, dest->thisClass->registered))
+if(!paramSource || paramSource->kind != 8 || !__ecereNameSpace__ecere__com__eClass_IsDerived(paramSource->__anon1._class->__anon1.registered, dest->__anon1.__anon2.thisClass->__anon1.registered))
{
-Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "method class must be derived from %s\n", (((void *)0))), dest->thisClass->string);
-return 0x0;
+Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "method class must be derived from %s\n", (((void *)0))), dest->__anon1.__anon2.thisClass->string);
+return 0;
}
}
else
{
-if(!paramSource || paramSource->kind != 8 || (owningClassDest && !__ecereNameSpace__ecere__com__eClass_IsDerived(paramSource->_class->registered, owningClassDest)))
+if(!paramSource || paramSource->kind != 8 || (owningClassDest && !__ecereNameSpace__ecere__com__eClass_IsDerived(paramSource->__anon1._class->__anon1.registered, owningClassDest)))
{
if(owningClassDest)
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "%s expected to be derived from method class\n", (((void *)0))), owningClassDest->fullName);
else
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "overriding class expected to be derived from method class\n", (((void *)0))));
-return 0x0;
+return 0;
}
}
paramSource = paramSource->next;
}
else
{
-if(dest->thisClass)
+if(dest->__anon1.__anon2.thisClass)
{
-if(!__ecereNameSpace__ecere__com__eClass_IsDerived(source->thisClass ? source->thisClass->registered : owningClassSource, dest->thisClass->registered))
+if(!__ecereNameSpace__ecere__com__eClass_IsDerived(source->__anon1.__anon2.thisClass ? source->__anon1.__anon2.thisClass->__anon1.registered : owningClassSource, dest->__anon1.__anon2.thisClass->__anon1.registered))
{
-Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "method class must be derived from %s\n", (((void *)0))), dest->thisClass->string);
-return 0x0;
+Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "method class must be derived from %s\n", (((void *)0))), dest->__anon1.__anon2.thisClass->string);
+return 0;
}
}
else
{
-if(source->thisClass && source->thisClass->registered && owningClassDest && !__ecereNameSpace__ecere__com__eClass_IsDerived(source->thisClass->registered, owningClassDest))
+if(source->__anon1.__anon2.thisClass && source->__anon1.__anon2.thisClass->__anon1.registered && owningClassDest && !__ecereNameSpace__ecere__com__eClass_IsDerived(source->__anon1.__anon2.thisClass->__anon1.registered, owningClassDest))
{
-Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "%s expected to be derived from method class\n", (((void *)0))), source->thisClass->registered->fullName);
-return 0x0;
+Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "%s expected to be derived from method class\n", (((void *)0))), source->__anon1.__anon2.thisClass->__anon1.registered->fullName);
+return 0;
}
}
}
}
-if(!MatchTypes(source->returnType, dest->returnType, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0))
+if(!MatchTypes(source->__anon1.__anon2.returnType, dest->__anon1.__anon2.returnType, (((void *)0)), (((void *)0)), (((void *)0)), 1, 1, 0, 0, warnConst))
{
Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "incompatible return type for function\n", (((void *)0))));
-return 0x0;
+return 0;
}
+else
+CheckConstCompatibility(dest->__anon1.__anon2.returnType, source->__anon1.__anon2.returnType, 1);
for(; paramDest; paramDest = paramDest->next)
{
if(!paramSource)
{
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "not enough parameters\n", (((void *)0))));
-return 0x0;
+return 0;
}
{
struct Type * paramDestType = paramDest;
struct Type * paramSourceType = paramSource;
struct Type * type = paramDestType;
-if(paramDest->kind == 20 && paramDest->templateParameter->type == 0 && owningClassSource && paramSource->kind != 20)
+if(paramDest->kind == 20 && paramDest->__anon1.templateParameter->type == 0 && owningClassSource && paramSource->kind != 20)
{
int id = 0;
struct __ecereNameSpace__ecere__com__ClassTemplateParameter * curParam = (((void *)0));
sClass = sClass->templateClass;
for(curParam = sClass->templateParams.first; curParam; curParam = curParam->next)
{
-if(curParam->type == 0 && !strcmp(type->templateParameter->identifier->string, curParam->name))
+if(curParam->type == 0 && !strcmp(type->__anon1.templateParameter->identifier->string, curParam->name))
{
for(sClass = sClass->base; sClass; sClass = sClass->base)
{
{
struct __ecereNameSpace__ecere__com__ClassTemplateArgument arg = owningClassSource->templateArgs[id];
-paramDestType = type = ProcessTypeString(arg.dataTypeString, 0x0);
+paramDestType = type = ProcessTypeString(arg.__anon1.__anon1.dataTypeString, 0);
}
}
-if(!MatchTypes(paramDestType, paramSourceType, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0) && (!acceptReversedParams || !MatchTypes(paramSourceType, paramDestType, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0)))
+if(!MatchTypes(paramDestType, paramSourceType, (((void *)0)), (((void *)0)), (((void *)0)), 1, 1, 0, 0, warnConst) && (!acceptReversedParams || !MatchTypes(paramSourceType, paramDestType, (((void *)0)), (((void *)0)), (((void *)0)), 1, 1, 0, 0, warnConst)))
{
char type[1024];
type[0] = (char)0;
-PrintType(paramDest, type, 0x0, 0x1);
+PrintType(paramDest, type, 0, 1);
Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "incompatible parameter %s (expected %s)\n", (((void *)0))), paramSource->name, type);
if(paramDestType != paramDest)
FreeType(paramDestType);
-return 0x0;
+return 0;
}
if(paramDestType != paramDest)
FreeType(paramDestType);
if(paramSource)
{
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "too many parameters\n", (((void *)0))));
-return 0x0;
+return 0;
}
-return 0x1;
+return 1;
}
-else if((dest->kind == 11 || (dest->kind == 13 && dest->type->kind == 11) || dest->kind == 16) && (source->kind == 13 && source->type->kind == 0))
+else if((dest->kind == 11 || (dest->kind == 13 && dest->__anon1.type->kind == 11) || dest->kind == 16) && (source->kind == 13 && source->__anon1.type->kind == 0))
{
-return 0x1;
+return 1;
}
else if((dest->kind == 13 || dest->kind == 12) && (source->kind == 12 || source->kind == 13))
{
-if(MatchTypes(source->type, dest->type, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0))
-return 0x1;
+if(MatchTypes(source->__anon1.type, dest->__anon1.type, (((void *)0)), (((void *)0)), (((void *)0)), 1, 1, 0, 0, warnConst))
+return 1;
}
}
-return 0x0;
+return 0;
}
static void FreeConvert(struct Conversion * convert)
struct __ecereNameSpace__ecere__com__BTNamedLink
{
-char * name;
+const char * name;
struct __ecereNameSpace__ecere__com__BTNamedLink * parent;
struct __ecereNameSpace__ecere__com__BTNamedLink * left;
struct __ecereNameSpace__ecere__com__BTNamedLink * right;
struct __ecereNameSpace__ecere__com__EnumClassData
{
struct __ecereNameSpace__ecere__sys__OldList values;
-int largest;
+long long largest;
} __attribute__ ((gcc_struct));
-extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__NamedLink;
+extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__NamedLink64;
-struct __ecereNameSpace__ecere__sys__NamedLink
+struct __ecereNameSpace__ecere__sys__NamedLink64
{
-struct __ecereNameSpace__ecere__sys__NamedLink * prev;
-struct __ecereNameSpace__ecere__sys__NamedLink * next;
+struct __ecereNameSpace__ecere__sys__NamedLink64 * prev;
+struct __ecereNameSpace__ecere__sys__NamedLink64 * next;
char * name;
-void * data;
+long long data;
} __attribute__ ((gcc_struct));
extern void FreeExpContents(struct Expression * exp);
if(_class->type == 4)
{
-struct __ecereNameSpace__ecere__sys__OldList converts =
+struct __ecereNameSpace__ecere__sys__OldList converts =
{
0, 0, 0, 0, 0
};
type->kind = 8;
if(!_class->symbol)
_class->symbol = FindClass(_class->fullName);
-type->_class = _class->symbol;
-if(MatchTypes(type, dest, &converts, (((void *)0)), (((void *)0)), 0x1, 0x0, 0x0, 0x0))
+type->__anon1._class = _class->symbol;
+if(MatchTypes(type, dest, &converts, (((void *)0)), (((void *)0)), 1, 0, 0, 0, 0))
{
-struct __ecereNameSpace__ecere__sys__NamedLink * value;
+struct __ecereNameSpace__ecere__sys__NamedLink64 * value;
struct __ecereNameSpace__ecere__com__Class * enumClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "enum");
if(enumClass)
{
FreeExpContents(sourceExp);
FreeType(sourceExp->expType);
-sourceExp->isConstant = 0x1;
+sourceExp->isConstant = 1;
sourceExp->expType = MkClassType(baseClass->fullName);
{
char constant[256];
sourceExp->type = 2;
-if(!strcmp(baseClass->dataTypeString, "int"))
-sprintf(constant, "%d", (int)value->data);
+if(!strcmp(baseClass->dataTypeString, "int") || !strcmp(baseClass->dataTypeString, "int64") || !strcmp(baseClass->dataTypeString, "short") || !strcmp(baseClass->dataTypeString, "char"))
+sprintf(constant, ((__runtimePlatform == 1) ? "%I64d" : "%lld"), value->data);
else
-sprintf(constant, "0x%X", (int)value->data);
-sourceExp->constant = __ecereNameSpace__ecere__sys__CopyString(constant);
+sprintf(constant, ((__runtimePlatform == 1) ? "0x%I64XLL" : "0x%llXLL"), value->data);
+sourceExp->__anon1.__anon1.constant = __ecereNameSpace__ecere__sys__CopyString(constant);
}
while(converts.first)
{
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(&converts, convert);
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(conversions, convert);
}
-((type ? (__ecereClass_Type->Destructor ? __ecereClass_Type->Destructor(type) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(type)) : 0), type = 0);
-return 0x1;
+((type ? (__ecereClass_Type->Destructor ? __ecereClass_Type->Destructor((void *)type) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(type)) : 0), type = 0);
+return 1;
}
}
}
}
if(converts.first)
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Free(&converts, FreeConvert);
-((type ? (__ecereClass_Type->Destructor ? __ecereClass_Type->Destructor(type) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(type)) : 0), type = 0);
+((type ? (__ecereClass_Type->Destructor ? __ecereClass_Type->Destructor((void *)type) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(type)) : 0), type = 0);
}
}
for(nameSpace = (struct __ecereNameSpace__ecere__com__NameSpace *)__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first(&nameSpace->nameSpaces); nameSpace != (((void *)0)); nameSpace = (struct __ecereNameSpace__ecere__com__NameSpace *)__ecereProp___ecereNameSpace__ecere__sys__BTNode_Get_next(((struct __ecereNameSpace__ecere__sys__BTNode *)nameSpace)))
if(MatchWithEnums_NameSpace(nameSpace, sourceExp, dest, string, conversions))
-return 0x1;
-return 0x0;
+return 1;
+return 0;
}
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SubModule;
struct __ecereNameSpace__ecere__com__SubModule * subModule;
if(searchFor == searchIn)
-return 0x1;
+return 1;
for(subModule = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)searchIn + structSize_Instance)))->modules.first; subModule; subModule = subModule->next)
{
if(subModule->importMode == 1 || searchIn == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)searchIn + structSize_Instance)))->application)
{
if(ModuleVisibility(subModule->module, searchFor))
-return 0x1;
+return 1;
}
}
-return 0x0;
+return 0;
}
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Application;
struct __ecereNameSpace__ecere__com__Application
{
int argc;
-char * * argv;
+const char * * argv;
int exitCode;
unsigned int isGUIApp;
struct __ecereNameSpace__ecere__sys__OldList allModules;
struct __ecereNameSpace__ecere__com__Instance * module;
if(MatchWithEnums_NameSpace(&((struct __ecereNameSpace__ecere__com__Application *)(((char *)((struct __ecereNameSpace__ecere__com__Module *)(((char *)mainModule + structSize_Instance)))->application + structSize_Module)))->systemNameSpace, sourceExp, dest, string, conversions))
-return 0x1;
+return 1;
if(MatchWithEnums_NameSpace(&((struct __ecereNameSpace__ecere__com__Module *)(((char *)((struct __ecereNameSpace__ecere__com__Module *)(((char *)mainModule + structSize_Instance)))->application + structSize_Instance)))->privateNameSpace, sourceExp, dest, string, conversions))
-return 0x1;
+return 1;
if(MatchWithEnums_NameSpace(&((struct __ecereNameSpace__ecere__com__Module *)(((char *)((struct __ecereNameSpace__ecere__com__Module *)(((char *)mainModule + structSize_Instance)))->application + structSize_Instance)))->publicNameSpace, sourceExp, dest, string, conversions))
-return 0x1;
+return 1;
for(module = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)((struct __ecereNameSpace__ecere__com__Module *)(((char *)mainModule + structSize_Instance)))->application + structSize_Module)))->allModules.first; module; module = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->next)
{
if(ModuleVisibility(mainModule, module) && MatchWithEnums_NameSpace(&((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->publicNameSpace, sourceExp, dest, string, conversions))
-return 0x1;
+return 1;
}
-return 0x0;
+return 0;
}
extern struct Expression * CopyExpression(struct Expression * exp);
extern struct Specifier * MkEnum(struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * list);
-extern struct TypeName * QMkClass(char * spec, struct Declarator * decl);
+extern struct TypeName * QMkClass(const char * spec, struct Declarator * decl);
extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
-unsigned int MatchTypeExpression(struct Expression * sourceExp, struct Type * dest, struct __ecereNameSpace__ecere__sys__OldList * conversions, unsigned int skipUnitBla)
+unsigned int MatchTypeExpression(struct Expression * sourceExp, struct Type * dest, struct __ecereNameSpace__ecere__sys__OldList * conversions, unsigned int skipUnitBla, unsigned int warnConst)
{
struct Type * source;
struct Type * realDest = dest;
struct Expression * computedExp = sourceExp;
dest->refCount++;
-if(sourceExp->isConstant && sourceExp->type != 2 && sourceExp->type != 0 && sourceExp->type != 11 && dest->kind == 8 && dest->_class && dest->_class->registered && dest->_class->registered->type == 4)
+if(sourceExp->isConstant && sourceExp->type != 2 && sourceExp->type != 0 && sourceExp->type != 11 && dest->kind == 8 && dest->__anon1._class && dest->__anon1._class->__anon1.registered && dest->__anon1._class->__anon1.registered->type == 4)
{
computedExp = CopyExpression(sourceExp);
ComputeExpression(computedExp);
}
source = sourceExp->expType;
-if(dest->kind == 13 && sourceExp->type == 2 && !strtoul(sourceExp->constant, (((void *)0)), 0))
+if(dest->kind == 13 && sourceExp->type == 2 && !strtoul(sourceExp->__anon1.__anon1.constant, (((void *)0)), 0))
{
if(computedExp != sourceExp)
{
computedExp = sourceExp;
}
FreeType(dest);
-return 0x1;
+return 1;
}
if(!skipUnitBla && source && dest && source->kind == 8 && dest->kind == 8)
{
-if(source->_class && source->_class->registered && source->_class->registered->type == 3)
+if(source->__anon1._class && source->__anon1._class->__anon1.registered && source->__anon1._class->__anon1.registered->type == 3)
{
struct __ecereNameSpace__ecere__com__Class * sourceBase, * destBase;
-for(sourceBase = source->_class->registered; sourceBase && sourceBase->base && sourceBase->base->type != 1000; sourceBase = sourceBase->base)
+for(sourceBase = source->__anon1._class->__anon1.registered; sourceBase && sourceBase->base && sourceBase->base->type != 1000; sourceBase = sourceBase->base)
;
-for(destBase = dest->_class->registered; destBase && destBase->base && destBase->base->type != 1000; destBase = destBase->base)
+for(destBase = dest->__anon1._class->__anon1.registered; destBase && destBase->base && destBase->base->type != 1000; destBase = destBase->base)
;
if(sourceBase == destBase)
{
computedExp = sourceExp;
}
FreeType(dest);
-return 0x1;
+return 1;
}
}
}
if(source)
{
struct __ecereNameSpace__ecere__sys__OldList * specs;
-unsigned int flag = 0x0;
+unsigned int flag = 0;
long long value = (((int)0x7fffffff));
source->refCount++;
if(computedExp->type == 2)
{
if(source->isSigned)
-value = strtoll(computedExp->constant, (((void *)0)), 0);
+value = strtoll(computedExp->__anon1.__anon1.constant, (((void *)0)), 0);
else
-value = strtoull(computedExp->constant, (((void *)0)), 0);
+value = strtoull(computedExp->__anon1.__anon1.constant, (((void *)0)), 0);
}
-else if(computedExp->type == 4 && sourceExp->op.op == '-' && !computedExp->op.exp1 && computedExp->op.exp2 && computedExp->op.exp2->type == 2)
+else if(computedExp->type == 4 && sourceExp->__anon1.op.op == '-' && !computedExp->__anon1.op.exp1 && computedExp->__anon1.op.exp2 && computedExp->__anon1.op.exp2->type == 2)
{
if(source->isSigned)
-value = -strtoll(computedExp->op.exp2->constant, (((void *)0)), 0);
+value = -strtoll(computedExp->__anon1.op.exp2->__anon1.__anon1.constant, (((void *)0)), 0);
else
-value = -strtoull(computedExp->op.exp2->constant, (((void *)0)), 0);
+value = -strtoull(computedExp->__anon1.op.exp2->__anon1.__anon1.constant, (((void *)0)), 0);
}
if(computedExp != sourceExp)
{
FreeExpression(computedExp);
computedExp = sourceExp;
}
-if(dest->kind != 8 && source->kind == 8 && source->_class && source->_class->registered && !strcmp(source->_class->registered->fullName, "ecere::com::unichar"))
+if(dest->kind != 8 && source->kind == 8 && source->__anon1._class && source->__anon1._class->__anon1.registered && !strcmp(source->__anon1._class->__anon1.registered->fullName, "ecere::com::unichar"))
{
FreeType(source);
source = __extension__ ({
struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
-__ecereInstance1->kind = 3, __ecereInstance1->isSigned = 0x0, __ecereInstance1->refCount = 1, __ecereInstance1;
+__ecereInstance1->kind = 3, __ecereInstance1->isSigned = 0, __ecereInstance1->refCount = 1, __ecereInstance1;
});
}
if(dest->kind == 8)
{
-struct __ecereNameSpace__ecere__com__Class * _class = dest->_class ? dest->_class->registered : (((void *)0));
+struct __ecereNameSpace__ecere__com__Class * _class = dest->__anon1._class ? dest->__anon1._class->__anon1.registered : (((void *)0));
if(_class && _class->type == 3)
{
tempType->kind = 8;
if(!_class->symbol)
_class->symbol = FindClass(_class->fullName);
-tempType->_class = _class->symbol;
+tempType->__anon1._class = _class->symbol;
tempType->truth = dest->truth;
-if(tempType->_class)
-MatchTypes(tempSource, tempDest, conversions, (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0);
+if(tempType->__anon1._class)
+MatchTypes(tempSource, tempDest, conversions, (((void *)0)), (((void *)0)), 1, 1, 0, 0, warnConst);
backupSourceExpType = sourceExp->expType;
sourceExp->expType = dest;
dest->refCount++;
-flag = 0x1;
-((tempType ? (__ecereClass_Type->Destructor ? __ecereClass_Type->Destructor(tempType) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(tempType)) : 0), tempType = 0);
+flag = 1;
+((tempType ? (__ecereClass_Type->Destructor ? __ecereClass_Type->Destructor((void *)tempType) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(tempType)) : 0), tempType = 0);
}
}
if(_class && _class->type == 2 && source->kind != 8)
{
-if(!dest->_class->registered->dataType)
-dest->_class->registered->dataType = ProcessTypeString(dest->_class->registered->dataTypeString, 0x0);
-if(MatchTypes(source, dest->_class->registered->dataType, conversions, (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0))
+if(!dest->__anon1._class->__anon1.registered->dataType)
+dest->__anon1._class->__anon1.registered->dataType = ProcessTypeString(dest->__anon1._class->__anon1.registered->dataTypeString, 0);
+if(MatchTypes(source, dest->__anon1._class->__anon1.registered->dataType, conversions, (((void *)0)), (((void *)0)), 1, 1, 0, 0, warnConst))
{
FreeType(source);
FreeType(sourceExp->expType);
-source = sourceExp->expType = MkClassType(dest->_class->string);
+source = sourceExp->expType = MkClassType(dest->__anon1._class->string);
source->refCount++;
}
}
-if(_class && !strcmp(_class->fullName, "ecere::com::Class") && source->kind == 13 && source->type && source->type->kind == 1 && sourceExp->type == 3)
+if(_class && !strcmp(_class->fullName, "ecere::com::Class") && source->kind == 13 && source->__anon1.type && source->__anon1.type->kind == 1 && sourceExp->type == 3)
{
struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
struct Declarator * decl;
char string[1024];
-ReadString(string, sourceExp->string);
+ReadString(string, sourceExp->__anon1.__anon2.string);
decl = SpecDeclFromString(string, specs, (((void *)0)));
FreeExpContents(sourceExp);
FreeType(sourceExp->expType);
sourceExp->type = 24;
-sourceExp->_classExp.specifiers = specs;
-sourceExp->_classExp.decl = decl;
+sourceExp->__anon1._classExp.specifiers = specs;
+sourceExp->__anon1._classExp.decl = decl;
sourceExp->expType = dest;
dest->refCount++;
FreeType(source);
FreeType(dest);
if(backupSourceExpType)
FreeType(backupSourceExpType);
-return 0x1;
+return 1;
}
}
else if(source->kind == 8)
{
-struct __ecereNameSpace__ecere__com__Class * _class = source->_class ? source->_class->registered : (((void *)0));
+struct __ecereNameSpace__ecere__com__Class * _class = source->__anon1._class ? source->__anon1._class->__anon1.registered : (((void *)0));
if(_class && (_class->type == 3 || _class->type == 2))
{
struct Type * tempType = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
struct Type * tempDest, * tempSource;
-if(!source->_class->registered->dataType)
-source->_class->registered->dataType = ProcessTypeString(source->_class->registered->dataTypeString, 0x0);
+if(!source->__anon1._class->__anon1.registered->dataType)
+source->__anon1._class->__anon1.registered->dataType = ProcessTypeString(source->__anon1._class->__anon1.registered->dataTypeString, 0);
for(; _class->base->type != 1000; _class = _class->base)
;
tempDest = source;
tempSource = tempType;
tempType->kind = 8;
-tempType->_class = FindClass(_class->fullName);
+tempType->__anon1._class = FindClass(_class->fullName);
tempType->truth = source->truth;
tempType->classObjectType = source->classObjectType;
-if(tempType->_class)
-MatchTypes(tempSource, tempDest, conversions, (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0);
+if(tempType->__anon1._class)
+MatchTypes(tempSource, tempDest, conversions, (((void *)0)), (((void *)0)), 1, 1, 0, 0, warnConst);
if(conversions->last)
{
((struct Conversion *)conversions->last)->resultType = dest;
sourceExp->expType->refCount++;
}
if(!_class->dataType)
-_class->dataType = ProcessTypeString(_class->dataTypeString, 0x0);
+_class->dataType = ProcessTypeString(_class->dataTypeString, 0);
FreeType(dest);
-dest = MkClassType(source->_class->string);
+dest = MkClassType(source->__anon1._class->string);
dest->truth = source->truth;
dest->classObjectType = source->classObjectType;
FreeType(source);
source = _class->dataType;
source->refCount++;
-((tempType ? (__ecereClass_Type->Destructor ? __ecereClass_Type->Destructor(tempType) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(tempType)) : 0), tempType = 0);
+((tempType ? (__ecereClass_Type->Destructor ? __ecereClass_Type->Destructor((void *)tempType) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(tempType)) : 0), tempType = 0);
}
}
}
if(!flag)
{
-if(MatchTypes(source, dest, conversions, (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0))
+if(MatchTypes(source, dest, conversions, (((void *)0)), (((void *)0)), 1, 1, 0, 0, warnConst))
{
FreeType(source);
FreeType(dest);
-return 0x1;
+return 1;
}
}
if(dest->kind == 8)
{
-struct __ecereNameSpace__ecere__com__Class * _class = dest->_class ? dest->_class->registered : (((void *)0));
-unsigned int fittingValue = 0x0;
+struct __ecereNameSpace__ecere__com__Class * _class = dest->__anon1._class ? dest->__anon1._class->__anon1.registered : (((void *)0));
+unsigned int fittingValue = 0;
if(_class && _class->type == 4)
{
struct __ecereNameSpace__ecere__com__EnumClassData * c = (_class ? ((void *)(((char *)_class->data) + enumClass->offsetClass)) : (((void *)0)));
if(c && value >= 0 && value <= c->largest)
-fittingValue = 0x1;
+fittingValue = 1;
}
if(_class && !dest->truth && (_class->type == 3 || fittingValue || (_class->type != 1 && !value && source->kind == 3) || _class->type == 2))
{
if(sourceExp->expType)
sourceExp->expType->refCount++;
sourceExp->type = 11;
-sourceExp->cast.typeName = MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0))));
-sourceExp->cast.exp = newExp;
+sourceExp->__anon1.cast.typeName = MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0))));
+sourceExp->__anon1.cast.exp = newExp;
FreeType(sourceExp->expType);
sourceExp->expType = (((void *)0));
ProcessExpressionType(sourceExp);
FreeType(dest);
if(backupSourceExpType)
FreeType(backupSourceExpType);
-return 0x1;
+return 1;
}
if(!_class->dataType)
-_class->dataType = ProcessTypeString(_class->dataTypeString, 0x0);
+_class->dataType = ProcessTypeString(_class->dataTypeString, 0);
FreeType(dest);
dest = _class->dataType;
dest->refCount++;
FreeType(sourceExp->expType);
sourceExp->expType = backupSourceExpType;
}
-return 0x0;
+return 0;
}
}
else if(dest->kind == 7 && (source->kind == 7 || source->kind == 6 || source->kind == 4 || source->kind == 3 || source->kind == 15 || source->kind == 2 || source->kind == 24 || source->kind == 1))
}
else if(dest->kind == 15 && (source->kind == 4 || source->kind == 3 || source->kind == 2 || source->kind == 24 || source->kind == 1))
{
-specs = MkListOne(MkEnum(MkIdentifier(dest->enumName), (((void *)0))));
+specs = MkListOne(MkEnum(MkIdentifier(dest->__anon1.__anon1.enumName), (((void *)0))));
}
else
{
FreeType(sourceExp->expType);
sourceExp->expType = backupSourceExpType;
}
-return 0x0;
+return 0;
}
if(!flag && !sourceExp->opDestType)
{
sourceExp->type = 11;
if(realDest->kind == 8)
{
-sourceExp->cast.typeName = QMkClass(realDest->_class->string, (((void *)0)));
+sourceExp->__anon1.cast.typeName = QMkClass(realDest->__anon1._class->string, (((void *)0)));
FreeList(specs, FreeSpecifier);
}
else
-sourceExp->cast.typeName = MkTypeName(specs, (((void *)0)));
+sourceExp->__anon1.cast.typeName = MkTypeName(specs, (((void *)0)));
if(newExp->type == 4)
{
-sourceExp->cast.exp = MkExpBrackets(MkListOne(newExp));
+sourceExp->__anon1.cast.exp = MkExpBrackets(MkListOne(newExp));
}
else
-sourceExp->cast.exp = newExp;
+sourceExp->__anon1.cast.exp = newExp;
FreeType(sourceExp->expType);
sourceExp->expType = (((void *)0));
ProcessExpressionType(sourceExp);
FreeType(source);
if(backupSourceExpType)
FreeType(backupSourceExpType);
-return 0x1;
+return 1;
}
else
{
FreeExpression(computedExp);
computedExp = sourceExp;
}
-while((sourceExp->type == 5 || sourceExp->type == 32) && sourceExp->list)
-sourceExp = (*sourceExp->list).last;
+while((sourceExp->type == 5 || sourceExp->type == 32) && sourceExp->__anon1.list)
+sourceExp = (*sourceExp->__anon1.list).last;
if(sourceExp->type == 0)
{
-struct Identifier * id = sourceExp->identifier;
+struct Identifier * id = sourceExp->__anon1.__anon1.identifier;
if(dest->kind == 8)
{
-if(dest->_class && dest->_class->registered && dest->_class->registered->type == 4)
+if(dest->__anon1._class && dest->__anon1._class->__anon1.registered && dest->__anon1._class->__anon1.registered->type == 4)
{
-struct __ecereNameSpace__ecere__com__Class * _class = dest->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = dest->__anon1._class->__anon1.registered;
struct __ecereNameSpace__ecere__com__Class * enumClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "enum");
if(enumClass)
{
for(; _class && _class->type == 4; _class = _class->base)
{
-struct __ecereNameSpace__ecere__sys__NamedLink * value;
+struct __ecereNameSpace__ecere__sys__NamedLink64 * value;
struct __ecereNameSpace__ecere__com__EnumClassData * e = (_class ? ((void *)(((char *)_class->data) + enumClass->offsetClass)) : (((void *)0)));
for(value = e->values.first; value; value = value->next)
{
FreeExpContents(sourceExp);
FreeType(sourceExp->expType);
-sourceExp->isConstant = 0x1;
+sourceExp->isConstant = 1;
sourceExp->expType = MkClassType(_class->fullName);
{
-char constant[256];
-
sourceExp->type = 2;
-if(_class->dataTypeString && !strcmp(_class->dataTypeString, "int"))
-sprintf(constant, "%d", (int)value->data);
+if(_class->dataTypeString && (!strcmp(_class->dataTypeString, "int") || !strcmp(_class->dataTypeString, "int64") || !strcmp(_class->dataTypeString, "short") || !strcmp(_class->dataTypeString, "char")))
+sourceExp->__anon1.__anon1.constant = PrintInt64(value->data);
else
-sprintf(constant, "0x%X", (int)value->data);
-sourceExp->constant = __ecereNameSpace__ecere__sys__CopyString(constant);
+sourceExp->__anon1.__anon1.constant = PrintUInt64(value->data);
}
FreeType(dest);
-return 0x1;
+return 1;
}
}
}
if(dest->classObjectType != 2 && dest->kind == 8 && MatchWithEnums_Module(privateModule, sourceExp, dest, id->string, conversions))
{
FreeType(dest);
-return 0x1;
+return 1;
}
}
FreeType(dest);
}
-return 0x0;
+return 0;
}
static unsigned int IntAdd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i + value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i + value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntAdd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui + value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui + value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64Add(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 + value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 + value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64Add(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 + value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 + value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortAdd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s + value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s + value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortAdd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us + value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us + value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharAdd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c + value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c + value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharAdd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc + value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc + value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatAdd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat((float)(op1->f + value2));
+exp->__anon1.__anon2.string = PrintFloat((float)(op1->__anon1.f + value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleAdd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble((double)(op1->d + value2));
+exp->__anon1.__anon2.string = PrintDouble((double)(op1->__anon1.d + value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntSub(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i - value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i - value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntSub(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui - value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui - value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64Sub(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 - value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 - value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64Sub(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 - value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 - value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortSub(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s - value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s - value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortSub(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us - value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us - value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharSub(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c - value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c - value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharSub(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc - value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc - value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatSub(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat((float)(op1->f - value2));
+exp->__anon1.__anon2.string = PrintFloat((float)(op1->__anon1.f - value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleSub(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble((double)(op1->d - value2));
+exp->__anon1.__anon2.string = PrintDouble((double)(op1->__anon1.d - value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntMul(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i * value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i * value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntMul(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui * value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui * value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64Mul(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 * value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 * value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64Mul(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 * value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 * value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortMul(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s * value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s * value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortMul(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us * value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us * value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharMul(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c * value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c * value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharMul(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc * value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc * value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatMul(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat((float)(op1->f * value2));
+exp->__anon1.__anon2.string = PrintFloat((float)(op1->__anon1.f * value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleMul(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble((double)(op1->d * value2));
+exp->__anon1.__anon2.string = PrintDouble((double)(op1->__anon1.d * value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntDiv(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt(value2 ? (op1->i / value2) : 0);
+exp->__anon1.__anon2.string = PrintInt(value2 ? (op1->__anon1.i / value2) : 0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntDiv(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt(value2 ? (op1->ui / value2) : 0);
+exp->__anon1.__anon2.string = PrintUInt(value2 ? (op1->__anon1.ui / value2) : 0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64Div(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64(value2 ? (op1->i64 / value2) : 0);
+exp->__anon1.__anon2.string = PrintInt64(value2 ? (op1->__anon1.i64 / value2) : 0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64Div(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64(value2 ? (op1->ui64 / value2) : 0);
+exp->__anon1.__anon2.string = PrintUInt64(value2 ? (op1->__anon1.ui64 / value2) : 0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortDiv(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort(value2 ? (op1->s / value2) : (short)0);
+exp->__anon1.__anon2.string = PrintShort(value2 ? (op1->__anon1.s / value2) : (short)0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortDiv(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort(value2 ? (op1->us / value2) : (unsigned short)0);
+exp->__anon1.__anon2.string = PrintUShort(value2 ? (op1->__anon1.us / value2) : (unsigned short)0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharDiv(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar(value2 ? (op1->c / value2) : (char)0);
+exp->__anon1.__anon2.string = PrintChar(value2 ? (op1->__anon1.c / value2) : (char)0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharDiv(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar(value2 ? (op1->uc / value2) : (unsigned char)0);
+exp->__anon1.__anon2.string = PrintUChar(value2 ? (op1->__anon1.uc / value2) : (unsigned char)0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatDiv(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat(op1->f / value2);
+exp->__anon1.__anon2.string = PrintFloat(op1->__anon1.f / value2);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleDiv(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble(op1->d / value2);
+exp->__anon1.__anon2.string = PrintDouble(op1->__anon1.d / value2);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntMod(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt(value2 ? (op1->i % value2) : 0);
+exp->__anon1.__anon2.string = PrintInt(value2 ? (op1->__anon1.i % value2) : 0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntMod(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt(value2 ? (op1->ui % value2) : 0);
+exp->__anon1.__anon2.string = PrintUInt(value2 ? (op1->__anon1.ui % value2) : 0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64Mod(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64(value2 ? (op1->i64 % value2) : 0);
+exp->__anon1.__anon2.string = PrintInt64(value2 ? (op1->__anon1.i64 % value2) : 0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64Mod(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64(value2 ? (op1->ui64 % value2) : 0);
+exp->__anon1.__anon2.string = PrintUInt64(value2 ? (op1->__anon1.ui64 % value2) : 0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortMod(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort(value2 ? (op1->s % value2) : (short)0);
+exp->__anon1.__anon2.string = PrintShort(value2 ? (op1->__anon1.s % value2) : (short)0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortMod(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort(value2 ? (op1->us % value2) : (unsigned short)0);
+exp->__anon1.__anon2.string = PrintUShort(value2 ? (op1->__anon1.us % value2) : (unsigned short)0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharMod(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar(value2 ? (op1->c % value2) : (char)0);
+exp->__anon1.__anon2.string = PrintChar(value2 ? (op1->__anon1.c % value2) : (char)0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharMod(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar(value2 ? (op1->uc % value2) : (unsigned char)0);
+exp->__anon1.__anon2.string = PrintUChar(value2 ? (op1->__anon1.uc % value2) : (unsigned char)0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntNeg(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintInt((-op1->i));
+exp->__anon1.__anon2.string = PrintInt((-op1->__anon1.i));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntNeg(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUInt((unsigned int)(-op1->ui));
+exp->__anon1.__anon2.string = PrintUInt((unsigned int)(-op1->__anon1.ui));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64Neg(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintInt64((-op1->i64));
+exp->__anon1.__anon2.string = PrintInt64((-op1->__anon1.i64));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64Neg(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUInt64((uint64)(-op1->ui64));
+exp->__anon1.__anon2.string = PrintUInt64((uint64)(-op1->__anon1.ui64));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortNeg(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintShort((-op1->s));
+exp->__anon1.__anon2.string = PrintShort((-op1->__anon1.s));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortNeg(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUShort((unsigned short)(-op1->us));
+exp->__anon1.__anon2.string = PrintUShort((unsigned short)(-op1->__anon1.us));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharNeg(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintChar((-op1->c));
+exp->__anon1.__anon2.string = PrintChar((-op1->__anon1.c));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharNeg(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUChar((unsigned char)(-op1->uc));
+exp->__anon1.__anon2.string = PrintUChar((unsigned char)(-op1->__anon1.uc));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatNeg(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintFloat((float)(-op1->f));
+exp->__anon1.__anon2.string = PrintFloat((float)(-op1->__anon1.f));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleNeg(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintDouble((double)(-op1->d));
+exp->__anon1.__anon2.string = PrintDouble((double)(-op1->__anon1.d));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntInc(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintInt((++op1->i));
+exp->__anon1.__anon2.string = PrintInt((++op1->__anon1.i));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntInc(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUInt((++op1->ui));
+exp->__anon1.__anon2.string = PrintUInt((++op1->__anon1.ui));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64Inc(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintInt64((++op1->i64));
+exp->__anon1.__anon2.string = PrintInt64((++op1->__anon1.i64));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64Inc(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUInt64((++op1->ui64));
+exp->__anon1.__anon2.string = PrintUInt64((++op1->__anon1.ui64));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortInc(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintShort((++op1->s));
+exp->__anon1.__anon2.string = PrintShort((++op1->__anon1.s));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortInc(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUShort((++op1->us));
+exp->__anon1.__anon2.string = PrintUShort((++op1->__anon1.us));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharInc(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintChar((++op1->c));
+exp->__anon1.__anon2.string = PrintChar((++op1->__anon1.c));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharInc(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUChar((++op1->uc));
+exp->__anon1.__anon2.string = PrintUChar((++op1->__anon1.uc));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatInc(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintFloat((float)(++op1->f));
+exp->__anon1.__anon2.string = PrintFloat((float)(++op1->__anon1.f));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleInc(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintDouble((double)(++op1->d));
+exp->__anon1.__anon2.string = PrintDouble((double)(++op1->__anon1.d));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntDec(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintInt((--op1->i));
+exp->__anon1.__anon2.string = PrintInt((--op1->__anon1.i));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntDec(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUInt((--op1->ui));
+exp->__anon1.__anon2.string = PrintUInt((--op1->__anon1.ui));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64Dec(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintInt64((--op1->i64));
+exp->__anon1.__anon2.string = PrintInt64((--op1->__anon1.i64));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64Dec(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUInt64((--op1->ui64));
+exp->__anon1.__anon2.string = PrintUInt64((--op1->__anon1.ui64));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortDec(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintShort((--op1->s));
+exp->__anon1.__anon2.string = PrintShort((--op1->__anon1.s));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortDec(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUShort((--op1->us));
+exp->__anon1.__anon2.string = PrintUShort((--op1->__anon1.us));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharDec(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintChar((--op1->c));
+exp->__anon1.__anon2.string = PrintChar((--op1->__anon1.c));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharDec(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUChar((--op1->uc));
+exp->__anon1.__anon2.string = PrintUChar((--op1->__anon1.uc));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatDec(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintFloat((float)(--op1->f));
+exp->__anon1.__anon2.string = PrintFloat((float)(--op1->__anon1.f));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleDec(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintDouble((double)(--op1->d));
+exp->__anon1.__anon2.string = PrintDouble((double)(--op1->__anon1.d));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i = value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i = value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui = value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui = value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64Asign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 = value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 = value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64Asign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 = value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 = value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s = value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s = value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us = value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us = value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c = value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c = value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc = value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc = value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat((float)(op1->f = value2));
+exp->__anon1.__anon2.string = PrintFloat((float)(op1->__anon1.f = value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble((double)(op1->d = value2));
+exp->__anon1.__anon2.string = PrintDouble((double)(op1->__anon1.d = value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntAddAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i += value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i += value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntAddAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui += value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui += value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64AddAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 += value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 += value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64AddAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 += value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 += value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortAddAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s += value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s += value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortAddAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us += value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us += value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharAddAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c += value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c += value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharAddAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc += value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc += value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatAddAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat((float)(op1->f += value2));
+exp->__anon1.__anon2.string = PrintFloat((float)(op1->__anon1.f += value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleAddAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble((double)(op1->d += value2));
+exp->__anon1.__anon2.string = PrintDouble((double)(op1->__anon1.d += value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntSubAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i -= value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i -= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntSubAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui -= value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui -= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64SubAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 -= value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 -= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64SubAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 -= value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 -= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortSubAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s -= value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s -= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortSubAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us -= value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us -= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharSubAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c -= value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c -= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharSubAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc -= value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc -= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatSubAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat((float)(op1->f -= value2));
+exp->__anon1.__anon2.string = PrintFloat((float)(op1->__anon1.f -= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleSubAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble((double)(op1->d -= value2));
+exp->__anon1.__anon2.string = PrintDouble((double)(op1->__anon1.d -= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntMulAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i *= value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i *= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntMulAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui *= value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui *= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64MulAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 *= value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 *= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64MulAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 *= value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 *= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortMulAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s *= value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s *= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortMulAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us *= value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us *= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharMulAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c *= value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c *= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharMulAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc *= value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc *= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatMulAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat((float)(op1->f *= value2));
+exp->__anon1.__anon2.string = PrintFloat((float)(op1->__anon1.f *= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleMulAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble((double)(op1->d *= value2));
+exp->__anon1.__anon2.string = PrintDouble((double)(op1->__anon1.d *= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntDivAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt(value2 ? (op1->i /= value2) : 0);
+exp->__anon1.__anon2.string = PrintInt(value2 ? (op1->__anon1.i /= value2) : 0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntDivAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt(value2 ? (op1->ui /= value2) : 0);
+exp->__anon1.__anon2.string = PrintUInt(value2 ? (op1->__anon1.ui /= value2) : 0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64DivAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64(value2 ? (op1->i64 /= value2) : 0);
+exp->__anon1.__anon2.string = PrintInt64(value2 ? (op1->__anon1.i64 /= value2) : 0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64DivAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64(value2 ? (op1->ui64 /= value2) : 0);
+exp->__anon1.__anon2.string = PrintUInt64(value2 ? (op1->__anon1.ui64 /= value2) : 0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortDivAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort(value2 ? (op1->s /= value2) : (short)0);
+exp->__anon1.__anon2.string = PrintShort(value2 ? (op1->__anon1.s /= value2) : (short)0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortDivAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort(value2 ? (op1->us /= value2) : (unsigned short)0);
+exp->__anon1.__anon2.string = PrintUShort(value2 ? (op1->__anon1.us /= value2) : (unsigned short)0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharDivAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar(value2 ? (op1->c /= value2) : (char)0);
+exp->__anon1.__anon2.string = PrintChar(value2 ? (op1->__anon1.c /= value2) : (char)0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharDivAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar(value2 ? (op1->uc /= value2) : (unsigned char)0);
+exp->__anon1.__anon2.string = PrintUChar(value2 ? (op1->__anon1.uc /= value2) : (unsigned char)0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatDivAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat(op1->f /= value2);
+exp->__anon1.__anon2.string = PrintFloat(op1->__anon1.f /= value2);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleDivAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble(op1->d /= value2);
+exp->__anon1.__anon2.string = PrintDouble(op1->__anon1.d /= value2);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntModAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt(value2 ? (op1->i %= value2) : 0);
+exp->__anon1.__anon2.string = PrintInt(value2 ? (op1->__anon1.i %= value2) : 0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntModAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt(value2 ? (op1->ui %= value2) : 0);
+exp->__anon1.__anon2.string = PrintUInt(value2 ? (op1->__anon1.ui %= value2) : 0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64ModAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64(value2 ? (op1->i64 %= value2) : 0);
+exp->__anon1.__anon2.string = PrintInt64(value2 ? (op1->__anon1.i64 %= value2) : 0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64ModAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64(value2 ? (op1->ui64 %= value2) : 0);
+exp->__anon1.__anon2.string = PrintUInt64(value2 ? (op1->__anon1.ui64 %= value2) : 0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortModAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort(value2 ? (op1->s %= value2) : (short)0);
+exp->__anon1.__anon2.string = PrintShort(value2 ? (op1->__anon1.s %= value2) : (short)0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortModAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort(value2 ? (op1->us %= value2) : (unsigned short)0);
+exp->__anon1.__anon2.string = PrintUShort(value2 ? (op1->__anon1.us %= value2) : (unsigned short)0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharModAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar(value2 ? (op1->c %= value2) : (char)0);
+exp->__anon1.__anon2.string = PrintChar(value2 ? (op1->__anon1.c %= value2) : (char)0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharModAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar(value2 ? (op1->uc %= value2) : (unsigned char)0);
+exp->__anon1.__anon2.string = PrintUChar(value2 ? (op1->__anon1.uc %= value2) : (unsigned char)0);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntBitAnd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i & value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i & value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntBitAnd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui & value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui & value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64BitAnd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 & value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 & value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64BitAnd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 & value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 & value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortBitAnd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s & value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s & value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortBitAnd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us & value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us & value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharBitAnd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c & value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c & value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharBitAnd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc & value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc & value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntBitOr(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i | value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i | value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntBitOr(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui | value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui | value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64BitOr(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 | value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 | value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64BitOr(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 | value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 | value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortBitOr(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s | value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s | value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortBitOr(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us | value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us | value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharBitOr(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c | value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c | value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharBitOr(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc | value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc | value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntBitXor(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i ^ value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i ^ value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntBitXor(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui ^ value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui ^ value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64BitXor(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 ^ value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 ^ value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64BitXor(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 ^ value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 ^ value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortBitXor(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s ^ value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s ^ value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortBitXor(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us ^ value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us ^ value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharBitXor(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c ^ value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c ^ value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharBitXor(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc ^ value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc ^ value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntLShift(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i << value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i << value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntLShift(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui << value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui << value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64LShift(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 << value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 << value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64LShift(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 << value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 << value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortLShift(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s << value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s << value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortLShift(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us << value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us << value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharLShift(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c << value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c << value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharLShift(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc << value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc << value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntRShift(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i >> value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i >> value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntRShift(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui >> value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui >> value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64RShift(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 >> value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 >> value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64RShift(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 >> value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 >> value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortRShift(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s >> value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s >> value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortRShift(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us >> value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us >> value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharRShift(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c >> value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c >> value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharRShift(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc >> value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc >> value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntBitNot(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintInt((~op1->i));
+exp->__anon1.__anon2.string = PrintInt((~op1->__anon1.i));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntBitNot(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUInt((unsigned int)(~op1->ui));
+exp->__anon1.__anon2.string = PrintUInt((unsigned int)(~op1->__anon1.ui));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64BitNot(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintInt64((long long)(~op1->i64));
+exp->__anon1.__anon2.string = PrintInt64((long long)(~op1->__anon1.i64));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64BitNot(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUInt64((uint64)(~op1->ui64));
+exp->__anon1.__anon2.string = PrintUInt64((uint64)(~op1->__anon1.ui64));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortBitNot(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintShort((short)(~op1->s));
+exp->__anon1.__anon2.string = PrintShort((short)(~op1->__anon1.s));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortBitNot(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUShort((unsigned short)(~op1->us));
+exp->__anon1.__anon2.string = PrintUShort((unsigned short)(~op1->__anon1.us));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharBitNot(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintChar((char)(~op1->c));
+exp->__anon1.__anon2.string = PrintChar((char)(~op1->__anon1.c));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharBitNot(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUChar((unsigned char)(~op1->uc));
+exp->__anon1.__anon2.string = PrintUChar((unsigned char)(~op1->__anon1.uc));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntAndAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i &= value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i &= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntAndAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui &= value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui &= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64AndAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 &= value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 &= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64AndAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 &= value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 &= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortAndAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s &= value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s &= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortAndAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us &= value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us &= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharAndAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c &= value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c &= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharAndAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc &= value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc &= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntOrAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i |= value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i |= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntOrAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui |= value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui |= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64OrAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 |= value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 |= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64OrAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 |= value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 |= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortOrAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s |= value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s |= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortOrAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us |= value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us |= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharOrAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c |= value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c |= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharOrAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc |= value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc |= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntXorAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i ^= value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i ^= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntXorAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui ^= value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui ^= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64XorAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 ^= value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 ^= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64XorAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 ^= value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 ^= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortXorAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s ^= value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s ^= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortXorAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us ^= value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us ^= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharXorAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c ^= value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c ^= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharXorAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc ^= value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc ^= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntLShiftAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i <<= value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i <<= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntLShiftAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui <<= value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui <<= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64LShiftAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 <<= value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 <<= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64LShiftAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 <<= value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 <<= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortLShiftAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s <<= value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s <<= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortLShiftAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us <<= value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us <<= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharLShiftAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c <<= value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c <<= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharLShiftAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc <<= value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc <<= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntRShiftAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((op1->i >>= value2));
+exp->__anon1.__anon2.string = PrintInt((op1->__anon1.i >>= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntRShiftAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((op1->ui >>= value2));
+exp->__anon1.__anon2.string = PrintUInt((op1->__anon1.ui >>= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64RShiftAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((op1->i64 >>= value2));
+exp->__anon1.__anon2.string = PrintInt64((op1->__anon1.i64 >>= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64RShiftAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((op1->ui64 >>= value2));
+exp->__anon1.__anon2.string = PrintUInt64((op1->__anon1.ui64 >>= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortRShiftAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((op1->s >>= value2));
+exp->__anon1.__anon2.string = PrintShort((op1->__anon1.s >>= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortRShiftAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((op1->us >>= value2));
+exp->__anon1.__anon2.string = PrintUShort((op1->__anon1.us >>= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharRShiftAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((op1->c >>= value2));
+exp->__anon1.__anon2.string = PrintChar((op1->__anon1.c >>= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharRShiftAsign(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((op1->uc >>= value2));
+exp->__anon1.__anon2.string = PrintUChar((op1->__anon1.uc >>= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntNot(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintInt((int)(!op1->i));
+exp->__anon1.__anon2.string = PrintInt((int)(!op1->__anon1.i));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntNot(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUInt((unsigned int)(!op1->ui));
+exp->__anon1.__anon2.string = PrintUInt((unsigned int)(!op1->__anon1.ui));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64Not(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintInt64((long long)(!op1->i64));
+exp->__anon1.__anon2.string = PrintInt64((long long)(!op1->__anon1.i64));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64Not(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUInt64((uint64)(!op1->ui64));
+exp->__anon1.__anon2.string = PrintUInt64((uint64)(!op1->__anon1.ui64));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortNot(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintShort((short)(!op1->s));
+exp->__anon1.__anon2.string = PrintShort((short)(!op1->__anon1.s));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortNot(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUShort((unsigned short)(!op1->us));
+exp->__anon1.__anon2.string = PrintUShort((unsigned short)(!op1->__anon1.us));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharNot(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintChar((char)(!op1->c));
+exp->__anon1.__anon2.string = PrintChar((char)(!op1->__anon1.c));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharNot(struct Expression * exp, struct Operand * op1)
{
exp->type = 2;
-exp->string = PrintUChar((unsigned char)(!op1->uc));
+exp->__anon1.__anon2.string = PrintUChar((unsigned char)(!op1->__anon1.uc));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((int)(op1->i == value2));
+exp->__anon1.__anon2.string = PrintInt((int)(op1->__anon1.i == value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((unsigned int)(op1->ui == value2));
+exp->__anon1.__anon2.string = PrintUInt((unsigned int)(op1->__anon1.ui == value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64Equ(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((long long)(op1->i64 == value2));
+exp->__anon1.__anon2.string = PrintInt64((long long)(op1->__anon1.i64 == value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64Equ(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((uint64)(op1->ui64 == value2));
+exp->__anon1.__anon2.string = PrintUInt64((uint64)(op1->__anon1.ui64 == value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((short)(op1->s == value2));
+exp->__anon1.__anon2.string = PrintShort((short)(op1->__anon1.s == value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((unsigned short)(op1->us == value2));
+exp->__anon1.__anon2.string = PrintUShort((unsigned short)(op1->__anon1.us == value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((char)(op1->c == value2));
+exp->__anon1.__anon2.string = PrintChar((char)(op1->__anon1.c == value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((unsigned char)(op1->uc == value2));
+exp->__anon1.__anon2.string = PrintUChar((unsigned char)(op1->__anon1.uc == value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat((float)(op1->f == value2));
+exp->__anon1.__anon2.string = PrintFloat((float)(op1->__anon1.f == value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble((double)(op1->d == value2));
+exp->__anon1.__anon2.string = PrintDouble((double)(op1->__anon1.d == value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntNqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((int)(op1->i != value2));
+exp->__anon1.__anon2.string = PrintInt((int)(op1->__anon1.i != value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntNqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((unsigned int)(op1->ui != value2));
+exp->__anon1.__anon2.string = PrintUInt((unsigned int)(op1->__anon1.ui != value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64Nqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((long long)(op1->i64 != value2));
+exp->__anon1.__anon2.string = PrintInt64((long long)(op1->__anon1.i64 != value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64Nqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((uint64)(op1->ui64 != value2));
+exp->__anon1.__anon2.string = PrintUInt64((uint64)(op1->__anon1.ui64 != value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortNqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((short)(op1->s != value2));
+exp->__anon1.__anon2.string = PrintShort((short)(op1->__anon1.s != value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortNqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((unsigned short)(op1->us != value2));
+exp->__anon1.__anon2.string = PrintUShort((unsigned short)(op1->__anon1.us != value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharNqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((char)(op1->c != value2));
+exp->__anon1.__anon2.string = PrintChar((char)(op1->__anon1.c != value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharNqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((unsigned char)(op1->uc != value2));
+exp->__anon1.__anon2.string = PrintUChar((unsigned char)(op1->__anon1.uc != value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatNqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat((float)(op1->f != value2));
+exp->__anon1.__anon2.string = PrintFloat((float)(op1->__anon1.f != value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleNqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble((double)(op1->d != value2));
+exp->__anon1.__anon2.string = PrintDouble((double)(op1->__anon1.d != value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntAnd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((int)(op1->i && value2));
+exp->__anon1.__anon2.string = PrintInt((int)(op1->__anon1.i && value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntAnd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((unsigned int)(op1->ui && value2));
+exp->__anon1.__anon2.string = PrintUInt((unsigned int)(op1->__anon1.ui && value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64And(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((long long)(op1->i64 && value2));
+exp->__anon1.__anon2.string = PrintInt64((long long)(op1->__anon1.i64 && value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64And(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((uint64)(op1->ui64 && value2));
+exp->__anon1.__anon2.string = PrintUInt64((uint64)(op1->__anon1.ui64 && value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortAnd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((short)(op1->s && value2));
+exp->__anon1.__anon2.string = PrintShort((short)(op1->__anon1.s && value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortAnd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((unsigned short)(op1->us && value2));
+exp->__anon1.__anon2.string = PrintUShort((unsigned short)(op1->__anon1.us && value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharAnd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((char)(op1->c && value2));
+exp->__anon1.__anon2.string = PrintChar((char)(op1->__anon1.c && value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharAnd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((unsigned char)(op1->uc && value2));
+exp->__anon1.__anon2.string = PrintUChar((unsigned char)(op1->__anon1.uc && value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatAnd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat((float)(op1->f && value2));
+exp->__anon1.__anon2.string = PrintFloat((float)(op1->__anon1.f && value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleAnd(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble((double)(op1->d && value2));
+exp->__anon1.__anon2.string = PrintDouble((double)(op1->__anon1.d && value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntOr(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((int)(op1->i || value2));
+exp->__anon1.__anon2.string = PrintInt((int)(op1->__anon1.i || value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntOr(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((unsigned int)(op1->ui || value2));
+exp->__anon1.__anon2.string = PrintUInt((unsigned int)(op1->__anon1.ui || value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64Or(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((long long)(op1->i64 || value2));
+exp->__anon1.__anon2.string = PrintInt64((long long)(op1->__anon1.i64 || value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64Or(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((uint64)(op1->ui64 || value2));
+exp->__anon1.__anon2.string = PrintUInt64((uint64)(op1->__anon1.ui64 || value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortOr(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((short)(op1->s || value2));
+exp->__anon1.__anon2.string = PrintShort((short)(op1->__anon1.s || value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortOr(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((unsigned short)(op1->us || value2));
+exp->__anon1.__anon2.string = PrintUShort((unsigned short)(op1->__anon1.us || value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharOr(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((char)(op1->c || value2));
+exp->__anon1.__anon2.string = PrintChar((char)(op1->__anon1.c || value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharOr(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((unsigned char)(op1->uc || value2));
+exp->__anon1.__anon2.string = PrintUChar((unsigned char)(op1->__anon1.uc || value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatOr(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat((float)(op1->f || value2));
+exp->__anon1.__anon2.string = PrintFloat((float)(op1->__anon1.f || value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleOr(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble((double)(op1->d || value2));
+exp->__anon1.__anon2.string = PrintDouble((double)(op1->__anon1.d || value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntGrt(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((int)(op1->i > value2));
+exp->__anon1.__anon2.string = PrintInt((int)(op1->__anon1.i > value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntGrt(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((unsigned int)(op1->ui > value2));
+exp->__anon1.__anon2.string = PrintUInt((unsigned int)(op1->__anon1.ui > value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64Grt(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((long long)(op1->i64 > value2));
+exp->__anon1.__anon2.string = PrintInt64((long long)(op1->__anon1.i64 > value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64Grt(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((uint64)(op1->ui64 > value2));
+exp->__anon1.__anon2.string = PrintUInt64((uint64)(op1->__anon1.ui64 > value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortGrt(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((short)(op1->s > value2));
+exp->__anon1.__anon2.string = PrintShort((short)(op1->__anon1.s > value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortGrt(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((unsigned short)(op1->us > value2));
+exp->__anon1.__anon2.string = PrintUShort((unsigned short)(op1->__anon1.us > value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharGrt(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((char)(op1->c > value2));
+exp->__anon1.__anon2.string = PrintChar((char)(op1->__anon1.c > value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharGrt(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((unsigned char)(op1->uc > value2));
+exp->__anon1.__anon2.string = PrintUChar((unsigned char)(op1->__anon1.uc > value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatGrt(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat((float)(op1->f > value2));
+exp->__anon1.__anon2.string = PrintFloat((float)(op1->__anon1.f > value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleGrt(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble((double)(op1->d > value2));
+exp->__anon1.__anon2.string = PrintDouble((double)(op1->__anon1.d > value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntSma(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((int)(op1->i < value2));
+exp->__anon1.__anon2.string = PrintInt((int)(op1->__anon1.i < value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntSma(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((unsigned int)(op1->ui < value2));
+exp->__anon1.__anon2.string = PrintUInt((unsigned int)(op1->__anon1.ui < value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64Sma(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((long long)(op1->i64 < value2));
+exp->__anon1.__anon2.string = PrintInt64((long long)(op1->__anon1.i64 < value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64Sma(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((uint64)(op1->ui64 < value2));
+exp->__anon1.__anon2.string = PrintUInt64((uint64)(op1->__anon1.ui64 < value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortSma(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((short)(op1->s < value2));
+exp->__anon1.__anon2.string = PrintShort((short)(op1->__anon1.s < value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortSma(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((unsigned short)(op1->us < value2));
+exp->__anon1.__anon2.string = PrintUShort((unsigned short)(op1->__anon1.us < value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharSma(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((char)(op1->c < value2));
+exp->__anon1.__anon2.string = PrintChar((char)(op1->__anon1.c < value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharSma(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((unsigned char)(op1->uc < value2));
+exp->__anon1.__anon2.string = PrintUChar((unsigned char)(op1->__anon1.uc < value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatSma(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat((float)(op1->f < value2));
+exp->__anon1.__anon2.string = PrintFloat((float)(op1->__anon1.f < value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleSma(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble((double)(op1->d < value2));
+exp->__anon1.__anon2.string = PrintDouble((double)(op1->__anon1.d < value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntGrtEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((int)(op1->i >= value2));
+exp->__anon1.__anon2.string = PrintInt((int)(op1->__anon1.i >= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntGrtEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((unsigned int)(op1->ui >= value2));
+exp->__anon1.__anon2.string = PrintUInt((unsigned int)(op1->__anon1.ui >= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64GrtEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((long long)(op1->i64 >= value2));
+exp->__anon1.__anon2.string = PrintInt64((long long)(op1->__anon1.i64 >= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64GrtEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((uint64)(op1->ui64 >= value2));
+exp->__anon1.__anon2.string = PrintUInt64((uint64)(op1->__anon1.ui64 >= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortGrtEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((short)(op1->s >= value2));
+exp->__anon1.__anon2.string = PrintShort((short)(op1->__anon1.s >= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortGrtEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((unsigned short)(op1->us >= value2));
+exp->__anon1.__anon2.string = PrintUShort((unsigned short)(op1->__anon1.us >= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharGrtEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((char)(op1->c >= value2));
+exp->__anon1.__anon2.string = PrintChar((char)(op1->__anon1.c >= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharGrtEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((unsigned char)(op1->uc >= value2));
+exp->__anon1.__anon2.string = PrintUChar((unsigned char)(op1->__anon1.uc >= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatGrtEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat((float)(op1->f >= value2));
+exp->__anon1.__anon2.string = PrintFloat((float)(op1->__anon1.f >= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleGrtEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble((double)(op1->d >= value2));
+exp->__anon1.__anon2.string = PrintDouble((double)(op1->__anon1.d >= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntSmaEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-int value2 = op2->i;
+int value2 = op2->__anon1.i;
exp->type = 2;
-exp->string = PrintInt((int)(op1->i <= value2));
+exp->__anon1.__anon2.string = PrintInt((int)(op1->__anon1.i <= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntSmaEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned int value2 = op2->ui;
+unsigned int value2 = op2->__anon1.ui;
exp->type = 2;
-exp->string = PrintUInt((unsigned int)(op1->ui <= value2));
+exp->__anon1.__anon2.string = PrintUInt((unsigned int)(op1->__anon1.ui <= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64SmaEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-long long value2 = op2->i64;
+long long value2 = op2->__anon1.i64;
exp->type = 2;
-exp->string = PrintInt64((long long)(op1->i64 <= value2));
+exp->__anon1.__anon2.string = PrintInt64((long long)(op1->__anon1.i64 <= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64SmaEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-uint64 value2 = op2->ui64;
+uint64 value2 = op2->__anon1.ui64;
exp->type = 2;
-exp->string = PrintUInt64((uint64)(op1->ui64 <= value2));
+exp->__anon1.__anon2.string = PrintUInt64((uint64)(op1->__anon1.ui64 <= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortSmaEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-short value2 = op2->s;
+short value2 = op2->__anon1.s;
exp->type = 2;
-exp->string = PrintShort((short)(op1->s <= value2));
+exp->__anon1.__anon2.string = PrintShort((short)(op1->__anon1.s <= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortSmaEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned short value2 = op2->us;
+unsigned short value2 = op2->__anon1.us;
exp->type = 2;
-exp->string = PrintUShort((unsigned short)(op1->us <= value2));
+exp->__anon1.__anon2.string = PrintUShort((unsigned short)(op1->__anon1.us <= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharSmaEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-char value2 = op2->c;
+char value2 = op2->__anon1.c;
exp->type = 2;
-exp->string = PrintChar((char)(op1->c <= value2));
+exp->__anon1.__anon2.string = PrintChar((char)(op1->__anon1.c <= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharSmaEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-unsigned char value2 = op2->uc;
+unsigned char value2 = op2->__anon1.uc;
exp->type = 2;
-exp->string = PrintUChar((unsigned char)(op1->uc <= value2));
+exp->__anon1.__anon2.string = PrintUChar((unsigned char)(op1->__anon1.uc <= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int FloatSmaEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-float value2 = op2->f;
+float value2 = op2->__anon1.f;
exp->type = 2;
-exp->string = PrintFloat((float)(op1->f <= value2));
+exp->__anon1.__anon2.string = PrintFloat((float)(op1->__anon1.f <= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int DoubleSmaEqu(struct Expression * exp, struct Operand * op1, struct Operand * op2)
{
-double value2 = op2->d;
+double value2 = op2->__anon1.d;
exp->type = 2;
-exp->string = PrintDouble((double)(op1->d <= value2));
+exp->__anon1.__anon2.string = PrintDouble((double)(op1->__anon1.d <= value2));
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int IntCond(struct Expression * exp, struct Operand * op1, struct Operand * op2, struct Operand * op3)
{
exp->type = 2;
-exp->string = PrintInt(op1->i ? op2->i : op3->i);
+exp->__anon1.__anon2.string = PrintInt(op1->__anon1.i ? op2->__anon1.i : op3->__anon1.i);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UIntCond(struct Expression * exp, struct Operand * op1, struct Operand * op2, struct Operand * op3)
{
exp->type = 2;
-exp->string = PrintUInt(op1->ui ? op2->ui : op3->ui);
+exp->__anon1.__anon2.string = PrintUInt(op1->__anon1.ui ? op2->__anon1.ui : op3->__anon1.ui);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int Int64Cond(struct Expression * exp, struct Operand * op1, struct Operand * op2, struct Operand * op3)
{
exp->type = 2;
-exp->string = PrintInt64(op1->i64 ? op2->i64 : op3->i64);
+exp->__anon1.__anon2.string = PrintInt64(op1->__anon1.i64 ? op2->__anon1.i64 : op3->__anon1.i64);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UInt64Cond(struct Expression * exp, struct Operand * op1, struct Operand * op2, struct Operand * op3)
{
exp->type = 2;
-exp->string = PrintUInt64(op1->ui64 ? op2->ui64 : op3->ui64);
+exp->__anon1.__anon2.string = PrintUInt64(op1->__anon1.ui64 ? op2->__anon1.ui64 : op3->__anon1.ui64);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int ShortCond(struct Expression * exp, struct Operand * op1, struct Operand * op2, struct Operand * op3)
{
exp->type = 2;
-exp->string = PrintShort(op1->s ? op2->s : op3->s);
+exp->__anon1.__anon2.string = PrintShort(op1->__anon1.s ? op2->__anon1.s : op3->__anon1.s);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UShortCond(struct Expression * exp, struct Operand * op1, struct Operand * op2, struct Operand * op3)
{
exp->type = 2;
-exp->string = PrintUShort(op1->us ? op2->us : op3->us);
+exp->__anon1.__anon2.string = PrintUShort(op1->__anon1.us ? op2->__anon1.us : op3->__anon1.us);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int CharCond(struct Expression * exp, struct Operand * op1, struct Operand * op2, struct Operand * op3)
{
exp->type = 2;
-exp->string = PrintChar(op1->c ? op2->c : op3->c);
+exp->__anon1.__anon2.string = PrintChar(op1->__anon1.c ? op2->__anon1.c : op3->__anon1.c);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
static unsigned int UCharCond(struct Expression * exp, struct Operand * op1, struct Operand * op2, struct Operand * op3)
{
exp->type = 2;
-exp->string = PrintUChar(op1->uc ? op2->uc : op3->uc);
+exp->__anon1.__anon2.string = PrintUChar(op1->__anon1.uc ? op2->__anon1.uc : op3->__anon1.uc);
if(!exp->expType)
{
exp->expType = op1->type;
if(op1->type)
op1->type->refCount++;
}
-return 0x1;
+return 1;
}
-struct OpTable intOps =
+struct OpTable intOps =
{
IntAdd, IntSub, IntMul, IntDiv, IntMod, IntNeg, IntInc, IntDec, IntAsign, IntAddAsign, IntSubAsign, IntMulAsign, IntDivAsign, IntModAsign, IntBitAnd, IntBitOr, IntBitXor, IntLShift, IntRShift, IntBitNot, IntAndAsign, IntOrAsign, IntXorAsign, IntLShiftAsign, IntRShiftAsign, IntNot, IntEqu, IntNqu, IntAnd, IntOr, IntGrt, IntSma, IntGrtEqu, IntSmaEqu, IntCond
};
-struct OpTable uintOps =
+struct OpTable uintOps =
{
UIntAdd, UIntSub, UIntMul, UIntDiv, UIntMod, UIntNeg, UIntInc, UIntDec, UIntAsign, UIntAddAsign, UIntSubAsign, UIntMulAsign, UIntDivAsign, UIntModAsign, UIntBitAnd, UIntBitOr, UIntBitXor, UIntLShift, UIntRShift, UIntBitNot, UIntAndAsign, UIntOrAsign, UIntXorAsign, UIntLShiftAsign, UIntRShiftAsign, UIntNot, UIntEqu, UIntNqu, UIntAnd, UIntOr, UIntGrt, UIntSma, UIntGrtEqu, UIntSmaEqu, UIntCond
};
-struct OpTable int64Ops =
+struct OpTable int64Ops =
{
Int64Add, Int64Sub, Int64Mul, Int64Div, Int64Mod, Int64Neg, Int64Inc, Int64Dec, Int64Asign, Int64AddAsign, Int64SubAsign, Int64MulAsign, Int64DivAsign, Int64ModAsign, Int64BitAnd, Int64BitOr, Int64BitXor, Int64LShift, Int64RShift, Int64BitNot, Int64AndAsign, Int64OrAsign, Int64XorAsign, Int64LShiftAsign, Int64RShiftAsign, Int64Not, Int64Equ, Int64Nqu, Int64And, Int64Or, Int64Grt, Int64Sma, Int64GrtEqu, Int64SmaEqu, Int64Cond
};
-struct OpTable uint64Ops =
+struct OpTable uint64Ops =
{
UInt64Add, UInt64Sub, UInt64Mul, UInt64Div, UInt64Mod, UInt64Neg, UInt64Inc, UInt64Dec, UInt64Asign, UInt64AddAsign, UInt64SubAsign, UInt64MulAsign, UInt64DivAsign, UInt64ModAsign, UInt64BitAnd, UInt64BitOr, UInt64BitXor, UInt64LShift, UInt64RShift, UInt64BitNot, UInt64AndAsign, UInt64OrAsign, UInt64XorAsign, UInt64LShiftAsign, UInt64RShiftAsign, UInt64Not, UInt64Equ, UInt64Nqu, UInt64And, UInt64Or, UInt64Grt, UInt64Sma, UInt64GrtEqu, UInt64SmaEqu, UInt64Cond
};
-struct OpTable shortOps =
+struct OpTable shortOps =
{
ShortAdd, ShortSub, ShortMul, ShortDiv, ShortMod, ShortNeg, ShortInc, ShortDec, ShortAsign, ShortAddAsign, ShortSubAsign, ShortMulAsign, ShortDivAsign, ShortModAsign, ShortBitAnd, ShortBitOr, ShortBitXor, ShortLShift, ShortRShift, ShortBitNot, ShortAndAsign, ShortOrAsign, ShortXorAsign, ShortLShiftAsign, ShortRShiftAsign, ShortNot, ShortEqu, ShortNqu, ShortAnd, ShortOr, ShortGrt, ShortSma, ShortGrtEqu, ShortSmaEqu, ShortCond
};
-struct OpTable ushortOps =
+struct OpTable ushortOps =
{
UShortAdd, UShortSub, UShortMul, UShortDiv, UShortMod, UShortNeg, UShortInc, UShortDec, UShortAsign, UShortAddAsign, UShortSubAsign, UShortMulAsign, UShortDivAsign, UShortModAsign, UShortBitAnd, UShortBitOr, UShortBitXor, UShortLShift, UShortRShift, UShortBitNot, UShortAndAsign, UShortOrAsign, UShortXorAsign, UShortLShiftAsign, UShortRShiftAsign, UShortNot, UShortEqu, UShortNqu, UShortAnd, UShortOr, UShortGrt, UShortSma, UShortGrtEqu, UShortSmaEqu, UShortCond
};
-struct OpTable floatOps =
+struct OpTable floatOps =
{
FloatAdd, FloatSub, FloatMul, FloatDiv, (((void *)0)), FloatNeg, FloatInc, FloatDec, FloatAsign, FloatAddAsign, FloatSubAsign, FloatMulAsign, FloatDivAsign, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), FloatEqu, FloatNqu, FloatAnd, FloatOr, FloatGrt, FloatSma, FloatGrtEqu, FloatSmaEqu
};
-struct OpTable doubleOps =
+struct OpTable doubleOps =
{
DoubleAdd, DoubleSub, DoubleMul, DoubleDiv, (((void *)0)), DoubleNeg, DoubleInc, DoubleDec, DoubleAsign, DoubleAddAsign, DoubleSubAsign, DoubleMulAsign, DoubleDivAsign, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)), DoubleEqu, DoubleNqu, DoubleAnd, DoubleOr, DoubleGrt, DoubleSma, DoubleGrtEqu, DoubleSmaEqu
};
-struct OpTable charOps =
+struct OpTable charOps =
{
CharAdd, CharSub, CharMul, CharDiv, CharMod, CharNeg, CharInc, CharDec, CharAsign, CharAddAsign, CharSubAsign, CharMulAsign, CharDivAsign, CharModAsign, CharBitAnd, CharBitOr, CharBitXor, CharLShift, CharRShift, CharBitNot, CharAndAsign, CharOrAsign, CharXorAsign, CharLShiftAsign, CharRShiftAsign, CharNot, CharEqu, CharNqu, CharAnd, CharOr, CharGrt, CharSma, CharGrtEqu, CharSmaEqu, CharCond
};
-struct OpTable ucharOps =
+struct OpTable ucharOps =
{
UCharAdd, UCharSub, UCharMul, UCharDiv, UCharMod, UCharNeg, UCharInc, UCharDec, UCharAsign, UCharAddAsign, UCharSubAsign, UCharMulAsign, UCharDivAsign, UCharModAsign, UCharBitAnd, UCharBitOr, UCharBitXor, UCharLShift, UCharRShift, UCharBitNot, UCharAndAsign, UCharOrAsign, UCharXorAsign, UCharLShiftAsign, UCharRShiftAsign, UCharNot, UCharEqu, UCharNqu, UCharAnd, UCharOr, UCharGrt, UCharSma, UCharGrtEqu, UCharSmaEqu, UCharCond
};
{
int len = strlen(string);
int c, d = 0;
-unsigned int quoted = 0x0, escaped = 0x0;
+unsigned int quoted = 0, escaped = 0;
for(c = 0; c < len; c++)
{
output[d] = ch;
}
d++;
-escaped = 0x0;
+escaped = 0;
}
else
{
if(ch == '\"')
-quoted ^= 0x1;
+quoted ^= 1;
else if(quoted)
{
if(ch == '\\')
-escaped = 0x1;
+escaped = 1;
else
output[d++] = ch;
}
return (k == offset) ? s + j : (((void *)0));
}
-extern long long __ecereNameSpace__ecere__com___strtoi64(char * string, char * * endString, int base);
+extern long long __ecereNameSpace__ecere__com___strtoi64(const char * string, const char * * endString, int base);
-extern uint64 __ecereNameSpace__ecere__com___strtoui64(char * string, char * * endString, int base);
+extern uint64 __ecereNameSpace__ecere__com___strtoui64(const char * string, const char * * endString, int base);
-extern double strtod(char * , char * * );
+extern double strtod(const char * , char * * );
extern float (* __ecereMethod_float_inf)(void);
struct Operand GetOperand(struct Expression * exp)
{
-struct Operand op =
+struct Operand op =
{
-0, 0, 0, 0,
+0, 0, 0,
+.__anon1 = {
+.c = 0
+},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
if(type)
{
-while(type->kind == 8 && type->_class->registered && (type->_class->registered->type == 2 || type->_class->registered->type == 3 || type->_class->registered->type == 4))
+while(type->kind == 8 && type->__anon1._class->__anon1.registered && (type->__anon1._class->__anon1.registered->type == 2 || type->__anon1._class->__anon1.registered->type == 3 || type->__anon1._class->__anon1.registered->type == 4))
{
-if(!type->_class->registered->dataType)
-type->_class->registered->dataType = ProcessTypeString(type->_class->registered->dataTypeString, 0x0);
-type = type->_class->registered->dataType;
+if(!type->__anon1._class->__anon1.registered->dataType)
+type->__anon1._class->__anon1.registered->dataType = ProcessTypeString(type->__anon1._class->__anon1.registered->dataTypeString, 0);
+type = type->__anon1._class->__anon1.registered->dataType;
}
if(exp->type == 3 && op.kind == 13)
{
-op.ui64 = (uint64)exp->string;
+op.__anon1.ui64 = (uint64)exp->__anon1.__anon2.string;
op.kind = 13;
op.ops = uint64Ops;
}
else if(exp->isConstant && exp->type == 2)
{
op.kind = type->kind;
-op.type = exp->expType;
+op.type = type;
switch(op.kind)
{
case 24:
case 1:
{
-if(exp->constant[0] == '\'')
+if(exp->__anon1.__anon1.constant[0] == '\'')
{
-op.c = exp->constant[1];
+op.__anon1.c = exp->__anon1.__anon1.constant[1];
op.ops = charOps;
}
else if(type->isSigned)
{
-op.c = (char)strtol(exp->constant, (((void *)0)), 0);
+op.__anon1.c = (char)strtol(exp->__anon1.__anon1.constant, (((void *)0)), 0);
op.ops = charOps;
}
else
{
-op.uc = (unsigned char)strtoul(exp->constant, (((void *)0)), 0);
+op.__anon1.uc = (unsigned char)strtoul(exp->__anon1.__anon1.constant, (((void *)0)), 0);
op.ops = ucharOps;
}
break;
case 2:
if(type->isSigned)
{
-op.s = (short)strtol(exp->constant, (((void *)0)), 0);
+op.__anon1.s = (short)strtol(exp->__anon1.__anon1.constant, (((void *)0)), 0);
op.ops = shortOps;
}
else
{
-op.us = (unsigned short)strtoul(exp->constant, (((void *)0)), 0);
+op.__anon1.us = (unsigned short)strtoul(exp->__anon1.__anon1.constant, (((void *)0)), 0);
op.ops = ushortOps;
}
break;
case 5:
if(type->isSigned)
{
-op.i = strtol(exp->constant, (((void *)0)), 0);
+op.__anon1.i = strtol(exp->__anon1.__anon1.constant, (((void *)0)), 0);
op.ops = intOps;
}
else
{
-op.ui = strtoul(exp->constant, (((void *)0)), 0);
+op.__anon1.ui = strtoul(exp->__anon1.__anon1.constant, (((void *)0)), 0);
op.ops = uintOps;
}
op.kind = 3;
case 4:
if(type->isSigned)
{
-op.i64 = __ecereNameSpace__ecere__com___strtoi64(exp->constant, (((void *)0)), 0);
+op.__anon1.i64 = __ecereNameSpace__ecere__com___strtoi64(exp->__anon1.__anon1.constant, (((void *)0)), 0);
op.ops = int64Ops;
}
else
{
-op.ui64 = __ecereNameSpace__ecere__com___strtoui64(exp->constant, (((void *)0)), 0);
+op.__anon1.ui64 = __ecereNameSpace__ecere__com___strtoui64(exp->__anon1.__anon1.constant, (((void *)0)), 0);
op.ops = uint64Ops;
}
op.kind = 4;
case 22:
if(type->isSigned)
{
-op.i64 = __ecereNameSpace__ecere__com___strtoi64(exp->constant, (((void *)0)), 0);
+op.__anon1.i64 = __ecereNameSpace__ecere__com___strtoi64(exp->__anon1.__anon1.constant, (((void *)0)), 0);
op.ops = int64Ops;
}
else
{
-op.ui64 = __ecereNameSpace__ecere__com___strtoui64(exp->constant, (((void *)0)), 0);
+op.__anon1.ui64 = __ecereNameSpace__ecere__com___strtoui64(exp->__anon1.__anon1.constant, (((void *)0)), 0);
op.ops = uint64Ops;
}
op.kind = 4;
case 23:
if(type->isSigned)
{
-op.i64 = __ecereNameSpace__ecere__com___strtoi64(exp->constant, (((void *)0)), 0);
+op.__anon1.i64 = __ecereNameSpace__ecere__com___strtoi64(exp->__anon1.__anon1.constant, (((void *)0)), 0);
op.ops = int64Ops;
}
else
{
-op.ui64 = __ecereNameSpace__ecere__com___strtoui64(exp->constant, (((void *)0)), 0);
+op.__anon1.ui64 = __ecereNameSpace__ecere__com___strtoui64(exp->__anon1.__anon1.constant, (((void *)0)), 0);
op.ops = uint64Ops;
}
op.kind = 4;
break;
case 6:
-if(!strcmp(exp->constant, "inf"))
-op.f = __ecereMethod_float_inf();
-else if(!strcmp(exp->constant, "-inf"))
-op.f = -__ecereMethod_float_inf();
-else if(!strcmp(exp->constant, "nan"))
-op.f = __ecereMethod_float_nan();
-else if(!strcmp(exp->constant, "-nan"))
-op.f = -__ecereMethod_float_nan();
+if(!strcmp(exp->__anon1.__anon1.constant, "inf"))
+op.__anon1.f = __ecereMethod_float_inf();
+else if(!strcmp(exp->__anon1.__anon1.constant, "-inf"))
+op.__anon1.f = -__ecereMethod_float_inf();
+else if(!strcmp(exp->__anon1.__anon1.constant, "nan"))
+op.__anon1.f = __ecereMethod_float_nan();
+else if(!strcmp(exp->__anon1.__anon1.constant, "-nan"))
+op.__anon1.f = -__ecereMethod_float_nan();
else
-op.f = (float)strtod(exp->constant, (((void *)0)));
+op.__anon1.f = (float)strtod(exp->__anon1.__anon1.constant, (((void *)0)));
op.ops = floatOps;
break;
case 7:
-if(!strcmp(exp->constant, "inf"))
-op.d = __ecereMethod_double_inf();
-else if(!strcmp(exp->constant, "-inf"))
-op.d = -__ecereMethod_double_inf();
-else if(!strcmp(exp->constant, "nan"))
-op.d = __ecereMethod_double_nan();
-else if(!strcmp(exp->constant, "-nan"))
-op.d = -__ecereMethod_double_nan();
+if(!strcmp(exp->__anon1.__anon1.constant, "inf"))
+op.__anon1.d = __ecereMethod_double_inf();
+else if(!strcmp(exp->__anon1.__anon1.constant, "-inf"))
+op.__anon1.d = -__ecereMethod_double_inf();
+else if(!strcmp(exp->__anon1.__anon1.constant, "nan"))
+op.__anon1.d = __ecereMethod_double_nan();
+else if(!strcmp(exp->__anon1.__anon1.constant, "-nan"))
+op.__anon1.d = -__ecereMethod_double_nan();
else
-op.d = (double)strtod(exp->constant, (((void *)0)));
+op.__anon1.d = (double)strtod(exp->__anon1.__anon1.constant, (((void *)0)));
op.ops = doubleOps;
break;
case 12:
case 13:
case 8:
-op.ui64 = __ecereNameSpace__ecere__com___strtoui64(exp->constant, (((void *)0)), 0);
+op.__anon1.ui64 = __ecereNameSpace__ecere__com___strtoui64(exp->__anon1.__anon1.constant, (((void *)0)), 0);
op.kind = 13;
op.ops = uint64Ops;
break;
return op;
}
+static long long GetEnumValue(struct __ecereNameSpace__ecere__com__Class * _class, void * ptr)
+{
+long long v = 0;
+
+switch(_class->typeSize)
+{
+case 8:
+if(!strcmp(_class->dataTypeString, "uint64"))
+v = (long long)*(uint64 *)ptr;
+else
+v = *(long long *)ptr;
+break;
+case 4:
+if(!strcmp(_class->dataTypeString, "uint"))
+v = (long long)*(unsigned int *)ptr;
+else
+v = (long long)*(int *)ptr;
+break;
+case 2:
+if(!strcmp(_class->dataTypeString, "uint16"))
+v = (long long)*(unsigned short *)ptr;
+else
+v = (long long)*(short *)ptr;
+break;
+case 1:
+if(!strcmp(_class->dataTypeString, "byte"))
+v = (long long)*(unsigned char *)ptr;
+else
+v = (long long)*(char *)ptr;
+break;
+}
+return v;
+}
+
int __ecereVMethodID_class_OnGetString;
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_int;
-static void UnusedFunction()
+static __attribute__((unused)) void UnusedFunction()
{
int a;
-((char * (*)(struct __ecereNameSpace__ecere__com__Class *, void *, char * tempString, void * fieldData, unsigned int * needClass))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int, &a, 0, 0, 0);
+((const char * (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, char * tempString, void * fieldData, unsigned int * needClass))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int, &a, 0, 0, 0);
}
extern int __ecereVMethodID_class_OnGetString;
exp->loc = member->loc = inst->loc;
((struct Identifier *)(*member->identifiers).first)->loc = inst->loc;
if(!dataMember->dataType)
-dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0x0);
+dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0);
type = dataMember->dataType;
if(type->kind == 8)
{
-struct __ecereNameSpace__ecere__com__Class * _class = type->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = type->__anon1._class->__anon1.registered;
if(_class->type == 4)
{
if(enumClass)
{
struct __ecereNameSpace__ecere__com__EnumClassData * e = (_class ? ((void *)(((char *)_class->data) + enumClass->offsetClass)) : (((void *)0)));
-struct __ecereNameSpace__ecere__sys__NamedLink * item;
+struct __ecereNameSpace__ecere__sys__NamedLink64 * item;
for(item = e->values.first; item; item = item->next)
{
-if((int)item->data == *(int *)ptr)
+if(item->data == GetEnumValue(_class, ptr))
{
result = item->name;
break;
}
if(result)
{
-exp->identifier = MkIdentifier(result);
+exp->__anon1.__anon1.identifier = MkIdentifier(result);
exp->type = 0;
exp->destType = MkClassType(_class->fullName);
ProcessExpressionType(exp);
if(_class->type == 4 || _class->type == 3 || _class->type == 2)
{
if(!_class->dataType)
-_class->dataType = ProcessTypeString(_class->dataTypeString, 0x0);
+_class->dataType = ProcessTypeString(_class->dataTypeString, 0);
type = _class->dataType;
}
}
case 6:
{
FreeExpContents(exp);
-exp->constant = PrintFloat(*(float *)ptr);
+exp->__anon1.__anon1.constant = PrintFloat(*(float *)ptr);
exp->type = 2;
break;
}
case 7:
{
FreeExpContents(exp);
-exp->constant = PrintDouble(*(double *)ptr);
+exp->__anon1.__anon1.constant = PrintDouble(*(double *)ptr);
exp->type = 2;
break;
}
case 3:
{
FreeExpContents(exp);
-exp->constant = PrintInt(*(int *)ptr);
+exp->__anon1.__anon1.constant = PrintInt(*(int *)ptr);
exp->type = 2;
break;
}
case 4:
{
FreeExpContents(exp);
-exp->constant = PrintInt64(*(long long *)ptr);
+exp->__anon1.__anon1.constant = PrintInt64(*(long long *)ptr);
exp->type = 2;
break;
}
case 22:
{
FreeExpContents(exp);
-exp->constant = PrintInt64((long long)*(intptr_t *)ptr);
+exp->__anon1.__anon1.constant = PrintInt64((long long)*(intptr_t *)ptr);
exp->type = 2;
break;
}
case 23:
{
FreeExpContents(exp);
-exp->constant = PrintInt64((long long)*(intptr_t *)ptr);
+exp->__anon1.__anon1.constant = PrintInt64((long long)*(intptr_t *)ptr);
exp->type = 2;
break;
}
void PopulateInstance(struct Instantiation * inst)
{
-struct Symbol * classSym = inst->_class->symbol;
-struct __ecereNameSpace__ecere__com__Class * _class = classSym->registered;
+struct Symbol * classSym = inst->_class->__anon1.__anon1.symbol;
+struct __ecereNameSpace__ecere__com__Class * _class = classSym->__anon1.registered;
struct __ecereNameSpace__ecere__com__DataMember * dataMember;
struct __ecereNameSpace__ecere__sys__OldList * memberList = MkList();
exp->loc = member->loc = inst->loc;
((struct Identifier *)(*member->identifiers).first)->loc = inst->loc;
if(!dataMember->dataType)
-dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0x0);
+dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0);
type = dataMember->dataType;
if(type->kind == 8)
{
-struct __ecereNameSpace__ecere__com__Class * _class = type->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = type->__anon1._class->__anon1.registered;
if(_class->type == 4)
{
if(enumClass)
{
struct __ecereNameSpace__ecere__com__EnumClassData * e = (_class ? ((void *)(((char *)_class->data) + enumClass->offsetClass)) : (((void *)0)));
-struct __ecereNameSpace__ecere__sys__NamedLink * item;
+struct __ecereNameSpace__ecere__sys__NamedLink64 * item;
for(item = e->values.first; item; item = item->next)
{
-if((int)item->data == *(int *)ptr)
+if(item->data == GetEnumValue(_class, ptr))
{
result = item->name;
break;
}
if(result)
{
-exp->identifier = MkIdentifier(result);
+exp->__anon1.__anon1.identifier = MkIdentifier(result);
exp->type = 0;
exp->destType = MkClassType(_class->fullName);
ProcessExpressionType(exp);
if(_class->type == 4 || _class->type == 3 || _class->type == 2)
{
if(!_class->dataType)
-_class->dataType = ProcessTypeString(_class->dataTypeString, 0x0);
+_class->dataType = ProcessTypeString(_class->dataTypeString, 0);
type = _class->dataType;
}
}
{
case 6:
{
-exp->constant = PrintFloat(*(float *)ptr);
+exp->__anon1.__anon1.constant = PrintFloat(*(float *)ptr);
exp->type = 2;
break;
}
case 7:
{
-exp->constant = PrintDouble(*(double *)ptr);
+exp->__anon1.__anon1.constant = PrintDouble(*(double *)ptr);
exp->type = 2;
break;
}
case 3:
{
-exp->constant = PrintInt(*(int *)ptr);
+exp->__anon1.__anon1.constant = PrintInt(*(int *)ptr);
exp->type = 2;
break;
}
case 4:
{
-exp->constant = PrintInt64(*(long long *)ptr);
+exp->__anon1.__anon1.constant = PrintInt64(*(long long *)ptr);
exp->type = 2;
break;
}
case 22:
{
-exp->constant = PrintInt64((long long)*(intptr_t *)ptr);
+exp->__anon1.__anon1.constant = PrintInt64((long long)*(intptr_t *)ptr);
exp->type = 2;
break;
}
}
}
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(struct __ecereNameSpace__ecere__com__Class * _class, char * name, unsigned int * offset, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember ** subMemberStack, int * subMemberStackPos);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, unsigned int * offset, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember ** subMemberStack, int * subMemberStackPos);
extern void FreeInstance(struct Instantiation * inst);
void ComputeInstantiation(struct Expression * exp)
{
-struct Instantiation * inst = exp->instance;
+struct Instantiation * inst = exp->__anon1.instance;
struct MembersInit * members;
-struct Symbol * classSym = inst->_class ? inst->_class->symbol : (((void *)0));
-struct __ecereNameSpace__ecere__com__Class * _class = classSym ? classSym->registered : (((void *)0));
+struct Symbol * classSym = inst->_class ? inst->_class->__anon1.__anon1.symbol : (((void *)0));
+struct __ecereNameSpace__ecere__com__Class * _class = classSym ? classSym->__anon1.registered : (((void *)0));
struct __ecereNameSpace__ecere__com__DataMember * curMember = (((void *)0));
struct __ecereNameSpace__ecere__com__Class * curClass = (((void *)0));
struct __ecereNameSpace__ecere__com__DataMember * subMemberStack[256];
{
case 0:
{
-if(members->dataMembers)
+if(members->__anon1.dataMembers)
{
struct MemberInit * member;
-for(member = (*members->dataMembers).first; member; member = member->next)
+for(member = (*members->__anon1.dataMembers).first; member; member = member->next)
{
struct Identifier * ident = member->identifiers ? (*member->identifiers).first : (((void *)0));
-unsigned int found = 0x0;
+unsigned int found = 0;
struct __ecereNameSpace__ecere__com__Property * prop = (((void *)0));
struct __ecereNameSpace__ecere__com__DataMember * dataMember = (((void *)0));
-struct __ecereNameSpace__ecere__com__Method * method = (((void *)0));
unsigned int dataMemberOffset;
if(!ident)
if(_class->type == 0)
dataMemberOffset += _class->base->structSize;
}
-found = 0x1;
+found = 1;
}
}
else
prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, ident->string, privateModule);
if(prop)
{
-found = 0x1;
+found = 1;
if(prop->memberAccess == 1)
{
curMember = (struct __ecereNameSpace__ecere__com__DataMember *)prop;
dataMember = __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(_class, ident->string, &dataMemberOffset, privateModule, _subMemberStack, &_subMemberStackPos);
if(dataMember)
{
-found = 0x1;
+found = 1;
if(dataMember->memberAccess == 1)
{
curMember = dataMember;
}
if(found && member->initializer && member->initializer->type == 0)
{
-struct Expression * value = member->initializer->exp;
+struct Expression * value = member->initializer->__anon1.exp;
struct Type * type = (((void *)0));
-unsigned int deepMember = 0x0;
+unsigned int deepMember = 0;
if(prop)
{
else if(dataMember)
{
if(!dataMember->dataType)
-dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0x0);
+dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0);
type = dataMember->dataType;
}
if(ident && ident->next)
{
-deepMember = 0x1;
+deepMember = 1;
for(ident = ident->next; ident && type; ident = ident->next)
{
if(type->kind == 8)
{
-prop = __ecereNameSpace__ecere__com__eClass_FindProperty(type->_class->registered, ident->string, privateModule);
+prop = __ecereNameSpace__ecere__com__eClass_FindProperty(type->__anon1._class->__anon1.registered, ident->string, privateModule);
if(prop)
type = prop->dataType;
else
{
-dataMember = __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(type->_class->registered, ident->string, &dataMemberOffset, privateModule, (((void *)0)), (((void *)0)));
+dataMember = __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(type->__anon1._class->__anon1.registered, ident->string, &dataMemberOffset, privateModule, (((void *)0)), (((void *)0)));
if(dataMember)
type = dataMember->dataType;
}
{
struct Type * memberType;
-for(memberType = type->members.first; memberType; memberType = memberType->next)
+for(memberType = type->__anon1.__anon1.members.first; memberType; memberType = memberType->next)
{
if(!strcmp(memberType->name, ident->string))
{
{
if(type->kind == 8)
{
-struct __ecereNameSpace__ecere__com__Class * _class = type->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = type->__anon1._class->__anon1.registered;
if(_class->type == 2 || _class->type == 3 || _class->type == 4)
{
if(!_class->dataType)
-_class->dataType = ProcessTypeString(_class->dataTypeString, 0x0);
+_class->dataType = ProcessTypeString(_class->dataTypeString, 0);
type = _class->dataType;
}
}
{
if(type->kind == 8)
{
-struct __ecereNameSpace__ecere__com__Class * _class = type->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = type->__anon1._class->__anon1.registered;
if(_class->type == 1)
{
ComputeTypeSize(type);
-if(value->instance->data)
-memcpy(ptr, value->instance->data, type->size);
+if(value->__anon1.instance->data)
+memcpy(ptr, value->__anon1.instance->data, type->size);
}
}
}
}
else if(prop)
{
-if(value->type == 1 && value->instance->data)
+if(value->type == 1 && value->__anon1.instance->data)
{
if(type->kind == 8)
{
-struct __ecereNameSpace__ecere__com__Class * _class = type->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = type->__anon1._class->__anon1.registered;
-if(_class && (_class->type != 0 || __ecereNameSpace__ecere__com__eClass_IsDerived(((struct __ecereNameSpace__ecere__com__Instance *)(char *)((struct __ecereNameSpace__ecere__com__Instance *)value->instance->data))->_class, _class)))
+if(_class && (_class->type != 0 || __ecereNameSpace__ecere__com__eClass_IsDerived(((struct __ecereNameSpace__ecere__com__Instance *)(char *)((struct __ecereNameSpace__ecere__com__Instance *)value->__anon1.instance->data))->_class, _class)))
{
void (* Set)(void *, void *) = (void *)prop->Set;
-Set(inst->data, value->instance->data);
+Set(inst->data, value->__anon1.instance->data);
PopulateInstance(inst);
}
}
{
void (* Set)(void *, double) = (void *)prop->Set;
-Set(inst->data, strtod(value->constant, (((void *)0))));
+Set(inst->data, strtod(value->__anon1.__anon1.constant, (((void *)0))));
break;
}
case 6:
{
void (* Set)(void *, float) = (void *)prop->Set;
-Set(inst->data, (float)(strtod(value->constant, (((void *)0)))));
+Set(inst->data, (float)(strtod(value->__anon1.__anon1.constant, (((void *)0)))));
break;
}
case 3:
{
void (* Set)(void *, int) = (void *)prop->Set;
-Set(inst->data, strtol(value->constant, (((void *)0)), 0));
+Set(inst->data, strtol(value->__anon1.__anon1.constant, (((void *)0)), 0));
break;
}
case 4:
{
void (* Set)(void *, long long) = (void *)prop->Set;
-Set(inst->data, __ecereNameSpace__ecere__com___strtoi64(value->constant, (((void *)0)), 0));
+Set(inst->data, __ecereNameSpace__ecere__com___strtoi64(value->__anon1.__anon1.constant, (((void *)0)), 0));
break;
}
case 22:
{
void (* Set)(void *, intptr_t) = (void *)prop->Set;
-Set(inst->data, (intptr_t)__ecereNameSpace__ecere__com___strtoi64(value->constant, (((void *)0)), 0));
+Set(inst->data, (intptr_t)__ecereNameSpace__ecere__com___strtoi64(value->__anon1.__anon1.constant, (((void *)0)), 0));
break;
}
case 23:
{
void (* Set)(void *, ssize_t) = (void *)prop->Set;
-Set(inst->data, (ssize_t)__ecereNameSpace__ecere__com___strtoi64(value->constant, (((void *)0)), 0));
+Set(inst->data, (ssize_t)__ecereNameSpace__ecere__com___strtoi64(value->__anon1.__anon1.constant, (((void *)0)), 0));
break;
}
}
{
char temp[1024];
-ReadString(temp, value->string);
+ReadString(temp, value->__anon1.__anon2.string);
((void (*)(void *, void *))(void *)prop->Set)(inst->data, temp);
}
}
{
if(type->kind == 8)
{
-struct __ecereNameSpace__ecere__com__Class * _class = type->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = type->__anon1._class->__anon1.registered;
if(_class->type == 3)
{
if(!_class->dataType)
-_class->dataType = ProcessTypeString(_class->dataTypeString, 0x0);
+_class->dataType = ProcessTypeString(_class->dataTypeString, 0);
type = _class->dataType;
}
}
float fValue;
float (* Set)(float) = (void *)prop->Set;
-GetFloat(member->initializer->exp, &fValue);
-exp->constant = PrintFloat(Set(fValue));
+GetFloat(member->initializer->__anon1.exp, &fValue);
+exp->__anon1.__anon1.constant = PrintFloat(Set(fValue));
exp->type = 2;
break;
}
double dValue;
double (* Set)(double) = (void *)prop->Set;
-GetDouble(member->initializer->exp, &dValue);
-exp->constant = PrintDouble(Set(dValue));
+GetDouble(member->initializer->__anon1.exp, &dValue);
+exp->__anon1.__anon1.constant = PrintDouble(Set(dValue));
exp->type = 2;
break;
}
{
if(prop)
{
-if(value->type == 1 && value->instance->data)
+if(value->type == 1 && value->__anon1.instance->data)
{
unsigned int (* Set)(void *) = (void *)prop->Set;
-bits = Set(value->instance->data);
+bits = Set(value->__anon1.instance->data);
}
else if(value->type == 2)
{
{
struct __ecereNameSpace__ecere__com__BitMember * bitMember = (struct __ecereNameSpace__ecere__com__BitMember *)dataMember;
struct Type * type;
-uint64 part;
+uint64 part = 0;
bits = (bits & ~bitMember->mask);
if(!bitMember->dataType)
-bitMember->dataType = ProcessTypeString(bitMember->dataTypeString, 0x0);
+bitMember->dataType = ProcessTypeString(bitMember->dataTypeString, 0);
type = bitMember->dataType;
-if(type->kind == 8 && type->_class && type->_class->registered)
+if(type->kind == 8 && type->__anon1._class && type->__anon1._class->__anon1.registered)
{
-if(!type->_class->registered->dataType)
-type->_class->registered->dataType = ProcessTypeString(type->_class->registered->dataTypeString, 0x0);
-type = type->_class->registered->dataType;
+if(!type->__anon1._class->__anon1.registered->dataType)
+type->__anon1._class->__anon1.registered->dataType = ProcessTypeString(type->__anon1._class->__anon1.registered->dataTypeString, 0);
+type = type->__anon1._class->__anon1.registered->dataType;
}
switch(type->kind)
{
{
unsigned char v;
-type->isSigned ? GetChar(value, &v) : GetUChar(value, &v);
+type->isSigned ? GetChar(value, (char *)&v) : GetUChar(value, &v);
part = (uint64)v;
break;
}
{
unsigned short v;
-type->isSigned ? GetShort(value, &v) : GetUShort(value, &v);
+type->isSigned ? GetShort(value, (short *)&v) : GetUShort(value, &v);
part = (uint64)v;
break;
}
{
unsigned int v;
-type->isSigned ? GetInt(value, &v) : GetUInt(value, &v);
+type->isSigned ? GetInt(value, (int *)&v) : GetUInt(value, &v);
part = (uint64)v;
break;
}
{
uint64 v;
-type->isSigned ? GetInt64(value, &v) : GetUInt64(value, &v);
+type->isSigned ? GetInt64(value, (long long *)&v) : GetUInt64(value, &v);
part = v;
break;
}
case 22:
{
-intptr_t v;
+uintptr_t v;
-type->isSigned ? GetIntPtr(value, &v) : GetUIntPtr(value, &v);
+type->isSigned ? GetIntPtr(value, (intptr_t *)&v) : GetUIntPtr(value, &v);
part = (uint64)v;
break;
}
case 23:
{
-ssize_t v;
+size_t v;
-type->isSigned ? GetIntSize(value, &v) : GetUIntSize(value, &v);
+type->isSigned ? GetIntSize(value, (ssize_t *)&v) : GetUIntSize(value, &v);
part = (uint64)v;
break;
}
{
if(_class && _class->type == 3)
{
-ComputeExpression(member->initializer->exp);
-exp->constant = member->initializer->exp->constant;
+ComputeExpression(member->initializer->__anon1.exp);
+exp->__anon1.__anon1.constant = member->initializer->__anon1.exp->__anon1.__anon1.constant;
exp->type = 2;
-member->initializer->exp->constant = (((void *)0));
+member->initializer->__anon1.exp->__anon1.__anon1.constant = (((void *)0));
}
}
}
}
if(_class && _class->type == 2)
{
-exp->constant = PrintHexUInt(bits);
+exp->__anon1.__anon1.constant = PrintHexUInt(bits);
exp->type = 2;
}
if(exp->type != 1)
static unsigned int Promote(struct Operand * op, int kind, unsigned int isSigned)
{
-unsigned int result = 0x0;
+unsigned int result = 0;
switch(kind)
{
case 2:
if(op->kind == 1 || op->kind == 15 || op->kind == 24)
-result = isSigned ? GetOpShort(op, &op->s) : GetOpUShort(op, &op->us);
+result = isSigned ? GetOpShort(op, &op->__anon1.s) : GetOpUShort(op, &op->__anon1.us);
break;
case 3:
case 5:
if(op->kind == 1 || op->kind == 2 || op->kind == 15 || op->kind == 24)
-result = isSigned ? GetOpInt(op, &op->i) : GetOpUInt(op, &op->ui);
+result = isSigned ? GetOpInt(op, &op->__anon1.i) : GetOpUInt(op, &op->__anon1.ui);
break;
case 4:
if(op->kind == 1 || op->kind == 2 || op->kind == 3 || op->kind == 4 || op->kind == 5 || op->kind == 6 || op->kind == 7 || op->kind == 13 || op->kind == 15 || op->kind == 22 || op->kind == 23 || op->kind == 24)
-result = isSigned ? GetOpInt64(op, &op->i64) : GetOpUInt64(op, &op->ui64);
+result = isSigned ? GetOpInt64(op, &op->__anon1.i64) : GetOpUInt64(op, &op->__anon1.ui64);
break;
case 6:
if(op->kind == 1 || op->kind == 2 || op->kind == 3 || op->kind == 4 || op->kind == 5 || op->kind == 15 || op->kind == 22 || op->kind == 23 || op->kind == 24)
-result = GetOpFloat(op, &op->f);
+result = GetOpFloat(op, &op->__anon1.f);
break;
case 7:
if(op->kind == 1 || op->kind == 2 || op->kind == 3 || op->kind == 4 || op->kind == 5 || op->kind == 6 || op->kind == 15 || op->kind == 22 || op->kind == 23 || op->kind == 24)
-result = GetOpDouble(op, &op->d);
+result = GetOpDouble(op, &op->__anon1.d);
break;
case 13:
if(op->kind == 1 || op->kind == 2 || op->kind == 3 || op->kind == 4 || op->kind == 5 || op->kind == 6 || op->kind == 7 || op->kind == 13 || op->kind == 15 || op->kind == 22 || op->kind == 23 || op->kind == 24)
-result = GetOpUIntPtr(op, &op->ui64);
+result = GetOpUInt64(op, &op->__anon1.ui64);
break;
case 15:
if(op->kind == 1 || op->kind == 2 || op->kind == 3 || op->kind == 4 || op->kind == 5 || op->kind == 6 || op->kind == 7 || op->kind == 13 || op->kind == 15 || op->kind == 22 || op->kind == 23 || op->kind == 24)
-result = isSigned ? GetOpInt(op, &op->i) : GetOpUInt(op, &op->ui);
+result = isSigned ? GetOpInt(op, &op->__anon1.i) : GetOpUInt(op, &op->__anon1.ui);
break;
case 22:
if(op->kind == 1 || op->kind == 2 || op->kind == 3 || op->kind == 5 || op->kind == 15 || op->kind == 24)
-result = isSigned ? GetOpIntPtr(op, &op->i64) : GetOpUIntPtr(op, &op->i64);
+result = isSigned ? GetOpInt64(op, &op->__anon1.i64) : GetOpUInt64(op, &op->__anon1.ui64);
break;
case 23:
if(op->kind == 1 || op->kind == 2 || op->kind == 3 || op->kind == 5 || op->kind == 15 || op->kind == 24)
-result = isSigned ? GetOpIntSize(op, &op->ui64) : GetOpUIntSize(op, &op->ui64);
+result = isSigned ? GetOpInt64(op, &op->__anon1.i64) : GetOpUInt64(op, &op->__anon1.ui64);
break;
}
return result;
void CallOperator(struct Expression * exp, struct Expression * exp1, struct Expression * exp2, struct Operand * op1, struct Operand * op2)
{
-if(exp->op.op == SIZEOF)
+if(exp->__anon1.op.op == SIZEOF)
{
FreeExpContents(exp);
exp->type = 2;
-exp->constant = PrintUInt(ComputeTypeSize(op1->type));
+exp->__anon1.__anon1.constant = PrintUInt(ComputeTypeSize(op1->type));
}
else
{
-if(!exp->op.exp1)
+if(!exp->__anon1.op.exp1)
{
-switch(exp->op.op)
+switch(exp->__anon1.op.op)
{
case '+':
{
-struct Expression * exp2 = exp->op.exp2;
+struct Expression * exp2 = exp->__anon1.op.exp2;
-exp->op.exp2 = (((void *)0));
+exp->__anon1.op.exp2 = (((void *)0));
FreeExpContents(exp);
FreeType(exp->expType);
FreeType(exp->destType);
*exp = *exp2;
-((exp2 ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor(exp2) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(exp2)) : 0), exp2 = 0);
+((exp2 ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor((void *)exp2) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(exp2)) : 0), exp2 = 0);
break;
}
case '-':
else if(Promote(op1, op2->kind, op2->type->isSigned))
op1->kind = op2->kind, op1->ops = op2->ops;
}
-switch(exp->op.op)
+switch(exp->__anon1.op.op)
{
case '+':
if(op1->ops.Add)
}
break;
case '&':
-if(exp->op.exp2)
+if(exp->__anon1.op.exp2)
{
if(op1->ops.BitAnd)
{
void ComputeExpression(struct Expression * exp)
{
-char expString[10240];
-
-expString[0] = '\0';
switch(exp->type)
{
case 1:
case 4:
{
struct Expression * exp1, * exp2 = (((void *)0));
-struct Operand op1 =
+struct Operand op1 =
{
-0, 0, 0, 0,
+0, 0, 0,
+.__anon1 = {
+.c = 0
+},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
};
-struct Operand op2 =
+struct Operand op2 =
{
-0, 0, 0, 0,
+0, 0, 0,
+.__anon1 = {
+.c = 0
+},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
};
-if(exp->op.exp2)
+if(exp->__anon1.op.exp2)
{
-struct Expression * e = exp->op.exp2;
+struct Expression * e = exp->__anon1.op.exp2;
-while((e->type == 5 || e->type == 32 || e->type == 23) && e->list)
+while((e->type == 5 || e->type == 32 || e->type == 23) && e->__anon1.list)
{
if(e->type == 5 || e->type == 32 || e->type == 23)
{
if(e->type == 23)
-e = (*((struct Statement *)(*e->compound->compound.statements).last)->expressions).last;
+e = (*((struct Statement *)(*e->__anon1.compound->__anon1.compound.statements).last)->__anon1.expressions).last;
else
-e = (*e->list).last;
+e = (*e->__anon1.list).last;
}
}
-if(exp->op.op == 261 && e && e->expType)
+if(exp->__anon1.op.op == 261 && e && e->expType)
{
-if(e->type == 3 && e->string)
+if(e->type == 3 && e->__anon1.__anon2.string)
{
-char * string = e->string;
+char * string = e->__anon1.__anon2.string;
int len = strlen(string);
char * tmp = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (len - 2 + 1));
(__ecereNameSpace__ecere__com__eSystem_Delete(tmp), tmp = 0);
FreeExpContents(exp);
exp->type = 2;
-exp->constant = PrintUInt(len + 1);
+exp->__anon1.__anon1.constant = PrintUInt(len + 1);
}
else
{
type->refCount++;
FreeExpContents(exp);
exp->type = 2;
-exp->constant = PrintUInt(ComputeTypeSize(type));
+exp->__anon1.__anon1.constant = PrintUInt(ComputeTypeSize(type));
FreeType(type);
}
break;
}
else
-ComputeExpression(exp->op.exp2);
+ComputeExpression(exp->__anon1.op.exp2);
}
-if(exp->op.exp1)
+if(exp->__anon1.op.exp1)
{
-ComputeExpression(exp->op.exp1);
-exp1 = exp->op.exp1;
-exp2 = exp->op.exp2;
+ComputeExpression(exp->__anon1.op.exp1);
+exp1 = exp->__anon1.op.exp1;
+exp2 = exp->__anon1.op.exp2;
op1 = GetOperand(exp1);
if(op1.type)
op1.type->refCount++;
}
else
{
-exp1 = exp->op.exp2;
+exp1 = exp->__anon1.op.exp2;
op1 = GetOperand(exp1);
if(op1.type)
op1.type->refCount++;
{
struct Expression * e, * n;
-for(e = (*exp->list).first; e; e = n)
+for(e = (*exp->__anon1.list).first; e; e = n)
{
n = e->next;
if(!n)
{
-struct __ecereNameSpace__ecere__sys__OldList * list = exp->list;
+struct __ecereNameSpace__ecere__sys__OldList * list = exp->__anon1.list;
struct Expression * prev = exp->prev;
struct Expression * next = exp->next;
*exp = *e;
exp->prev = prev;
exp->next = next;
-((e ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor(e) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(e)) : 0), e = 0);
+((e ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor((void *)e) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(e)) : 0), e = 0);
(__ecereNameSpace__ecere__com__eSystem_Delete(list), list = 0);
}
else
}
case 8:
{
-struct Expression * memberExp = exp->member.exp;
-struct Identifier * memberID = exp->member.member;
+struct Expression * memberExp = exp->__anon1.member.exp;
+struct Identifier * memberID = exp->__anon1.member.member;
struct Type * type;
-ComputeExpression(exp->member.exp);
-type = exp->member.exp->expType;
+ComputeExpression(exp->__anon1.member.exp);
+type = exp->__anon1.member.exp->expType;
if(type)
{
-struct __ecereNameSpace__ecere__com__Class * _class = (exp->member.member && exp->member.member->classSym) ? exp->member.member->classSym->registered : (((type->kind == 8 || type->kind == 19) && type->_class) ? type->_class->registered : (((void *)0)));
+struct __ecereNameSpace__ecere__com__Class * _class = (exp->__anon1.member.member && exp->__anon1.member.member->classSym) ? exp->__anon1.member.member->classSym->__anon1.registered : (((type->kind == 8 || type->kind == 19) && type->__anon1._class) ? type->__anon1._class->__anon1.registered : (((void *)0)));
struct __ecereNameSpace__ecere__com__Property * prop = (((void *)0));
struct __ecereNameSpace__ecere__com__DataMember * member = (((void *)0));
struct __ecereNameSpace__ecere__com__Class * convertTo = (((void *)0));
-if(type->kind == 19 && exp->member.exp->type == 24)
+if(type->kind == 19 && exp->__anon1.member.exp->type == 24)
_class = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "ecere::com::Class");
if(!_class)
{
struct Symbol * classSym;
string[0] = '\0';
-PrintTypeNoConst(type, string, 0x0, 0x1);
+PrintTypeNoConst(type, string, 0, 1);
classSym = FindClass(string);
-_class = classSym ? classSym->registered : (((void *)0));
+_class = classSym ? classSym->__anon1.registered : (((void *)0));
}
-if(exp->member.member)
+if(exp->__anon1.member.member)
{
-prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, exp->member.member->string, privateModule);
+prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, exp->__anon1.member.member->string, privateModule);
if(!prop)
-member = __ecereNameSpace__ecere__com__eClass_FindDataMember(_class, exp->member.member->string, privateModule, (((void *)0)), (((void *)0)));
+member = __ecereNameSpace__ecere__com__eClass_FindDataMember(_class, exp->__anon1.member.member->string, privateModule, (((void *)0)), (((void *)0)));
}
-if(!prop && !member && _class && exp->member.member)
+if(!prop && !member && _class && exp->__anon1.member.member)
{
-struct Symbol * classSym = FindClass(exp->member.member->string);
+struct Symbol * classSym = FindClass(exp->__anon1.member.member->string);
convertTo = _class;
-_class = classSym ? classSym->registered : (((void *)0));
+_class = classSym ? classSym->__anon1.registered : (((void *)0));
prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, convertTo->fullName, privateModule);
}
if(prop)
{
if(type->kind == 8)
{
-struct __ecereNameSpace__ecere__com__Class * _class = type->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = type->__anon1._class->__anon1.registered;
if(_class->type == 3)
{
if(!_class->dataType)
-_class->dataType = ProcessTypeString(_class->dataTypeString, 0x0);
+_class->dataType = ProcessTypeString(_class->dataTypeString, 0);
type = _class->dataType;
}
}
float value;
float (* Get)(float) = (void *)prop->Get;
-GetFloat(exp->member.exp, &value);
-exp->constant = PrintFloat(Get ? Get(value) : value);
+GetFloat(exp->__anon1.member.exp, &value);
+exp->__anon1.__anon1.constant = PrintFloat(Get ? Get(value) : value);
exp->type = 2;
break;
}
double value;
double (* Get)(double);
-GetDouble(exp->member.exp, &value);
+GetDouble(exp->__anon1.member.exp, &value);
if(convertTo)
Get = (void *)prop->Set;
else
Get = (void *)prop->Get;
-exp->constant = PrintDouble(Get ? Get(value) : value);
+exp->__anon1.__anon1.constant = PrintDouble(Get ? Get(value) : value);
exp->type = 2;
break;
}
{
if(convertTo)
{
-struct Expression * value = exp->member.exp;
+struct Expression * value = exp->__anon1.member.exp;
struct Type * type;
if(!prop->dataType)
{
case 8:
{
-struct __ecereNameSpace__ecere__com__Class * propertyClass = type->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * propertyClass = type->__anon1._class->__anon1.registered;
if(propertyClass->type == 1 && value->type == 1)
{
void (* Set)(void *, void *) = (void *)prop->Set;
-exp->instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
-exp->instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
-exp->instance->_class = MkSpecifierName(_class->fullName);
-exp->instance->loc = exp->loc;
+exp->__anon1.instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
+exp->__anon1.instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
+exp->__anon1.instance->_class = MkSpecifierName(_class->fullName);
+exp->__anon1.instance->loc = exp->loc;
exp->type = 1;
-Set(exp->instance->data, value->instance->data);
-PopulateInstance(exp->instance);
+Set(exp->__anon1.instance->data, value->__anon1.instance->data);
+PopulateInstance(exp->__anon1.instance);
}
break;
}
int intValue;
void (* Set)(void *, int) = (void *)prop->Set;
-exp->instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
-exp->instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
-exp->instance->_class = MkSpecifierName(_class->fullName);
-exp->instance->loc = exp->loc;
+exp->__anon1.instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
+exp->__anon1.instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
+exp->__anon1.instance->_class = MkSpecifierName(_class->fullName);
+exp->__anon1.instance->loc = exp->loc;
exp->type = 1;
GetInt(value, &intValue);
-Set(exp->instance->data, intValue);
-PopulateInstance(exp->instance);
+Set(exp->__anon1.instance->data, intValue);
+PopulateInstance(exp->__anon1.instance);
break;
}
case 4:
long long intValue;
void (* Set)(void *, long long) = (void *)prop->Set;
-exp->instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
-exp->instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
-exp->instance->_class = MkSpecifierName(_class->fullName);
-exp->instance->loc = exp->loc;
+exp->__anon1.instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
+exp->__anon1.instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
+exp->__anon1.instance->_class = MkSpecifierName(_class->fullName);
+exp->__anon1.instance->loc = exp->loc;
exp->type = 1;
GetInt64(value, &intValue);
-Set(exp->instance->data, intValue);
-PopulateInstance(exp->instance);
+Set(exp->__anon1.instance->data, intValue);
+PopulateInstance(exp->__anon1.instance);
break;
}
case 22:
intptr_t intValue;
void (* Set)(void *, intptr_t) = (void *)prop->Set;
-exp->instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
-exp->instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
-exp->instance->_class = MkSpecifierName(_class->fullName);
-exp->instance->loc = exp->loc;
+exp->__anon1.instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
+exp->__anon1.instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
+exp->__anon1.instance->_class = MkSpecifierName(_class->fullName);
+exp->__anon1.instance->loc = exp->loc;
exp->type = 1;
GetIntPtr(value, &intValue);
-Set(exp->instance->data, intValue);
-PopulateInstance(exp->instance);
+Set(exp->__anon1.instance->data, intValue);
+PopulateInstance(exp->__anon1.instance);
break;
}
case 23:
ssize_t intValue;
void (* Set)(void *, ssize_t) = (void *)prop->Set;
-exp->instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
-exp->instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
-exp->instance->_class = MkSpecifierName(_class->fullName);
-exp->instance->loc = exp->loc;
+exp->__anon1.instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
+exp->__anon1.instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
+exp->__anon1.instance->_class = MkSpecifierName(_class->fullName);
+exp->__anon1.instance->loc = exp->loc;
exp->type = 1;
GetIntSize(value, &intValue);
-Set(exp->instance->data, intValue);
-PopulateInstance(exp->instance);
+Set(exp->__anon1.instance->data, intValue);
+PopulateInstance(exp->__anon1.instance);
break;
}
case 6:
float floatValue;
void (* Set)(void *, float) = (void *)prop->Set;
-exp->instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
-exp->instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
-exp->instance->_class = MkSpecifierName(_class->fullName);
-exp->instance->loc = exp->loc;
+exp->__anon1.instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
+exp->__anon1.instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
+exp->__anon1.instance->_class = MkSpecifierName(_class->fullName);
+exp->__anon1.instance->loc = exp->loc;
exp->type = 1;
GetFloat(value, &floatValue);
-Set(exp->instance->data, floatValue);
-PopulateInstance(exp->instance);
+Set(exp->__anon1.instance->data, floatValue);
+PopulateInstance(exp->__anon1.instance);
break;
}
case 7:
double doubleValue;
void (* Set)(void *, double) = (void *)prop->Set;
-exp->instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
-exp->instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
-exp->instance->_class = MkSpecifierName(_class->fullName);
-exp->instance->loc = exp->loc;
+exp->__anon1.instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
+exp->__anon1.instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
+exp->__anon1.instance->_class = MkSpecifierName(_class->fullName);
+exp->__anon1.instance->loc = exp->loc;
exp->type = 1;
GetDouble(value, &doubleValue);
-Set(exp->instance->data, doubleValue);
-PopulateInstance(exp->instance);
+Set(exp->__anon1.instance->data, doubleValue);
+PopulateInstance(exp->__anon1.instance);
break;
}
}
{
case 8:
{
-struct __ecereNameSpace__ecere__com__Class * propertyClass = type->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * propertyClass = type->__anon1._class->__anon1.registered;
-if(propertyClass->type == 1 && value->instance->data)
+if(propertyClass->type == 1 && value->__anon1.instance->data)
{
unsigned int (* Set)(void *) = (void *)prop->Set;
-unsigned int bits = Set(value->instance->data);
+unsigned int bits = Set(value->__anon1.instance->data);
-exp->constant = PrintHexUInt(bits);
+exp->__anon1.__anon1.constant = PrintHexUInt(bits);
exp->type = 2;
break;
}
unsigned int (* Set)(unsigned int) = (void *)prop->Set;
unsigned int bits;
-GetUInt(exp->member.exp, &value);
+GetUInt(exp->__anon1.member.exp, &value);
bits = Set(value);
-exp->constant = PrintHexUInt(bits);
+exp->__anon1.__anon1.constant = PrintHexUInt(bits);
exp->type = 2;
}
}
{
unsigned int value;
-GetUInt(exp->member.exp, &value);
+GetUInt(exp->__anon1.member.exp, &value);
switch(type->kind)
{
case 8:
{
-struct __ecereNameSpace__ecere__com__Class * _class = type->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = type->__anon1._class->__anon1.registered;
if(_class->type == 1)
{
void (* Get)(unsigned int, void *) = (void *)prop->Get;
-exp->instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
-exp->instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
-exp->instance->_class = MkSpecifierName(_class->fullName);
-exp->instance->loc = exp->loc;
+exp->__anon1.instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
+exp->__anon1.instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
+exp->__anon1.instance->_class = MkSpecifierName(_class->fullName);
+exp->__anon1.instance->loc = exp->loc;
exp->type = 1;
-Get(value, exp->instance->data);
-PopulateInstance(exp->instance);
+Get(value, exp->__anon1.instance->data);
+PopulateInstance(exp->__anon1.instance);
}
else if(_class->type == 2)
{
unsigned int (* Get)(unsigned int) = (void *)prop->Get;
uint64 bits = Get(value);
-exp->constant = PrintHexUInt64(bits);
+exp->__anon1.__anon1.constant = PrintHexUInt64(bits);
exp->type = 2;
}
break;
}
else if(_class->type == 1)
{
-char * value = (exp->member.exp->type == 1) ? exp->member.exp->instance->data : (((void *)0));
+unsigned char * value = (exp->__anon1.member.exp->type == 1) ? exp->__anon1.member.exp->__anon1.instance->data : (((void *)0));
switch(type->kind)
{
case 8:
{
-struct __ecereNameSpace__ecere__com__Class * _class = type->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = type->__anon1._class->__anon1.registered;
if(_class->type == 1 && value)
{
void (* Get)(void *, void *) = (void *)prop->Get;
-exp->instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
-exp->instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
-exp->instance->_class = MkSpecifierName(_class->fullName);
-exp->instance->loc = exp->loc;
+exp->__anon1.instance = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
+exp->__anon1.instance->data = __ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (_class->structSize));
+exp->__anon1.instance->_class = MkSpecifierName(_class->fullName);
+exp->__anon1.instance->loc = exp->loc;
exp->type = 1;
-Get(value, exp->instance->data);
-PopulateInstance(exp->instance);
+Get(value, exp->__anon1.instance->data);
+PopulateInstance(exp->__anon1.instance);
}
break;
}
}
else
{
-exp->isConstant = 0x0;
+exp->isConstant = 0;
}
}
else if(member)
}
case 10:
{
-struct Type * type = ProcessType(exp->typeName->qualifiers, exp->typeName->declarator);
+struct Type * type = ProcessType(exp->__anon1.typeName->qualifiers, exp->__anon1.typeName->declarator);
FreeExpContents(exp);
-exp->constant = PrintUInt(ComputeTypeSize(type));
+exp->__anon1.__anon1.constant = PrintUInt(ComputeTypeSize(type));
exp->type = 2;
FreeType(type);
break;
}
case 15:
{
-struct Symbol * classSym = exp->_class->symbol;
+struct Symbol * classSym = exp->__anon1._class->__anon1.__anon1.symbol;
-if(classSym && classSym->registered)
+if(classSym && classSym->__anon1.registered)
{
-if(classSym->registered->fixed)
+if(classSym->__anon1.registered->fixed)
{
-FreeSpecifier(exp->_class);
-exp->constant = PrintUInt(classSym->registered->templateClass ? classSym->registered->templateClass->structSize : classSym->registered->structSize);
+FreeSpecifier(exp->__anon1._class);
+exp->__anon1.__anon1.constant = PrintUInt(classSym->__anon1.registered->templateClass ? classSym->__anon1.registered->templateClass->structSize : classSym->__anon1.registered->structSize);
exp->type = 2;
}
else
char className[1024];
strcpy(className, "__ecereClass_");
-FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
+FullClassNameCat(className, classSym->string, 1);
DeclareClass(classSym, className);
FreeExpContents(exp);
exp->type = 9;
-exp->member.exp = MkExpIdentifier(MkIdentifier(className));
-exp->member.member = MkIdentifier("structSize");
+exp->__anon1.member.exp = MkExpIdentifier(MkIdentifier(className));
+exp->__anon1.member.member = MkIdentifier("structSize");
}
}
break;
if(exp->type == 11)
{
-if(exp->cast.exp)
-ComputeExpression(exp->cast.exp);
-e = exp->cast.exp;
+if(exp->__anon1.cast.exp)
+ComputeExpression(exp->__anon1.cast.exp);
+e = exp->__anon1.cast.exp;
}
if(e && exp->expType)
{
type = exp->expType;
if(type->kind == 8)
{
-struct __ecereNameSpace__ecere__com__Class * _class = type->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = type->__anon1._class->__anon1.registered;
if(_class && (_class->type == 3 || _class->type == 2))
{
if(!_class->dataType)
-_class->dataType = ProcessTypeString(_class->dataTypeString, 0x0);
+_class->dataType = ProcessTypeString(_class->dataTypeString, 0);
type = _class->dataType;
}
}
if(GetChar(e, &value))
{
FreeExpContents(exp);
-exp->constant = PrintChar(value);
+exp->__anon1.__anon1.constant = PrintChar(value);
exp->type = 2;
}
}
if(GetUChar(e, &value))
{
FreeExpContents(exp);
-exp->constant = PrintUChar(value);
+exp->__anon1.__anon1.constant = PrintUChar(value);
exp->type = 2;
}
}
if(GetShort(e, &value))
{
FreeExpContents(exp);
-exp->constant = PrintShort(value);
+exp->__anon1.__anon1.constant = PrintShort(value);
exp->type = 2;
}
}
if(GetUShort(e, &value))
{
FreeExpContents(exp);
-exp->constant = PrintUShort(value);
+exp->__anon1.__anon1.constant = PrintUShort(value);
exp->type = 2;
}
}
if(GetInt(e, &value))
{
FreeExpContents(exp);
-exp->constant = PrintInt(value);
+exp->__anon1.__anon1.constant = PrintInt(value);
exp->type = 2;
}
}
if(GetUInt(e, &value))
{
FreeExpContents(exp);
-exp->constant = PrintUInt(value);
+exp->__anon1.__anon1.constant = PrintUInt(value);
exp->type = 2;
}
}
if(GetInt64(e, &value))
{
FreeExpContents(exp);
-exp->constant = PrintInt64(value);
+exp->__anon1.__anon1.constant = PrintInt64(value);
exp->type = 2;
}
}
if(GetUInt64(e, &value))
{
FreeExpContents(exp);
-exp->constant = PrintUInt64(value);
+exp->__anon1.__anon1.constant = PrintUInt64(value);
exp->type = 2;
}
}
if(GetIntPtr(e, &value))
{
FreeExpContents(exp);
-exp->constant = PrintInt64((long long)value);
+exp->__anon1.__anon1.constant = PrintInt64((long long)value);
exp->type = 2;
}
}
if(GetUIntPtr(e, &value))
{
FreeExpContents(exp);
-exp->constant = PrintUInt64((uint64)value);
+exp->__anon1.__anon1.constant = PrintUInt64((uint64)value);
exp->type = 2;
}
}
if(GetIntSize(e, &value))
{
FreeExpContents(exp);
-exp->constant = PrintInt64((long long)value);
+exp->__anon1.__anon1.constant = PrintInt64((long long)value);
exp->type = 2;
}
}
if(GetUIntSize(e, &value))
{
FreeExpContents(exp);
-exp->constant = PrintUInt64((uint64)value);
+exp->__anon1.__anon1.constant = PrintUInt64((uint64)value);
exp->type = 2;
}
}
if(GetFloat(e, &value))
{
FreeExpContents(exp);
-exp->constant = PrintFloat(value);
+exp->__anon1.__anon1.constant = PrintFloat(value);
exp->type = 2;
}
break;
if(GetDouble(e, &value))
{
FreeExpContents(exp);
-exp->constant = PrintDouble(value);
+exp->__anon1.__anon1.constant = PrintDouble(value);
exp->type = 2;
}
break;
}
case 12:
{
-struct Operand op1 =
+struct Operand op1 =
{
-0, 0, 0, 0,
+0, 0, 0,
+.__anon1 = {
+.c = 0
+},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
};
-struct Operand op2 =
+struct Operand op2 =
{
-0, 0, 0, 0,
+0, 0, 0,
+.__anon1 = {
+.c = 0
+},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
};
-struct Operand op3 =
+struct Operand op3 =
{
-0, 0, 0, 0,
+0, 0, 0,
+.__anon1 = {
+.c = 0
+},
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
};
-if(exp->cond.exp)
-ComputeExpression((*exp->cond.exp).last);
-if(exp->cond.elseExp)
-ComputeExpression(exp->cond.elseExp);
-if(exp->cond.cond)
-ComputeExpression(exp->cond.cond);
-op1 = GetOperand(exp->cond.cond);
+if(exp->__anon1.cond.exp)
+ComputeExpression((*exp->__anon1.cond.exp).last);
+if(exp->__anon1.cond.elseExp)
+ComputeExpression(exp->__anon1.cond.elseExp);
+if(exp->__anon1.cond.cond)
+ComputeExpression(exp->__anon1.cond.cond);
+op1 = GetOperand(exp->__anon1.cond.cond);
if(op1.type)
op1.type->refCount++;
-op2 = GetOperand((*exp->cond.exp).last);
+op2 = GetOperand((*exp->__anon1.cond.exp).last);
if(op2.type)
op2.type->refCount++;
-op3 = GetOperand(exp->cond.elseExp);
+op3 = GetOperand(exp->__anon1.cond.elseExp);
if(op3.type)
op3.type->refCount++;
if(op1.ops.Cond)
void ApplyAnyObjectLogic(struct Expression * e);
-extern void CopyTypeInto(struct Type * type, struct Type * src);
-
-static unsigned int CheckExpressionType(struct Expression * exp, struct Type * destType, unsigned int skipUnitBla)
+static unsigned int CheckExpressionType(struct Expression * exp, struct Type * destType, unsigned int skipUnitBla, unsigned int warnConst)
{
-unsigned int result = 0x1;
+unsigned int result = 1;
if(destType)
{
-struct __ecereNameSpace__ecere__sys__OldList converts =
+struct __ecereNameSpace__ecere__sys__OldList converts =
{
0, 0, 0, 0, 0
};
struct Conversion * convert;
if(destType->kind == 0)
-return 0x0;
-if(!MatchTypeExpression(exp, destType, &converts, skipUnitBla))
-result = 0x0;
+return 0;
+if(!MatchTypeExpression(exp, destType, &converts, skipUnitBla, warnConst))
+result = 0;
if(converts.count)
{
for(convert = converts.first; convert; convert = convert->next)
if(convert->isGet)
{
exp->type = 8;
-exp->addedThis = 0x1;
-exp->member.exp = newExp;
-FreeType(exp->member.exp->expType);
-exp->member.exp->expType = MkClassType(convert->convert->_class->fullName);
-exp->member.exp->expType->classObjectType = objectType;
-exp->member.member = MkIdentifier(convert->convert->dataTypeString);
-exp->member.memberType = 1;
+exp->addedThis = 1;
+exp->__anon1.member.exp = newExp;
+FreeType(exp->__anon1.member.exp->expType);
+exp->__anon1.member.exp->expType = MkClassType(convert->convert->_class->fullName);
+exp->__anon1.member.exp->expType->classObjectType = objectType;
+exp->__anon1.member.member = MkIdentifier(convert->convert->dataTypeString);
+exp->__anon1.member.memberType = 1;
exp->expType = convert->resultType ? convert->resultType : convert->convert->dataType;
-exp->needCast = 0x1;
+exp->needCast = 1;
if(exp->expType)
exp->expType->refCount++;
-ApplyAnyObjectLogic(exp->member.exp);
+ApplyAnyObjectLogic(exp->__anon1.member.exp);
}
else
{
{
exp->type = 8;
-exp->addedThis = 0x1;
-exp->member.exp = newExp;
-if(newExp->expType && newExp->expType->kind == 8 && newExp->expType->_class && newExp->expType->_class->registered && newExp->expType->_class->registered->type == 5)
+exp->addedThis = 1;
+exp->__anon1.member.exp = newExp;
+if(newExp->expType && newExp->expType->kind == 8 && newExp->expType->__anon1._class && newExp->expType->__anon1._class->__anon1.registered && newExp->expType->__anon1._class->__anon1.registered->type == 5)
{
-newExp->byReference = 0x1;
+newExp->byReference = 1;
}
-FreeType(exp->member.exp->expType);
-exp->member.exp->expType = (((void *)0));
+FreeType(exp->__anon1.member.exp->expType);
+exp->__anon1.member.exp->expType = (((void *)0));
if(convert->convert->dataType)
{
-exp->member.exp->expType = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
-CopyTypeInto(exp->member.exp->expType, convert->convert->dataType);
-exp->member.exp->expType->refCount = 1;
-exp->member.exp->expType->classObjectType = objectType;
-ApplyAnyObjectLogic(exp->member.exp);
+exp->__anon1.member.exp->expType = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
+CopyTypeInto(exp->__anon1.member.exp->expType, convert->convert->dataType);
+exp->__anon1.member.exp->expType->refCount = 1;
+exp->__anon1.member.exp->expType->classObjectType = objectType;
+ApplyAnyObjectLogic(exp->__anon1.member.exp);
}
-exp->member.member = MkIdentifier(convert->convert->_class->fullName);
-exp->member.memberType = 4;
+exp->__anon1.member.member = MkIdentifier(convert->convert->_class->fullName);
+exp->__anon1.member.memberType = 4;
exp->expType = convert->resultType ? convert->resultType : MkClassType(convert->convert->_class->fullName);
-exp->needCast = 0x1;
+exp->needCast = 1;
if(convert->resultType)
convert->resultType->refCount++;
}
if(convert->isGet)
{
exp->expType = convert->resultType ? convert->resultType : convert->convert->dataType;
-exp->needCast = 0x1;
+if(exp->destType->casted)
+exp->needCast = 1;
if(exp->expType)
exp->expType->refCount++;
}
else
{
exp->expType = convert->resultType ? convert->resultType : MkClassType(convert->convert->_class->fullName);
-exp->needCast = 0x1;
+if(exp->destType->casted)
+exp->needCast = 1;
if(convert->resultType)
convert->resultType->refCount++;
}
}
if(!result && exp->expType && converts.count)
{
-result = MatchTypes(exp->expType, exp->destType, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0);
+result = MatchTypes(exp->expType, exp->destType, (((void *)0)), (((void *)0)), (((void *)0)), 1, 1, 0, 0, warnConst);
}
if(!result && exp->expType && exp->destType)
{
-if((exp->destType->kind == 8 && exp->expType->kind == 13 && exp->expType->type->kind == 8 && exp->expType->type->_class == exp->destType->_class && exp->destType->_class->registered && exp->destType->_class->registered->type == 1) || (exp->expType->kind == 8 && exp->destType->kind == 13 && exp->destType->type->kind == 8 && exp->destType->type->_class == exp->expType->_class && exp->expType->_class->registered && exp->expType->_class->registered->type == 1))
-result = 0x1;
+if((exp->destType->kind == 8 && exp->expType->kind == 13 && exp->expType->__anon1.type->kind == 8 && exp->expType->__anon1.type->__anon1._class == exp->destType->__anon1._class && exp->destType->__anon1._class->__anon1.registered && exp->destType->__anon1._class->__anon1.registered->type == 1) || (exp->expType->kind == 8 && exp->destType->kind == 13 && exp->destType->__anon1.type->kind == 8 && exp->destType->__anon1.type->__anon1._class == exp->expType->__anon1._class && exp->expType->__anon1._class->__anon1.registered && exp->expType->__anon1._class->__anon1.registered->type == 1))
+result = 1;
}
}
return result;
}
+extern struct Expression * GetNonBracketsExp(struct Expression * exp);
+
extern struct Statement * MkCompoundStmt(struct __ecereNameSpace__ecere__sys__OldList * declarations, struct __ecereNameSpace__ecere__sys__OldList * statements);
extern struct Statement * MkExpressionStmt(struct __ecereNameSpace__ecere__sys__OldList * expressions);
void CheckTemplateTypes(struct Expression * exp)
{
-if(exp->destType && exp->destType->passAsTemplate && exp->expType && exp->expType->kind != 20 && !exp->expType->passAsTemplate)
+struct Expression * nbExp = GetNonBracketsExp(exp);
+
+if(exp->destType && exp->destType->passAsTemplate && exp->expType && exp->expType->kind != 20 && !exp->expType->passAsTemplate && (nbExp == exp || nbExp->type != 11))
{
struct Expression * newExp = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
-struct Statement * compound;
struct Context * context;
*newExp = *exp;
exp->destType->refCount--;
if(exp->expType)
exp->expType->refCount--;
-((newExp ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor(newExp) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(newExp)) : 0), newExp = 0);
+((newExp ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor((void *)newExp) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(newExp)) : 0), newExp = 0);
}
else
{
ListAdd(unionDefs, MkClassDefDeclaration(MkStructDeclaration(MkListOne(MkSpecifierName("uint64")), MkListOne(MkDeclaratorIdentifier(MkIdentifier("i"))), (((void *)0)))));
specs = MkListOne(MkStructOrUnion(4, (((void *)0)), unionDefs));
exp->type = 23;
-exp->compound = MkCompoundStmt(MkListOne(MkDeclaration(specs, MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("__internal_union")), (((void *)0)))))), statements);
+exp->__anon1.compound = MkCompoundStmt(MkListOne(MkDeclaration(specs, MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("__internal_union")), (((void *)0)))))), statements);
ListAdd(statements, MkExpressionStmt(MkListOne(MkExpOp(MkExpMember(MkExpIdentifier(MkIdentifier("__internal_union")), MkIdentifier("d")), '=', newExp))));
ListAdd(statements, MkExpressionStmt(MkListOne(MkExpMember(MkExpIdentifier(MkIdentifier("__internal_union")), MkIdentifier("i")))));
-exp->compound->compound.context = context;
+exp->__anon1.compound->__anon1.compound.context = context;
PopContext(context);
}
break;
default:
exp->type = 11;
-exp->cast.typeName = MkTypeName(MkListOne(MkSpecifierName("uint64")), (((void *)0)));
-exp->cast.exp = MkExpBrackets(MkListOne(newExp));
+exp->__anon1.cast.typeName = MkTypeName(MkListOne(MkSpecifierName("uint64")), (((void *)0)));
+exp->__anon1.cast.exp = MkExpBrackets(MkListOne(newExp));
+exp->needCast = 1;
break;
}
}
else if(exp->expType && exp->expType->passAsTemplate && exp->destType && ((unsigned int)((exp->usage & 0x1) >> 0)) && exp->destType->kind != 20 && !exp->destType->passAsTemplate)
{
struct Expression * newExp = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
-struct Statement * compound;
struct Context * context;
*newExp = *exp;
exp->destType->refCount--;
if(exp->expType)
exp->expType->refCount--;
-((newExp ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor(newExp) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(newExp)) : 0), newExp = 0);
+((newExp ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor((void *)newExp) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(newExp)) : 0), newExp = 0);
}
else
{
ListAdd(unionDefs, MkClassDefDeclaration(MkStructDeclaration(MkListOne(MkSpecifierName("uint64")), MkListOne(MkDeclaratorIdentifier(MkIdentifier("i"))), (((void *)0)))));
specs = MkListOne(MkStructOrUnion(4, (((void *)0)), unionDefs));
exp->type = 23;
-exp->compound = MkCompoundStmt(MkListOne(MkDeclaration(specs, MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("__internal_union")), (((void *)0)))))), statements);
+exp->__anon1.compound = MkCompoundStmt(MkListOne(MkDeclaration(specs, MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("__internal_union")), (((void *)0)))))), statements);
ListAdd(statements, MkExpressionStmt(MkListOne(MkExpOp(MkExpMember(MkExpIdentifier(MkIdentifier("__internal_union")), MkIdentifier("i")), '=', newExp))));
ListAdd(statements, MkExpressionStmt(MkListOne(MkExpMember(MkExpIdentifier(MkIdentifier("__internal_union")), MkIdentifier("d")))));
-exp->compound->compound.context = context;
+exp->__anon1.compound->__anon1.compound.context = context;
PopContext(context);
}
break;
case 8:
{
-if(exp->expType->_class && exp->expType->_class->registered && exp->expType->_class->registered->type == 1)
+if(exp->expType->__anon1._class && exp->expType->__anon1._class->__anon1.registered && exp->expType->__anon1._class->__anon1.registered->type == 1)
{
exp->type = 5;
-exp->list = MkListOne(MkExpOp((((void *)0)), '*', MkExpCast(MkTypeName(MkListOne(MkSpecifierName(exp->expType->_class->string)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), newExp)));
-ProcessExpressionType((*exp->list).first);
+exp->__anon1.list = MkListOne(MkExpOp((((void *)0)), '*', MkExpCast(MkTypeName(MkListOne(MkSpecifierName(exp->expType->__anon1._class->string)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), newExp)));
+ProcessExpressionType((*exp->__anon1.list).first);
break;
}
else
{
exp->type = 5;
-exp->list = MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName(exp->expType->_class->string)), (((void *)0))), newExp));
-newExp->needCast = 0x1;
-ProcessExpressionType((*exp->list).first);
+exp->__anon1.list = MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName(exp->expType->__anon1._class->string)), (((void *)0))), newExp));
+exp->needTemplateCast = 2;
+newExp->needCast = 1;
+newExp->needTemplateCast = 2;
+ProcessExpressionType((*exp->__anon1.list).first);
break;
}
}
{
if(exp->expType->kind == 20)
{
-struct Type * type = ProcessTemplateParameterType(exp->expType->templateParameter);
+struct Type * type = ProcessTemplateParameterType(exp->expType->__anon1.templateParameter);
if(type)
{
FreeType(exp->destType);
FreeType(exp->expType);
-((newExp ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor(newExp) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(newExp)) : 0), newExp = 0);
+((newExp ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor((void *)newExp) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(newExp)) : 0), newExp = 0);
break;
}
}
-if(newExp->type == 8 && newExp->member.memberType == 3)
+if(newExp->type == 8 && newExp->__anon1.member.memberType == 3)
{
exp->type = 4;
-exp->op.op = '*';
-exp->op.exp1 = (((void *)0));
-exp->op.exp2 = MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpBrackets(MkListOne(MkExpOp((((void *)0)), '&', newExp))));
+exp->__anon1.op.op = '*';
+exp->__anon1.op.exp1 = (((void *)0));
+exp->__anon1.op.exp2 = MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpBrackets(MkListOne(MkExpOp((((void *)0)), '&', newExp))));
}
else
{
struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
typeString[0] = '\0';
-PrintType(exp->expType, typeString, 0x0, 0x0);
+PrintType(exp->expType, typeString, 0, 0);
decl = SpecDeclFromString(typeString, specs, (((void *)0)));
exp->type = 11;
-exp->cast.typeName = MkTypeName(specs, decl);
-exp->cast.exp = MkExpBrackets(MkListOne(newExp));
-exp->cast.exp->needCast = 0x1;
+exp->__anon1.cast.typeName = MkTypeName(specs, decl);
+exp->__anon1.cast.exp = MkExpBrackets(MkListOne(newExp));
+exp->__anon1.cast.exp->needCast = 1;
}
break;
}
extern int strncmp(const char * , const char * , size_t n);
-struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char * key);
+struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char * key);
-static struct Symbol * ScanWithNameSpace(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, char * nameSpace, char * name)
+static struct Symbol * ScanWithNameSpace(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, const char * nameSpace, const char * name)
{
int nsLen = strlen(nameSpace);
struct Symbol * symbol;
return (((void *)0));
}
-static struct Symbol * FindWithNameSpace(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, char * name)
+static struct Symbol * FindWithNameSpace(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, const char * name)
{
int c;
char nameSpace[1024];
-char * namePart;
-unsigned int gotColon = 0x0;
+const char * namePart;
+unsigned int gotColon = 0;
nameSpace[0] = '\0';
for(c = strlen(name) - 1; c >= 0; c--)
if(name[c] == ':')
{
-gotColon = 0x1;
+gotColon = 1;
break;
}
namePart = name + c + 1;
static void ProcessDeclaration(struct Declaration * decl);
-struct Symbol * FindSymbol(char * name, struct Context * startContext, struct Context * endContext, unsigned int isStruct, unsigned int globalNameSpace)
+struct Symbol * FindSymbol(const char * name, struct Context * startContext, struct Context * endContext, unsigned int isStruct, unsigned int globalNameSpace)
{
struct Context * ctx;
struct Symbol * symbol = (((void *)0));
if(symbol || ctx == endContext)
break;
}
-if(inCompiler && curExternal && symbol && ctx == globalContext && curExternal->symbol && symbol->id > curExternal->symbol->idCode && symbol->pointerExternal)
+if(inCompiler && curExternal && symbol && ctx == globalContext && curExternal->symbol && symbol->id > curExternal->symbol->idCode && symbol->__anon2.__anon1.pointerExternal)
{
-if(symbol->pointerExternal->type == 0)
+if(symbol->__anon2.__anon1.pointerExternal->type == 0)
{
-struct FunctionDefinition * function = symbol->pointerExternal->function;
+struct FunctionDefinition * function = symbol->__anon2.__anon1.pointerExternal->__anon1.function;
struct Context * tmpContext = curContext;
curContext = (((void *)0));
-symbol->pointerExternal = MkExternalDeclaration(MkDeclaration(CopyList(function->specifiers, CopySpecifier), MkListOne(MkInitDeclarator(CopyDeclarator(function->declarator), (((void *)0))))));
+symbol->__anon2.__anon1.pointerExternal = MkExternalDeclaration(MkDeclaration(CopyList(function->specifiers, CopySpecifier), MkListOne(MkInitDeclarator(CopyDeclarator(function->declarator), (((void *)0))))));
curContext = tmpContext;
-symbol->pointerExternal->symbol = symbol;
-DeclareType(symbol->type, 0x1, 0x1);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), curExternal->prev, symbol->pointerExternal);
+symbol->__anon2.__anon1.pointerExternal->symbol = symbol;
+DeclareType(symbol->type, 1, 1);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), curExternal->prev, symbol->__anon2.__anon1.pointerExternal);
symbol->id = curExternal->symbol->idCode;
}
-else if(symbol->pointerExternal->type == 1 && curExternal->symbol->idCode < symbol->pointerExternal->symbol->id)
+else if(symbol->__anon2.__anon1.pointerExternal->type == 1 && curExternal->symbol->idCode < symbol->__anon2.__anon1.pointerExternal->symbol->id)
{
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), symbol->pointerExternal, curExternal->prev);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), symbol->__anon2.__anon1.pointerExternal, curExternal->prev);
symbol->id = curExternal->symbol->idCode;
}
}
{
case 8:
{
-if(type->_class->registered)
+if(type->__anon1._class->__anon1.registered)
{
-if(!type->_class->registered->dataType)
-type->_class->registered->dataType = ProcessTypeString(type->_class->registered->dataTypeString, 0x0);
-GetTypeSpecs(type->_class->registered->dataType, specs);
+if(!type->__anon1._class->__anon1.registered->dataType)
+type->__anon1._class->__anon1.registered->dataType = ProcessTypeString(type->__anon1._class->__anon1.registered->dataTypeString, 0);
+GetTypeSpecs(type->__anon1._class->__anon1.registered->dataType, specs);
}
break;
}
size[0] = '\0';
strcat(size, "[");
-if(arrayType->enumClass)
-strcat(size, arrayType->enumClass->string);
-else if(arrayType->arraySizeExp)
-PrintExpression(arrayType->arraySizeExp, size);
+if(arrayType->__anon1.__anon4.enumClass)
+strcat(size, arrayType->__anon1.__anon4.enumClass->string);
+else if(arrayType->__anon1.__anon4.arraySizeExp)
+PrintExpression(arrayType->__anon1.__anon4.arraySizeExp, size);
strcat(size, "]");
strcat(string, size);
}
{
case 8:
{
-struct Symbol * c = type->_class;
+struct Symbol * c = type->__anon1._class;
if(type->classObjectType == 2)
strcat(string, "typed_object");
else
{
if(c && c->string)
-strcat(string, (fullName || !c->registered) ? c->string : c->registered->name);
+strcat(string, (fullName || !c->__anon1.registered) ? c->string : c->__anon1.registered->name);
}
if(type->byReference)
strcat(string, " &");
strcat(string, "double");
break;
case 9:
-if(type->enumName)
+if(type->__anon1.__anon1.enumName)
{
strcat(string, "struct ");
-strcat(string, type->enumName);
+strcat(string, type->__anon1.__anon1.enumName);
}
else if(type->typeName)
strcat(string, type->typeName);
struct Type * member;
strcat(string, "struct { ");
-for(member = type->members.first; member; member = member->next)
+for(member = type->__anon1.__anon1.members.first; member; member = member->next)
{
-PrintType(member, string, 0x1, fullName);
+PrintType(member, string, 1, fullName);
strcat(string, "; ");
}
strcat(string, "}");
}
break;
case 10:
-if(type->enumName)
+if(type->__anon1.__anon1.enumName)
{
strcat(string, "union ");
-strcat(string, type->enumName);
+strcat(string, type->__anon1.__anon1.enumName);
}
else if(type->typeName)
strcat(string, type->typeName);
}
break;
case 15:
-if(type->enumName)
+if(type->__anon1.__anon1.enumName)
{
strcat(string, "enum ");
-strcat(string, type->enumName);
+strcat(string, type->__anon1.__anon1.enumName);
}
else if(type->typeName)
strcat(string, type->typeName);
break;
case 19:
strcat(string, "subclass(");
-strcat(string, type->_class ? type->_class->string : "int");
+strcat(string, type->__anon1._class ? type->__anon1._class->string : "int");
strcat(string, ")");
break;
case 20:
-strcat(string, type->templateParameter->identifier->string);
+strcat(string, type->__anon1.templateParameter->identifier->string);
break;
case 21:
strcat(string, "thisclass");
}
}
-extern char * __ecereNameSpace__ecere__sys__RSearchString(char * buffer, char * subStr, int maxLen, unsigned int matchCase, unsigned int matchWord);
+extern char * __ecereNameSpace__ecere__sys__RSearchString(const char * buffer, const char * subStr, int maxLen, unsigned int matchCase, unsigned int matchWord);
static void PrintName(struct Type * type, char * string, unsigned int fullName)
{
strcat(string, type->name);
else
{
-char * name = __ecereNameSpace__ecere__sys__RSearchString(type->name, "::", strlen(type->name), 0x1, 0x0);
+char * name = __ecereNameSpace__ecere__sys__RSearchString(type->name, "::", strlen(type->name), 1, 0);
if(name)
name += 2;
{
if(type->kind == 12 || type->kind == 13 || type->kind == 11 || type->kind == 16)
{
-struct Type * attrType = (((void *)0));
-
if((type->kind == 11 || type->kind == 16) && (!parentType || parentType->kind != 13))
PrintAttribs(type, string);
if(printConst && type->constant && (type->kind == 11 || type->kind == 16))
strcat(string, " const");
-PrePrintType(type->kind == 16 ? type->method->dataType : type->type, string, fullName, type, printConst);
-if(type->kind == 13 && (type->type->kind == 12 || type->type->kind == 11 || type->type->kind == 16))
+PrePrintType(type->kind == 16 ? type->__anon1.__anon3.method->dataType : type->__anon1.type, string, fullName, type, printConst);
+if(type->kind == 13 && (type->__anon1.type->kind == 12 || type->__anon1.type->kind == 11 || type->__anon1.type->kind == 16))
strcat(string, " (");
if(type->kind == 13)
{
-if(type->type->kind == 11 || type->type->kind == 16)
-PrintAttribs(type->type, string);
+if(type->__anon1.type->kind == 11 || type->__anon1.type->kind == 16)
+PrintAttribs(type->__anon1.type, string);
}
if(type->kind == 13)
{
-if(type->type->kind == 11 || type->type->kind == 16 || type->type->kind == 12)
+if(type->__anon1.type->kind == 11 || type->__anon1.type->kind == 16 || type->__anon1.type->kind == 12)
strcat(string, "*");
else
strcat(string, " *");
static void PostPrintType(struct Type * type, char * string, unsigned int fullName)
{
-if(type->kind == 13 && (type->type->kind == 12 || type->type->kind == 11 || type->type->kind == 16))
+if(type->kind == 13 && (type->__anon1.type->kind == 12 || type->__anon1.type->kind == 11 || type->__anon1.type->kind == 16))
strcat(string, ")");
if(type->kind == 12)
PrintArraySize(type, string);
struct Type * param;
strcat(string, "(");
-for(param = type->params.first; param; param = param->next)
+for(param = type->__anon1.__anon2.params.first; param; param = param->next)
{
-PrintType(param, string, 0x1, fullName);
+PrintType(param, string, 1, fullName);
if(param->next)
strcat(string, ", ");
}
strcat(string, ")");
}
if(type->kind == 12 || type->kind == 13 || type->kind == 11 || type->kind == 16)
-PostPrintType(type->kind == 16 ? type->method->dataType : type->type, string, fullName);
+PostPrintType(type->kind == 16 ? type->__anon1.__anon3.method->dataType : type->__anon1.type, string, fullName);
}
static void _PrintType(struct Type * type, char * string, unsigned int printName, unsigned int fullName, unsigned int printConst)
{
PrePrintType(type, string, fullName, (((void *)0)), printConst);
-if(type->thisClass || (printName && type->name && type->name[0]))
+if(type->__anon1.__anon2.thisClass || (printName && type->name && type->name[0]))
strcat(string, " ");
-if((type->thisClass || type->staticMethod))
+if((type->__anon1.__anon2.thisClass || type->__anon1.__anon2.staticMethod))
{
-struct Symbol * _class = type->thisClass;
+struct Symbol * _class = type->__anon1.__anon2.thisClass;
if((type->classObjectType == 2 || type->classObjectType == 1) || (_class && !strcmp(_class->string, "class")))
{
strcat(string, s);
else
{
-char * name = __ecereNameSpace__ecere__sys__RSearchString(s, "::", strlen(s), 0x1, 0x0);
+char * name = __ecereNameSpace__ecere__sys__RSearchString(s, "::", strlen(s), 1, 0);
if(name)
name += 2;
void PrintType(struct Type * type, char * string, unsigned int printName, unsigned int fullName)
{
-_PrintType(type, string, printName, fullName, 0x1);
+_PrintType(type, string, printName, fullName, 1);
}
void PrintTypeNoConst(struct Type * type, char * string, unsigned int printName, unsigned int fullName)
{
-_PrintType(type, string, printName, fullName, 0x0);
+_PrintType(type, string, printName, fullName, 0);
}
static struct Type * FindMember(struct Type * type, char * string)
{
struct Type * memberType;
-for(memberType = type->members.first; memberType; memberType = memberType->next)
+for(memberType = type->__anon1.__anon1.members.first; memberType; memberType = memberType->next)
{
if(!memberType->name)
{
{
struct Type * memberType;
-for(memberType = type->members.first; memberType; memberType = memberType->next)
+for(memberType = type->__anon1.__anon1.members.first; memberType; memberType = memberType->next)
{
if(!memberType->name)
{
struct Expression * ParseExpressionString(char * expression)
{
-parseError = 0x0;
+parseError = 0;
fileInput = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__sys__TempFile);
-((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
+((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void * buffer, unsigned int size, unsigned int count))__extension__ ({
struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
__internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
__internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
})[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, 0, 0);
-echoOn = 0x0;
+echoOn = 0;
parsedExpression = (((void *)0));
resetScanner();
expression_yyparse();
return parsedExpression;
}
-extern char * QMkString(char * source);
+extern char * QMkString(const char * source);
static unsigned int ResolveIdWithClass(struct Expression * exp, struct __ecereNameSpace__ecere__com__Class * _class, unsigned int skipIDClassCheck)
{
-struct Identifier * id = exp->identifier;
+struct Identifier * id = exp->__anon1.__anon1.identifier;
struct __ecereNameSpace__ecere__com__Method * method = (((void *)0));
struct __ecereNameSpace__ecere__com__Property * prop = (((void *)0));
struct __ecereNameSpace__ecere__com__DataMember * member = (((void *)0));
if(_class && _class->type == 4)
{
-struct __ecereNameSpace__ecere__sys__NamedLink * value = (((void *)0));
+struct __ecereNameSpace__ecere__sys__NamedLink64 * value = (((void *)0));
struct __ecereNameSpace__ecere__com__Class * enumClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "enum");
if(enumClass)
FreeExpContents(exp);
exp->type = 2;
-exp->isConstant = 0x1;
-if(!strcmp(baseClass->dataTypeString, "int"))
-sprintf(constant, "%d", (int)value->data);
+exp->isConstant = 1;
+if(!strcmp(baseClass->dataTypeString, "int") || !strcmp(baseClass->dataTypeString, "int64") || !strcmp(baseClass->dataTypeString, "char") || !strcmp(baseClass->dataTypeString, "short"))
+sprintf(constant, ((__runtimePlatform == 1) ? "%I64d" : "%lld"), value->data);
else
-sprintf(constant, "0x%X", (int)value->data);
-exp->constant = __ecereNameSpace__ecere__sys__CopyString(constant);
+sprintf(constant, ((__runtimePlatform == 1) ? "0x%I64X" : "0x%llX"), value->data);
+exp->__anon1.__anon1.constant = __ecereNameSpace__ecere__sys__CopyString(constant);
exp->expType = MkClassType(baseClass->fullName);
break;
}
}
}
if(value)
-return 0x1;
+return 1;
}
if((method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, id->string, privateModule)))
{
exp->expType = __extension__ ({
struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
-__ecereInstance1->refCount = 1, __ecereInstance1->kind = 16, __ecereInstance1->method = method, __ecereInstance1->methodClass = (skipIDClassCheck || (id && id->_class)) ? _class : (((void *)0)), __ecereInstance1;
+__ecereInstance1->refCount = 1, __ecereInstance1->kind = 16, __ecereInstance1->__anon1.__anon3.method = method, __ecereInstance1->__anon1.__anon3.methodClass = (skipIDClassCheck || (id && id->_class)) ? _class : (((void *)0)), __ecereInstance1;
});
-return 0x1;
+return 1;
}
else if((prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, id->string, privateModule)))
{
exp->expType = prop->dataType;
if(prop->dataType)
prop->dataType->refCount++;
-return 0x1;
+return 1;
}
else if((member = __ecereNameSpace__ecere__com__eClass_FindDataMember(_class, id->string, privateModule, (((void *)0)), (((void *)0)))))
{
if(!member->dataType)
-member->dataType = ProcessTypeString(member->dataTypeString, 0x0);
+member->dataType = ProcessTypeString(member->dataTypeString, 0);
exp->expType = member->dataType;
if(member->dataType)
member->dataType->refCount++;
-return 0x1;
+return 1;
}
else if((classProp = __ecereNameSpace__ecere__com__eClass_FindClassProperty(_class, id->string)))
{
if(!classProp->dataType)
-classProp->dataType = ProcessTypeString(classProp->dataTypeString, 0x0);
+classProp->dataType = ProcessTypeString(classProp->dataTypeString, 0);
if(classProp->constant)
{
FreeExpContents(exp);
-exp->isConstant = 0x1;
-if(classProp->dataType->kind == 13 && classProp->dataType->type->kind == 1)
+exp->isConstant = 1;
+if(classProp->dataType->kind == 13 && classProp->dataType->__anon1.type->kind == 1)
{
exp->type = 3;
-exp->constant = QMkString((char *)classProp->Get(_class));
+exp->__anon1.__anon1.constant = QMkString((char *)classProp->Get(_class));
}
else
{
exp->type = 2;
sprintf(constant, "%d", (int)classProp->Get(_class));
-exp->constant = __ecereNameSpace__ecere__sys__CopyString(constant);
+exp->__anon1.__anon1.constant = __ecereNameSpace__ecere__sys__CopyString(constant);
}
}
else
exp->expType = classProp->dataType;
if(classProp->dataType)
classProp->dataType->refCount++;
-return 0x1;
+return 1;
}
-return 0x0;
+return 0;
}
static struct GlobalData * ScanGlobalData(struct __ecereNameSpace__ecere__com__NameSpace * nameSpace, char * name)
FreeType(checkedExp->expType);
FreeType(checkedExp->destType);
*checkedExp = *newExp;
-((newExp ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor(newExp) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(newExp)) : 0), newExp = 0);
+((newExp ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor((void *)newExp) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(newExp)) : 0), newExp = 0);
checkedExp->prev = prev;
checkedExp->next = next;
}
extern struct Expression * MkExpCall(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * arguments);
-extern int printf(char * , ...);
+extern int printf(const char * , ...);
void __ecereMethod_Expression_Clear();
struct Type * type = e->expType;
struct __ecereNameSpace__ecere__com__Class * _class = (((void *)0));
-if(type->kind == 8 && type->_class && type->_class->registered)
+if(type->kind == 8 && type->__anon1._class && type->__anon1._class->__anon1.registered)
{
-_class = type->_class->registered;
+_class = type->__anon1._class->__anon1.registered;
}
else if(type->kind == 19)
{
-_class = FindClass("ecere::com::Class")->registered;
+_class = FindClass("ecere::com::Class")->__anon1.registered;
}
else
{
char string[1024] = "";
struct Symbol * classSym;
-PrintTypeNoConst(type, string, 0x0, 0x1);
+PrintTypeNoConst(type, string, 0, 1);
classSym = FindClass(string);
if(classSym)
-_class = classSym->registered;
+_class = classSym->__anon1.registered;
}
-if((_class && (_class->type == 4 || _class->type == 3 || _class->type == 2 || _class->type == 1000) && strcmp(_class->fullName, "class") && strcmp(_class->fullName, "uintptr") && strcmp(_class->fullName, "intptr")) || (!e->expType->classObjectType && (((type->kind != 13 && type->kind != 22 && type->kind != 19 && (type->kind != 8 || !type->_class || !type->_class->registered || type->_class->registered->type == 1))) || destType->byReference)))
+if((_class && (_class->type == 4 || _class->type == 3 || _class->type == 2 || _class->type == 1000) && strcmp(_class->fullName, "class") && strcmp(_class->fullName, "uintptr") && strcmp(_class->fullName, "intptr")) || (!e->expType->classObjectType && (((type->kind != 13 && type->kind != 22 && type->kind != 19 && (type->kind != 8 || !type->__anon1._class || !type->__anon1._class->__anon1.registered || type->__anon1._class->__anon1.registered->type == 1))) || destType->byReference)))
{
if(!_class || strcmp(_class->fullName, "char *"))
{
struct Expression * checkedExp = e, * newExp;
-while(((checkedExp->type == 5 || checkedExp->type == 32 || checkedExp->type == 23) && checkedExp->list) || checkedExp->type == 11)
+while(((checkedExp->type == 5 || checkedExp->type == 32 || checkedExp->type == 23) && checkedExp->__anon1.list) || checkedExp->type == 11)
{
if(checkedExp->type == 5 || checkedExp->type == 32 || checkedExp->type == 23)
{
if(checkedExp->type == 23)
{
-checkedExp = (*((struct Statement *)(*checkedExp->compound->compound.statements).last)->expressions).last;
+checkedExp = (*((struct Statement *)(*checkedExp->__anon1.compound->__anon1.compound.statements).last)->__anon1.expressions).last;
}
else
-checkedExp = (*checkedExp->list).last;
+checkedExp = (*checkedExp->__anon1.list).last;
}
else if(checkedExp->type == 11)
-checkedExp = checkedExp->cast.exp;
+checkedExp = checkedExp->__anon1.cast.exp;
}
-if(checkedExp && checkedExp->type == 4 && checkedExp->op.op == '*' && !checkedExp->op.exp1)
+if(checkedExp && checkedExp->type == 4 && checkedExp->__anon1.op.op == '*' && !checkedExp->__anon1.op.exp1)
{
-newExp = checkedExp->op.exp2;
-checkedExp->op.exp2 = (((void *)0));
+newExp = checkedExp->__anon1.op.exp2;
+checkedExp->__anon1.op.exp2 = (((void *)0));
FreeExpContents(checkedExp);
if(e->expType && e->expType->passAsTemplate)
{
newExp = MkExpBrackets(MkListOne(MkExpOp(MkExpCast(MkTypeName(MkListOne(MkSpecifier(CHAR)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), newExp), '+', MkExpCall(MkExpIdentifier(MkIdentifier("__ENDIAN_PAD")), MkListOne(MkExpConstant(size))))));
}
ReplaceExpContents(checkedExp, newExp);
-e->byReference = 0x1;
+e->byReference = 1;
}
else if(!e->byReference || (_class && _class->type == 5))
{
-struct Expression * checkedExp, * newExp;
+struct Expression * checkedExp;
{
-unsigned int hasAddress = e->type == 0 || (e->type == 8 && e->member.memberType == 3) || (e->type == 9 && e->member.memberType == 3) || (e->type == 4 && !e->op.exp1 && e->op.op == '*') || e->type == 6;
+unsigned int hasAddress = e->type == 0 || (e->type == 8 && e->__anon1.member.memberType == 3) || (e->type == 9 && e->__anon1.member.memberType == 3) || (e->type == 4 && !e->__anon1.op.exp1 && e->__anon1.op.op == '*') || e->type == 6;
if(_class && _class->type != 5 && _class->type != 0 && _class->type != 1 && !hasAddress)
{
newExp->prev = (((void *)0));
newExp->next = (((void *)0));
newExp->expType = (((void *)0));
-PrintTypeNoConst(e->expType, typeString, 0x0, 0x1);
+PrintTypeNoConst(e->expType, typeString, 0, 1);
decl = SpecDeclFromString(typeString, specs, (((void *)0)));
newExp->destType = ProcessType(specs, decl);
curContext = context;
e->type = 23;
sprintf(name, "__internalValue%03X", internalValueCounter++);
-if(!curCompound->compound.declarations)
-curCompound->compound.declarations = MkList();
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*curCompound->compound.declarations), (((void *)0)), MkDeclaration(specs, MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(name)), (((void *)0))))));
+if(!curCompound->__anon1.compound.declarations)
+curCompound->__anon1.compound.declarations = MkList();
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*curCompound->__anon1.compound.declarations), (((void *)0)), MkDeclaration(specs, MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(name)), (((void *)0))))));
ListAdd(stmts, MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier(name)), '=', newExp))));
ListAdd(stmts, MkExpressionStmt(MkListOne(MkExpIdentifier(MkIdentifier(name)))));
-e->compound = MkCompoundStmt((((void *)0)), stmts);
+e->__anon1.compound = MkCompoundStmt((((void *)0)), stmts);
}
else
printf("libec: compiler error, curCompound is null in ApplyAnyObjectLogic\n");
e->destType->classObjectType = 0;
FreeType(type);
}
-e->compound->compound.context = context;
+e->__anon1.compound->__anon1.compound.context = context;
PopContext(context);
curContext = context->parent;
}
}
checkedExp = e;
-while(((checkedExp->type == 5 || checkedExp->type == 32 || checkedExp->type == 23) && checkedExp->list) || checkedExp->type == 11)
+while(((checkedExp->type == 5 || checkedExp->type == 32 || checkedExp->type == 23) && checkedExp->__anon1.list) || checkedExp->type == 11)
{
if(checkedExp->type == 5 || checkedExp->type == 32 || checkedExp->type == 23)
{
if(checkedExp->type == 23)
{
-checkedExp = (*((struct Statement *)(*checkedExp->compound->compound.statements).last)->expressions).last;
+checkedExp = (*((struct Statement *)(*checkedExp->__anon1.compound->__anon1.compound.statements).last)->__anon1.expressions).last;
}
else
-checkedExp = (*checkedExp->list).last;
+checkedExp = (*checkedExp->__anon1.list).last;
}
else if(checkedExp->type == 11)
-checkedExp = checkedExp->cast.exp;
+checkedExp = checkedExp->__anon1.cast.exp;
}
{
struct Expression * operand = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
*operand = *checkedExp;
-checkedExp->destType = (((void *)0));
-checkedExp->expType = (((void *)0));
__ecereMethod_Expression_Clear(checkedExp);
+checkedExp->destType = ProcessTypeString("void *", 0);
+checkedExp->expType = checkedExp->destType;
+checkedExp->destType->refCount++;
checkedExp->type = 4;
-checkedExp->op.op = '&';
-checkedExp->op.exp1 = (((void *)0));
-checkedExp->op.exp2 = operand;
+checkedExp->__anon1.op.op = '&';
+checkedExp->__anon1.op.exp1 = (((void *)0));
+checkedExp->__anon1.op.exp2 = operand;
}
}
}
}
{
}
-if((!destType || destType->kind == 14 || destType->kind == 0) && e->expType && (e->expType->classObjectType == 3 || e->expType->classObjectType == 2) && (e->expType->byReference || (e->expType->kind == 8 && e->expType->_class && e->expType->_class->registered && (e->expType->_class->registered->type == 2 || e->expType->_class->registered->type == 4 || e->expType->_class->registered->type == 3))))
+if((!destType || destType->kind == 14 || destType->kind == 0) && e->expType && (e->expType->classObjectType == 3 || e->expType->classObjectType == 2) && (e->expType->byReference || (e->expType->kind == 8 && e->expType->__anon1._class && e->expType->__anon1._class->__anon1.registered && (e->expType->__anon1._class->__anon1.registered->type == 2 || e->expType->__anon1._class->__anon1.registered->type == 4 || e->expType->__anon1._class->__anon1.registered->type == 3))))
{
if(e->expType->classObjectType && destType && destType->classObjectType)
{
thisExp->next = (((void *)0));
__ecereMethod_Expression_Clear(e);
e->type = 5;
-e->list = MkListOne(MkExpOp((((void *)0)), '*', thisExp->type == 0 ? thisExp : MkExpBrackets(MkListOne(thisExp))));
-if(thisExp->expType->kind == 8 && thisExp->expType->_class && thisExp->expType->_class->registered && thisExp->expType->_class->registered->type == 5)
-((struct Expression *)(*e->list).first)->byReference = 0x1;
+e->__anon1.list = MkListOne(MkExpOp((((void *)0)), '*', thisExp->type == 0 ? thisExp : MkExpBrackets(MkListOne(thisExp))));
+if(thisExp->expType->kind == 8 && thisExp->expType->__anon1._class && thisExp->expType->__anon1._class->__anon1.registered && thisExp->expType->__anon1._class->__anon1.registered->type == 5)
+((struct Expression *)(*e->__anon1.list).first)->byReference = 1;
{
e->expType = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
CopyTypeInto(e->expType, thisExp->expType);
-e->expType->byReference = 0x0;
+e->expType->byReference = 0;
e->expType->refCount = 1;
-if(e->expType->kind == 8 && e->expType->_class && e->expType->_class->registered && (e->expType->_class->registered->type == 2 || e->expType->_class->registered->type == 4 || e->expType->_class->registered->type == 3))
+if(e->expType->kind == 8 && e->expType->__anon1._class && e->expType->__anon1._class->__anon1.registered && (e->expType->__anon1._class->__anon1.registered->type == 2 || e->expType->__anon1._class->__anon1.registered->type == 4 || e->expType->__anon1._class->__anon1.registered->type == 3))
{
e->expType->classObjectType = 0;
}
{
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "Unspecified type\n", (((void *)0))));
}
-else if(!(destType->truth && e->expType->kind == 8 && e->expType->_class && e->expType->_class->registered && e->expType->_class->registered->type == 1))
+else if(!(destType->truth && e->expType->kind == 8 && e->expType->__anon1._class && e->expType->__anon1._class->__anon1.registered && e->expType->__anon1._class->__anon1.registered->type == 1))
{
unsigned int byReference = e->expType->byReference;
struct Expression * thisExp = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
int backupClassObjectType;
unsigned int backupByReference;
-if(e->expType->kind == 8 && e->expType->_class && e->expType->_class->registered && strcmp(e->expType->_class->registered->name, "class"))
+if(e->expType->kind == 8 && e->expType->__anon1._class && e->expType->__anon1._class->__anon1.registered && strcmp(e->expType->__anon1._class->__anon1.registered->name, "class"))
type = e->expType;
else
type = destType;
backupClassObjectType = type->classObjectType;
backupByReference = type->byReference;
type->classObjectType = 0;
-type->byReference = 0x0;
+type->byReference = 0;
typeString[0] = '\0';
-PrintType(type, typeString, 0x0, 0x1);
+PrintType(type, typeString, 0, 1);
decl = SpecDeclFromString(typeString, specs, (((void *)0)));
type->classObjectType = backupClassObjectType;
type->byReference = backupByReference;
thisExp->prev = (((void *)0));
thisExp->next = (((void *)0));
__ecereMethod_Expression_Clear(e);
-if((type->kind == 8 && type->_class && type->_class->registered && (type->_class->registered->type == 1000 || type->_class->registered->type == 2 || type->_class->registered->type == 4 || type->_class->registered->type == 3)) || (type->kind != 13 && type->kind != 22 && type->kind != 12 && type->kind != 8) || (!destType->byReference && byReference && (destType->kind != 13 || type->kind != 13)))
+if((type->kind == 8 && type->__anon1._class && type->__anon1._class->__anon1.registered && (type->__anon1._class->__anon1.registered->type == 1000 || type->__anon1._class->__anon1.registered->type == 2 || type->__anon1._class->__anon1.registered->type == 4 || type->__anon1._class->__anon1.registered->type == 3)) || (type->kind != 13 && type->kind != 22 && type->kind != 12 && type->kind != 8) || (!destType->byReference && byReference && (destType->kind != 13 || type->kind != 13)))
{
e->type = 4;
-e->op.op = '*';
-e->op.exp1 = (((void *)0));
-e->op.exp2 = MkExpCast(MkTypeName(specs, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), decl)), thisExp);
+e->__anon1.op.op = '*';
+e->__anon1.op.exp1 = (((void *)0));
+e->__anon1.op.exp2 = MkExpCast(MkTypeName(specs, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), decl)), thisExp);
e->expType = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
CopyTypeInto(e->expType, type);
-e->expType->byReference = 0x0;
+e->expType->byReference = 0;
e->expType->refCount = 1;
}
else
{
e->type = 11;
-e->cast.typeName = MkTypeName(specs, decl);
-e->cast.exp = thisExp;
-e->byReference = 0x1;
+e->__anon1.cast.typeName = MkTypeName(specs, decl);
+e->__anon1.cast.exp = thisExp;
+e->byReference = 1;
e->expType = type;
type->refCount++;
}
}
}
+void ApplyLocation(struct Expression * exp, struct Location * loc)
+{
+exp->loc = *loc;
+switch(exp->type)
+{
+case 4:
+if(exp->__anon1.op.exp1)
+ApplyLocation(exp->__anon1.op.exp1, loc);
+if(exp->__anon1.op.exp2)
+ApplyLocation(exp->__anon1.op.exp2, loc);
+break;
+case 5:
+if(exp->__anon1.list)
+{
+struct Expression * e;
+
+for(e = (*exp->__anon1.list).first; e; e = e->next)
+ApplyLocation(e, loc);
+}
+break;
+case 6:
+if(exp->__anon1.index.index)
+{
+struct Expression * e;
+
+for(e = (*exp->__anon1.index.index).first; e; e = e->next)
+ApplyLocation(e, loc);
+}
+if(exp->__anon1.index.exp)
+ApplyLocation(exp->__anon1.index.exp, loc);
+break;
+case 7:
+if(exp->__anon1.call.arguments)
+{
+struct Expression * arg;
+
+for(arg = (*exp->__anon1.call.arguments).first; arg; arg = arg->next)
+ApplyLocation(arg, loc);
+}
+if(exp->__anon1.call.exp)
+ApplyLocation(exp->__anon1.call.exp, loc);
+break;
+case 8:
+case 9:
+if(exp->__anon1.member.exp)
+ApplyLocation(exp->__anon1.member.exp, loc);
+break;
+case 11:
+if(exp->__anon1.cast.exp)
+ApplyLocation(exp->__anon1.cast.exp, loc);
+break;
+case 12:
+if(exp->__anon1.cond.exp)
+{
+struct Expression * e;
+
+for(e = (*exp->__anon1.cond.exp).first; e; e = e->next)
+ApplyLocation(e, loc);
+}
+if(exp->__anon1.cond.cond)
+ApplyLocation(exp->__anon1.cond.cond, loc);
+if(exp->__anon1.cond.elseExp)
+ApplyLocation(exp->__anon1.cond.elseExp, loc);
+break;
+case 34:
+if(exp->__anon1.vaArg.exp)
+ApplyLocation(exp->__anon1.vaArg.exp, loc);
+break;
+default:
+break;
+}
+}
+
extern char * strstr(const char * , const char * );
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DefinedExpression;
{
struct __ecereNameSpace__ecere__com__DefinedExpression * prev;
struct __ecereNameSpace__ecere__com__DefinedExpression * next;
-char * name;
-char * value;
+const char * name;
+const char * value;
struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
} __attribute__ ((gcc_struct));
-extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_FindDefine(struct __ecereNameSpace__ecere__com__Instance * module, char * name);
+extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_FindDefine(struct __ecereNameSpace__ecere__com__Instance * module, const char * name);
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_FindFunction(struct __ecereNameSpace__ecere__com__Instance * module, char * name);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_FindFunction(struct __ecereNameSpace__ecere__com__Instance * module, const char * name);
-extern unsigned int __ecereNameSpace__ecere__sys__UTF8GetChar(char * string, int * numBytes);
+extern unsigned int __ecereNameSpace__ecere__sys__UTF8GetChar(const char * string, int * numBytes);
extern struct Expression * GetTemplateArgExp(struct TemplateParameter * param, struct __ecereNameSpace__ecere__com__Class * curClass, unsigned int pointer);
extern struct Expression * MkExpCondition(struct Expression * cond, struct __ecereNameSpace__ecere__sys__OldList * expressions, struct Expression * elseExp);
-extern struct Expression * MkExpTypeSize(struct TypeName * typeName);
-
extern struct Expression * MkExpClass(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * decl);
static void ProcessStatement(struct Statement * stmt);
extern struct Initializer * MkInitializerList(struct __ecereNameSpace__ecere__sys__OldList * list);
-extern char * __ecereNameSpace__ecere__com__PrintString(struct __ecereNameSpace__ecere__com__Class * class, void * object, ...);
+extern char * __ecereNameSpace__ecere__com__PrintString(struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...);
+
+extern const char * sourceFile;
-extern char * sourceFile;
+unsigned int __ecereProp_Type_Get_specConst(struct Type * this);
+
+extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp_Type_specConst;
void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(struct __ecereNameSpace__ecere__sys__OldList * this);
void ProcessExpressionType(struct Expression * exp)
{
-unsigned int unresolved = 0x0;
+unsigned int unresolved = 0;
struct Location oldyylloc = yylloc;
-unsigned int notByReference = 0x0;
+unsigned int notByReference = 0;
if(!exp || exp->expType)
return ;
{
case 0:
{
-struct Identifier * id = exp->identifier;
+struct Identifier * id = exp->__anon1.__anon1.identifier;
if(!id || !topContext)
return ;
-if(id->_class && id->_class->name)
+if(id->_class && id->_class->__anon1.__anon1.name)
{
-id->classSym = id->_class->symbol;
+id->classSym = id->_class->__anon1.__anon1.symbol;
}
-if(strstr(id->string, "__ecereClass") == id->string)
+if(!strcmp(id->string, "__runtimePlatform"))
{
-exp->expType = ProcessTypeString("ecere::com::Class", 0x1);
+exp->expType = ProcessTypeString("ecere::com::Platform", 1);
break;
}
-else if(id->_class && (id->classSym || (id->_class->name && !strcmp(id->_class->name, "property"))))
+else if(strstr(id->string, "__ecereClass") == id->string)
+{
+exp->expType = ProcessTypeString("ecere::com::Class", 1);
+break;
+}
+else if(id->_class && (id->classSym || (id->_class->__anon1.__anon1.name && !strcmp(id->_class->__anon1.__anon1.name, "property"))))
{
ReplaceClassMembers(exp, thisClass);
if(exp->type != 0)
ProcessExpressionType(exp);
break;
}
-if(id->classSym && ResolveIdWithClass(exp, id->classSym->registered, 0x0))
+if(id->classSym && ResolveIdWithClass(exp, id->classSym->__anon1.registered, 0))
break;
}
else
{
-struct Symbol * symbol = FindSymbol(id->string, curContext, topContext, 0x0, id->_class && id->_class->name == (((void *)0)));
+struct Symbol * symbol = FindSymbol(id->string, curContext, topContext, 0, id->_class && id->_class->__anon1.__anon1.name == (((void *)0)));
if(!symbol)
{
-if(exp->destType && CheckExpressionType(exp, exp->destType, 0x0))
+if(exp->destType && CheckExpressionType(exp, exp->destType, 0, 0))
break;
else
{
}
else if(currentClass && !id->_class)
{
-if(ResolveIdWithClass(exp, currentClass, 0x1))
+if(ResolveIdWithClass(exp, currentClass, 1))
break;
}
-symbol = FindSymbol(id->string, topContext->parent, globalContext, 0x0, id->_class && id->_class->name == (((void *)0)));
+symbol = FindSymbol(id->string, topContext->parent, globalContext, 0, id->_class && id->_class->__anon1.__anon1.name == (((void *)0)));
}
}
if(symbol)
{
struct Type * type = symbol->type;
-struct __ecereNameSpace__ecere__com__Class * _class = (type && type->kind == 8 && type->_class) ? type->_class->registered : (((void *)0));
+struct __ecereNameSpace__ecere__com__Class * _class = (type && type->kind == 8 && type->__anon1._class) ? type->__anon1._class->__anon1.registered : (((void *)0));
if(_class && !strcmp(id->string, "this") && !type->classObjectType)
{
if(type)
type->refCount++;
if(type && (type->kind == 15))
-exp->isConstant = 0x1;
+exp->isConstant = 1;
if(symbol->isParam || !strcmp(id->string, "this"))
{
if(_class && _class->type == 1 && !type->declaredWithStruct)
-exp->byReference = 0x1;
+exp->byReference = 1;
}
if(symbol->isIterator)
{
if(symbol->isIterator == 3)
{
exp->type = 5;
-exp->list = MkListOne(MkExpOp((((void *)0)), '*', MkExpIdentifier(exp->identifier)));
-((struct Expression *)(*exp->list).first)->op.exp2->expType = exp->expType;
+exp->__anon1.list = MkListOne(MkExpOp((((void *)0)), '*', MkExpIdentifier(exp->__anon1.__anon1.identifier)));
+((struct Expression *)(*exp->__anon1.list).first)->__anon1.op.exp2->expType = exp->expType;
exp->expType = (((void *)0));
ProcessExpressionType(exp);
}
else if(symbol->isIterator != 4)
{
exp->type = 8;
-exp->member.exp = MkExpIdentifier(exp->identifier);
-exp->member.exp->expType = exp->expType;
-exp->member.member = MkIdentifier("data");
+exp->__anon1.member.exp = MkExpIdentifier(exp->__anon1.__anon1.identifier);
+exp->__anon1.member.exp->expType = exp->expType;
+exp->__anon1.member.member = MkIdentifier("data");
exp->expType = (((void *)0));
ProcessExpressionType(exp);
}
{
struct __ecereNameSpace__ecere__com__DefinedExpression * definedExp = (((void *)0));
-if(thisNameSpace && !(id->_class && !id->_class->name))
+if(thisNameSpace && !(id->_class && !id->_class->__anon1.__anon1.name))
{
char name[1024];
definedExpStack[definedExpStackPos++] = definedExp;
fileInput = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__sys__TempFile);
-((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void * buffer, unsigned int size, unsigned int count))__extension__ ({
+((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void * buffer, unsigned int size, unsigned int count))__extension__ ({
struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
__internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
__internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
})[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(fileInput, 0, 0);
-echoOn = 0x0;
+echoOn = 0;
parsedExpression = (((void *)0));
resetScanner();
expression_yyparse();
{
FreeIdentifier(id);
exp->type = 5;
-exp->list = MkListOne(parsedExpression);
-parsedExpression->loc = yylloc;
+exp->__anon1.list = MkListOne(parsedExpression);
+ApplyLocation(parsedExpression, &yylloc);
ProcessExpressionType(exp);
definedExpStackPos--;
return ;
{
struct GlobalData * data = (((void *)0));
-if(thisNameSpace && !(id->_class && !id->_class->name))
+if(thisNameSpace && !(id->_class && !id->_class->__anon1.__anon1.name))
{
char name[1024];
{
struct __ecereNameSpace__ecere__com__GlobalFunction * function = (((void *)0));
-if(thisNameSpace && !(id->_class && !id->_class->name))
+if(thisNameSpace && !(id->_class && !id->_class->__anon1.__anon1.name))
{
char name[1024];
name[0] = (char)0;
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)function->module + structSize_Instance)))->importType != 1 && (!function->dataType || !function->dataType->dllExport))
strcpy(name, "__ecereFunction_");
-FullClassNameCat(name, id->string, 0x0);
+FullClassNameCat(name, id->string, 0);
if(DeclareFunction(function, name))
{
(__ecereNameSpace__ecere__com__eSystem_Delete(id->string), id->string = 0);
}
}
}
-unresolved = 0x1;
+unresolved = 1;
break;
}
case 1:
{
-struct __ecereNameSpace__ecere__com__Class * _class;
-
-if(!exp->instance->_class)
+if(!exp->__anon1.instance->_class)
{
-if(exp->destType && exp->destType->kind == 8 && exp->destType->_class)
+if(exp->destType && exp->destType->kind == 8 && exp->destType->__anon1._class)
{
-exp->instance->_class = MkSpecifierName(exp->destType->_class->string);
+exp->__anon1.instance->_class = MkSpecifierName(exp->destType->__anon1._class->string);
}
}
-ProcessInstantiationType(exp->instance);
-exp->isConstant = exp->instance->isConstant;
-if(exp->instance->_class)
+ProcessInstantiationType(exp->__anon1.instance);
+exp->isConstant = exp->__anon1.instance->isConstant;
+if(exp->__anon1.instance->_class)
{
-exp->expType = MkClassType(exp->instance->_class->name);
+exp->expType = MkClassType(exp->__anon1.instance->_class->__anon1.__anon1.name);
}
break;
}
{
if(!exp->expType)
{
-char * constant = exp->constant;
-struct Type * type = (type = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type), type->refCount = 1, type->constant = 0x1, type);
+char * constant = exp->__anon1.__anon1.constant;
+struct Type * type = (type = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type), type->refCount = 1, type->constant = 1, type);
exp->expType = type;
if(constant[0] == '\'')
if(nb < 2)
ch = constant[1];
(__ecereNameSpace__ecere__com__eSystem_Delete(constant), constant = 0);
-exp->constant = PrintUInt(ch);
+exp->__anon1.__anon1.constant = PrintUInt(ch);
type->kind = 8;
-type->_class = FindClass("unichar");
-type->isSigned = 0x0;
+type->__anon1._class = FindClass("unichar");
+type->isSigned = 0;
}
else
{
type->kind = 1;
-type->isSigned = 0x1;
+type->isSigned = 1;
}
}
else
type->kind = 6;
else
type->kind = 7;
-type->isSigned = 0x1;
+type->isSigned = 1;
}
else
{
if(isSigned)
{
if(i64 < (((int)0x80000000)))
-is64Bit = 0x1;
+is64Bit = 1;
}
else
{
{
if(ui64 > (0xffffffff))
{
-is64Bit = 0x1;
+is64Bit = 1;
if(ui64 <= (((long long)0x7fffffffffffffffLL)) && (constant[0] != '0' || !constant[1]))
-isSigned = 0x1;
+isSigned = 1;
}
}
else if(constant[0] != '0' || !constant[1])
-isSigned = 0x1;
+isSigned = 1;
}
type->kind = is64Bit ? 4 : 3;
type->isSigned = isSigned;
}
}
-exp->isConstant = 0x1;
+exp->isConstant = 1;
if(exp->destType && exp->destType->kind == 7)
type->kind = 7;
else if(exp->destType && exp->destType->kind == 6)
}
case 3:
{
-exp->isConstant = 0x1;
+exp->isConstant = 1;
exp->expType = __extension__ ({
struct Type * __ecereInstance2 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
-__ecereInstance2->refCount = 1, __ecereInstance2->kind = 13, __ecereInstance2->type = __extension__ ({
+__ecereInstance2->refCount = 1, __ecereInstance2->kind = 13, __ecereInstance2->__anon1.type = __extension__ ({
struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
-__ecereInstance1->refCount = 1, __ecereInstance1->kind = 1, __ecereInstance1->constant = 0x1, __ecereInstance1->isSigned = 0x1, __ecereInstance1;
+__ecereInstance1->refCount = 1, __ecereInstance1->kind = 1, __ecereInstance1->constant = 1, __ecereInstance1->isSigned = 1, __ecereInstance1;
}), __ecereInstance2;
});
break;
}
case 13:
case 26:
-ProcessExpressionType(exp->_new.size);
+ProcessExpressionType(exp->__anon1._new.size);
exp->expType = __extension__ ({
struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
-__ecereInstance1->refCount = 1, __ecereInstance1->kind = 13, __ecereInstance1->type = ProcessType(exp->_new.typeName->qualifiers, exp->_new.typeName->declarator), __ecereInstance1;
+__ecereInstance1->refCount = 1, __ecereInstance1->kind = 13, __ecereInstance1->__anon1.type = ProcessType(exp->__anon1._new.typeName->qualifiers, exp->__anon1._new.typeName->declarator), __ecereInstance1;
});
-DeclareType(exp->expType->type, 0x0, 0x0);
+DeclareType(exp->expType->__anon1.type, 0, 0);
break;
case 14:
case 27:
-ProcessExpressionType(exp->_renew.size);
-ProcessExpressionType(exp->_renew.exp);
+ProcessExpressionType(exp->__anon1._renew.size);
+ProcessExpressionType(exp->__anon1._renew.exp);
exp->expType = __extension__ ({
struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
-__ecereInstance1->refCount = 1, __ecereInstance1->kind = 13, __ecereInstance1->type = ProcessType(exp->_renew.typeName->qualifiers, exp->_renew.typeName->declarator), __ecereInstance1;
+__ecereInstance1->refCount = 1, __ecereInstance1->kind = 13, __ecereInstance1->__anon1.type = ProcessType(exp->__anon1._renew.typeName->qualifiers, exp->__anon1._renew.typeName->declarator), __ecereInstance1;
});
-DeclareType(exp->expType->type, 0x0, 0x0);
+DeclareType(exp->expType->__anon1.type, 0, 0);
break;
case 4:
{
-unsigned int assign = 0x0, boolResult = 0x0, boolOps = 0x0;
+unsigned int assign = 0, boolResult = 0, boolOps = 0;
struct Type * type1 = (((void *)0)), * type2 = (((void *)0));
-unsigned int useDestType = 0x0, useSideType = 0x0;
+unsigned int useDestType = 0, useSideType = 0;
struct Location oldyylloc = yylloc;
-unsigned int useSideUnit = 0x0;
-struct __ecereNameSpace__ecere__com__Class * destClass = (exp->destType && exp->destType->kind == 8 && exp->destType->_class) ? exp->destType->_class->registered : (((void *)0));
+unsigned int useSideUnit = 0;
+struct __ecereNameSpace__ecere__com__Class * destClass = (exp->destType && exp->destType->kind == 8 && exp->destType->__anon1._class) ? exp->destType->__anon1._class->__anon1.registered : (((void *)0));
struct Type * dummy = (dummy = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type), dummy->count = 1, dummy->refCount = 1, dummy);
-switch(exp->op.op)
+switch(exp->__anon1.op.op)
{
case '=':
case MUL_ASSIGN:
case AND_ASSIGN:
case XOR_ASSIGN:
case OR_ASSIGN:
-assign = 0x1;
+assign = 1;
break;
case '!':
break;
case AND_OP:
case OR_OP:
-boolOps = 0x1;
-boolResult = 0x1;
+boolOps = 1;
+boolResult = 1;
break;
case EQ_OP:
case '<':
case LE_OP:
case GE_OP:
case NE_OP:
-boolResult = 0x1;
-useSideType = 0x1;
+boolResult = 1;
+useSideType = 1;
break;
case '+':
case '-':
-useSideUnit = 0x1;
-useSideType = 0x1;
-useDestType = 0x1;
+useSideUnit = 1;
+useSideType = 1;
+useDestType = 1;
break;
case LEFT_OP:
case RIGHT_OP:
-useSideType = 0x1;
-useDestType = 0x1;
+useSideType = 1;
+useDestType = 1;
break;
case '|':
case '^':
-useSideType = 0x1;
-useDestType = 0x1;
+useSideType = 1;
+useDestType = 1;
break;
case '/':
case '%':
-useSideType = 0x1;
-useDestType = 0x1;
+useSideType = 1;
+useDestType = 1;
break;
case '&':
case '*':
-if(exp->op.exp1)
+if(exp->__anon1.op.exp1)
{
-useSideType = 0x1;
-useDestType = 0x1;
+useSideType = 1;
+useDestType = 1;
}
break;
}
-if(exp->op.op == '&')
+if(exp->__anon1.op.op == '&')
{
-if(!exp->op.exp1 && exp->op.exp2 && exp->op.exp2->type == 0 && exp->op.exp2->identifier)
+if(!exp->__anon1.op.exp1 && exp->__anon1.op.exp2 && exp->__anon1.op.exp2->type == 0 && exp->__anon1.op.exp2->__anon1.__anon1.identifier)
{
-struct Identifier * id = exp->op.exp2->identifier;
-struct Symbol * symbol = FindSymbol(id->string, curContext, topContext, 0x0, id->_class && id->_class->name == (((void *)0)));
+struct Identifier * id = exp->__anon1.op.exp2->__anon1.__anon1.identifier;
+struct Symbol * symbol = FindSymbol(id->string, curContext, topContext, 0, id->_class && id->_class->__anon1.__anon1.name == (((void *)0)));
if(symbol && symbol->isIterator == 2)
{
exp->type = 8;
-exp->member.exp = exp->op.exp2;
-exp->member.member = MkIdentifier("key");
+exp->__anon1.member.exp = exp->__anon1.op.exp2;
+exp->__anon1.member.member = MkIdentifier("key");
exp->expType = (((void *)0));
-exp->op.exp2->expType = symbol->type;
+exp->__anon1.op.exp2->expType = symbol->type;
symbol->type->refCount++;
ProcessExpressionType(exp);
FreeType(dummy);
}
}
}
-if(exp->op.exp1)
+if(exp->__anon1.op.exp1)
{
-if(exp->op.exp2 && useSideUnit && useDestType && destClass && destClass->type == 3 && destClass->base->type != 3)
-useDestType = 0x0;
+if(exp->__anon1.op.exp2 && useSideUnit && useDestType && destClass && destClass->type == 3 && destClass->base->type != 3)
+useDestType = 0;
if(destClass && useDestType && ((destClass->type == 3 && useSideUnit) || destClass->type == 4 || destClass->type == 2))
{
-if(exp->op.exp1->destType)
-FreeType(exp->op.exp1->destType);
-exp->op.exp1->destType = exp->destType;
-exp->op.exp1->opDestType = 0x1;
+if(exp->__anon1.op.exp1->destType)
+FreeType(exp->__anon1.op.exp1->destType);
+exp->__anon1.op.exp1->destType = exp->destType;
+exp->__anon1.op.exp1->opDestType = 1;
if(exp->destType)
exp->destType->refCount++;
}
else if(!assign)
{
-if(exp->op.exp1->destType)
-FreeType(exp->op.exp1->destType);
-exp->op.exp1->destType = dummy;
+if(exp->__anon1.op.exp1->destType)
+FreeType(exp->__anon1.op.exp1->destType);
+exp->__anon1.op.exp1->destType = dummy;
dummy->refCount++;
}
-if(exp->op.exp1->destType && exp->op.op != '=')
-exp->op.exp1->destType->count++;
-ProcessExpressionType(exp->op.exp1);
-if(exp->op.exp1->destType && exp->op.op != '=')
-exp->op.exp1->destType->count--;
-exp->op.exp1->opDestType = 0x0;
-if(!exp->op.exp2 && (exp->op.op == INC_OP || exp->op.op == DEC_OP) && exp->op.exp1->expType && exp->op.exp1->expType->kind == 8 && exp->op.exp1->expType->_class && exp->op.exp1->expType->_class->registered && exp->op.exp1->expType->_class->registered->type == 3)
+if(exp->__anon1.op.exp1->destType && exp->__anon1.op.op != '=')
+exp->__anon1.op.exp1->destType->count++;
+ProcessExpressionType(exp->__anon1.op.exp1);
+if(exp->__anon1.op.exp1->destType && exp->__anon1.op.op != '=')
+exp->__anon1.op.exp1->destType->count--;
+exp->__anon1.op.exp1->opDestType = 0;
+if(!exp->__anon1.op.exp2 && (exp->__anon1.op.op == INC_OP || exp->__anon1.op.op == DEC_OP) && exp->__anon1.op.exp1->expType && exp->__anon1.op.exp1->expType->kind == 8 && exp->__anon1.op.exp1->expType->__anon1._class && exp->__anon1.op.exp1->expType->__anon1._class->__anon1.registered && exp->__anon1.op.exp1->expType->__anon1._class->__anon1.registered->type == 3)
{
-exp->op.exp2 = MkExpConstant("1");
-exp->op.op = exp->op.op == INC_OP ? ADD_ASSIGN : SUB_ASSIGN;
-assign = 0x1;
+exp->__anon1.op.exp2 = MkExpConstant("1");
+exp->__anon1.op.op = exp->__anon1.op.op == INC_OP ? ADD_ASSIGN : SUB_ASSIGN;
+assign = 1;
}
-if(exp->op.exp1->destType == dummy)
+if(exp->__anon1.op.exp1->destType == dummy)
{
FreeType(dummy);
-exp->op.exp1->destType = (((void *)0));
+exp->__anon1.op.exp1->destType = (((void *)0));
}
-type1 = exp->op.exp1->expType;
+type1 = exp->__anon1.op.exp1->expType;
}
-if(exp->op.exp2)
+if(exp->__anon1.op.exp2)
{
char expString[10240];
expString[0] = '\0';
-if(exp->op.exp2->type == 1 && !exp->op.exp2->instance->_class)
+if(exp->__anon1.op.exp2->type == 1 && !exp->__anon1.op.exp2->__anon1.instance->_class)
{
-if(exp->op.exp1)
+if(exp->__anon1.op.exp1)
{
-exp->op.exp2->destType = exp->op.exp1->expType;
-if(exp->op.exp1->expType)
-exp->op.exp1->expType->refCount++;
+exp->__anon1.op.exp2->destType = exp->__anon1.op.exp1->expType;
+if(exp->__anon1.op.exp1->expType)
+exp->__anon1.op.exp1->expType->refCount++;
}
else
{
-exp->op.exp2->destType = exp->destType;
-if(!exp->op.exp1 || exp->op.op != '&')
-exp->op.exp2->opDestType = 0x1;
+exp->__anon1.op.exp2->destType = exp->destType;
+if(!exp->__anon1.op.exp1 || exp->__anon1.op.op != '&')
+exp->__anon1.op.exp2->opDestType = 1;
if(exp->destType)
exp->destType->refCount++;
}
else if(assign)
{
if(inCompiler)
-PrintExpression(exp->op.exp2, expString);
+PrintExpression(exp->__anon1.op.exp2, expString);
if(type1 && type1->kind == 13)
{
-if(exp->op.op == MUL_ASSIGN || exp->op.op == DIV_ASSIGN || exp->op.op == MOD_ASSIGN || exp->op.op == LEFT_ASSIGN || exp->op.op == RIGHT_ASSIGN || exp->op.op == AND_ASSIGN || exp->op.op == OR_ASSIGN)
-Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "operator %s illegal on pointer\n", (((void *)0))), exp->op.op);
-else if(exp->op.op == '=')
+if(exp->__anon1.op.op == MUL_ASSIGN || exp->__anon1.op.op == DIV_ASSIGN || exp->__anon1.op.op == MOD_ASSIGN || exp->__anon1.op.op == LEFT_ASSIGN || exp->__anon1.op.op == RIGHT_ASSIGN || exp->__anon1.op.op == AND_ASSIGN || exp->__anon1.op.op == OR_ASSIGN)
+Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "operator %s illegal on pointer\n", (((void *)0))), exp->__anon1.op.op);
+else if(exp->__anon1.op.op == '=')
{
-if(exp->op.exp2->destType)
-FreeType(exp->op.exp2->destType);
-exp->op.exp2->destType = type1;
+if(exp->__anon1.op.exp2->destType)
+FreeType(exp->__anon1.op.exp2->destType);
+exp->__anon1.op.exp2->destType = type1;
if(type1)
type1->refCount++;
}
}
else
{
-if(exp->op.op == MUL_ASSIGN || exp->op.op == DIV_ASSIGN || exp->op.op == MOD_ASSIGN || exp->op.op == LEFT_ASSIGN || exp->op.op == RIGHT_ASSIGN)
+if(exp->__anon1.op.op == MUL_ASSIGN || exp->__anon1.op.op == DIV_ASSIGN || exp->__anon1.op.op == MOD_ASSIGN || exp->__anon1.op.op == LEFT_ASSIGN || exp->__anon1.op.op == RIGHT_ASSIGN)
;
else
{
-if(exp->op.exp2->destType)
-FreeType(exp->op.exp2->destType);
-exp->op.exp2->destType = type1;
+if(exp->__anon1.op.exp2->destType)
+FreeType(exp->__anon1.op.exp2->destType);
+exp->__anon1.op.exp2->destType = type1;
if(type1)
type1->refCount++;
}
}
else if(destClass && ((destClass->type == 3 && useDestType && useSideUnit) || (destClass->type == 4 && useDestType)))
{
-if(exp->op.exp2->destType)
-FreeType(exp->op.exp2->destType);
-exp->op.exp2->destType = exp->destType;
-if(exp->op.op != '&')
-exp->op.exp2->opDestType = 0x1;
+if(exp->__anon1.op.exp2->destType)
+FreeType(exp->__anon1.op.exp2->destType);
+exp->__anon1.op.exp2->destType = exp->destType;
+if(exp->__anon1.op.op != '&')
+exp->__anon1.op.exp2->opDestType = 1;
if(exp->destType)
exp->destType->refCount++;
}
else
{
-if(exp->op.exp2->destType)
-FreeType(exp->op.exp2->destType);
-exp->op.exp2->destType = dummy;
+if(exp->__anon1.op.exp2->destType)
+FreeType(exp->__anon1.op.exp2->destType);
+exp->__anon1.op.exp2->destType = dummy;
dummy->refCount++;
}
-if(type1 && boolResult && useSideType && type1->kind == 8 && type1->_class && type1->_class->registered && (type1->_class->registered->type == 2 || type1->_class->registered->type == 4))
+if(type1 && boolResult && useSideType && type1->kind == 8 && type1->__anon1._class && type1->__anon1._class->__anon1.registered && (type1->__anon1._class->__anon1.registered->type == 2 || type1->__anon1._class->__anon1.registered->type == 4))
{
-FreeType(exp->op.exp2->destType);
-exp->op.exp2->destType = type1;
+FreeType(exp->__anon1.op.exp2->destType);
+exp->__anon1.op.exp2->destType = type1;
type1->refCount++;
}
-if(exp->op.exp2->destType && exp->op.op != '=')
-exp->op.exp2->destType->count++;
-if(exp->op.op == SIZEOF)
+if(exp->__anon1.op.exp2->destType && exp->__anon1.op.op != '=')
+exp->__anon1.op.exp2->destType->count++;
+if(exp->__anon1.op.op == SIZEOF)
{
-struct Expression * e = exp->op.exp2;
+struct Expression * e = exp->__anon1.op.exp2;
-while((e->type == 5 || e->type == 32 || e->type == 23) && e->list)
+while((e->type == 5 || e->type == 32 || e->type == 23) && e->__anon1.list)
{
if(e->type == 5 || e->type == 32 || e->type == 23)
{
if(e->type == 23)
-e = (*((struct Statement *)(*e->compound->compound.statements).last)->expressions).last;
+e = (*((struct Statement *)(*e->__anon1.compound->__anon1.compound.statements).last)->__anon1.expressions).last;
else
-e = (*e->list).last;
+e = (*e->__anon1.list).last;
}
}
-if(e->type == 11 && e->cast.exp)
-e->cast.exp->needCast = 0x1;
+if(e->type == 11 && e->__anon1.cast.exp)
+e->__anon1.cast.exp->needCast = 1;
}
-ProcessExpressionType(exp->op.exp2);
-exp->op.exp2->opDestType = 0x0;
-if(exp->op.exp2->destType && exp->op.op != '=')
-exp->op.exp2->destType->count--;
-if(assign && type1 && type1->kind == 13 && exp->op.exp2->expType)
+ProcessExpressionType(exp->__anon1.op.exp2);
+exp->__anon1.op.exp2->opDestType = 0;
+if(exp->__anon1.op.exp2->destType && exp->__anon1.op.op != '=')
+exp->__anon1.op.exp2->destType->count--;
+if(assign && type1 && type1->kind == 13 && exp->__anon1.op.exp2->expType)
{
-if(exp->op.exp2->expType->kind == 23 || exp->op.exp2->expType->kind == 22 || exp->op.exp2->expType->kind == 4 || exp->op.exp2->expType->kind == 3 || exp->op.exp2->expType->kind == 2 || exp->op.exp2->expType->kind == 1)
+if(exp->__anon1.op.exp2->expType->kind == 23 || exp->__anon1.op.exp2->expType->kind == 22 || exp->__anon1.op.exp2->expType->kind == 4 || exp->__anon1.op.exp2->expType->kind == 3 || exp->__anon1.op.exp2->expType->kind == 2 || exp->__anon1.op.exp2->expType->kind == 1)
{
-if(exp->op.op != '=' && type1->type->kind == 0)
+if(exp->__anon1.op.op != '=' && type1->__anon1.type->kind == 0)
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "void *: unknown size\n", (((void *)0))));
}
-else if(exp->op.exp2->expType->kind == 13 || exp->op.exp2->expType->kind == 12 || exp->op.exp2->expType->kind == 11 || exp->op.exp2->expType->kind == 16 || (type1->type->kind == 0 && exp->op.exp2->expType->kind == 8 && exp->op.exp2->expType->_class->registered && (exp->op.exp2->expType->_class->registered->type == 0 || exp->op.exp2->expType->_class->registered->type == 1 || exp->op.exp2->expType->_class->registered->type == 5)))
+else if(exp->__anon1.op.exp2->expType->kind == 13 || exp->__anon1.op.exp2->expType->kind == 12 || exp->__anon1.op.exp2->expType->kind == 11 || exp->__anon1.op.exp2->expType->kind == 16 || (type1->__anon1.type->kind == 0 && exp->__anon1.op.exp2->expType->kind == 8 && exp->__anon1.op.exp2->expType->__anon1._class->__anon1.registered && (exp->__anon1.op.exp2->expType->__anon1._class->__anon1.registered->type == 0 || exp->__anon1.op.exp2->expType->__anon1._class->__anon1.registered->type == 1 || exp->__anon1.op.exp2->expType->__anon1._class->__anon1.registered->type == 5)))
{
-if(exp->op.op == ADD_ASSIGN)
+if(exp->__anon1.op.op == ADD_ASSIGN)
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "cannot add two pointers\n", (((void *)0))));
}
-else if((exp->op.exp2->expType->kind == 8 && type1->kind == 13 && type1->type->kind == 8 && type1->type->_class == exp->op.exp2->expType->_class && exp->op.exp2->expType->_class->registered && exp->op.exp2->expType->_class->registered->type == 1))
+else if((exp->__anon1.op.exp2->expType->kind == 8 && type1->kind == 13 && type1->__anon1.type->kind == 8 && type1->__anon1.type->__anon1._class == exp->__anon1.op.exp2->expType->__anon1._class && exp->__anon1.op.exp2->expType->__anon1._class->__anon1.registered && exp->__anon1.op.exp2->expType->__anon1._class->__anon1.registered->type == 1))
{
-if(exp->op.op == ADD_ASSIGN)
+if(exp->__anon1.op.op == ADD_ASSIGN)
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "cannot add two pointers\n", (((void *)0))));
}
else if(inCompiler)
type1String[0] = '\0';
type2String[0] = '\0';
-PrintType(exp->op.exp2->expType, type1String, 0x0, 0x1);
-PrintType(type1, type2String, 0x0, 0x1);
+PrintType(exp->__anon1.op.exp2->expType, type1String, 0, 1);
+PrintType(type1, type2String, 0, 1);
__ecereNameSpace__ecere__sys__ChangeCh(expString, '\n', ' ');
Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "incompatible expression %s (%s); expected %s\n", (((void *)0))), expString, type1String, type2String);
}
}
-if(exp->op.exp2->destType == dummy)
+if(exp->__anon1.op.exp2->destType == dummy)
{
FreeType(dummy);
-exp->op.exp2->destType = (((void *)0));
+exp->__anon1.op.exp2->destType = (((void *)0));
}
-if(exp->op.op == '-' && !exp->op.exp1 && exp->op.exp2->expType && !exp->op.exp2->expType->isSigned)
+if(exp->__anon1.op.op == '-' && !exp->__anon1.op.exp1 && exp->__anon1.op.exp2->expType && !exp->__anon1.op.exp2->expType->isSigned)
{
type2 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
type2->refCount = 1;
-CopyTypeInto(type2, exp->op.exp2->expType);
-type2->isSigned = 0x1;
+CopyTypeInto(type2, exp->__anon1.op.exp2->expType);
+type2->isSigned = 1;
}
-else if(exp->op.op == '~' && !exp->op.exp1 && exp->op.exp2->expType && (!exp->op.exp2->expType->isSigned || exp->op.exp2->expType->kind != 3))
+else if(exp->__anon1.op.op == '~' && !exp->__anon1.op.exp1 && exp->__anon1.op.exp2->expType && (!exp->__anon1.op.exp2->expType->isSigned || exp->__anon1.op.exp2->expType->kind != 3))
{
type2 = __extension__ ({
struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
__ecereInstance1->kind = 3, __ecereInstance1;
});
type2->refCount = 1;
-type2->isSigned = 0x1;
+type2->isSigned = 1;
}
else
{
-type2 = exp->op.exp2->expType;
+type2 = exp->__anon1.op.exp2->expType;
if(type2)
type2->refCount++;
}
}
dummy->kind = 0;
-if(exp->op.op == SIZEOF)
+if(exp->__anon1.op.op == SIZEOF)
{
exp->expType = __extension__ ({
struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
-__ecereInstance1->refCount = 1, __ecereInstance1->kind = 3, __ecereInstance1;
+__ecereInstance1->refCount = 1, __ecereInstance1->kind = 23, __ecereInstance1;
});
-exp->isConstant = 0x1;
+exp->isConstant = 1;
}
-else if(exp->op.op == '*' && !exp->op.exp1)
+else if(exp->__anon1.op.op == '*' && !exp->__anon1.op.exp1)
{
exp->expType = Dereference(type2);
if(type2 && type2->kind == 8)
-notByReference = 0x1;
+notByReference = 1;
}
-else if(exp->op.op == '&' && !exp->op.exp1)
+else if(exp->__anon1.op.op == '&' && !exp->__anon1.op.exp1)
exp->expType = Reference(type2);
else if(!assign)
{
if(boolOps)
{
-if(exp->op.exp1)
+if(exp->__anon1.op.exp1)
{
-if(exp->op.exp1->destType)
-FreeType(exp->op.exp1->destType);
-exp->op.exp1->destType = MkClassType("bool");
-exp->op.exp1->destType->truth = 0x1;
-if(!exp->op.exp1->expType)
-ProcessExpressionType(exp->op.exp1);
+if(exp->__anon1.op.exp1->destType)
+FreeType(exp->__anon1.op.exp1->destType);
+exp->__anon1.op.exp1->destType = MkClassType("bool");
+exp->__anon1.op.exp1->destType->truth = 1;
+if(!exp->__anon1.op.exp1->expType)
+ProcessExpressionType(exp->__anon1.op.exp1);
else
-CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0);
-FreeType(exp->op.exp1->expType);
-exp->op.exp1->expType = MkClassType("bool");
-exp->op.exp1->expType->truth = 0x1;
-}
-if(exp->op.exp2)
-{
-if(exp->op.exp2->destType)
-FreeType(exp->op.exp2->destType);
-exp->op.exp2->destType = MkClassType("bool");
-exp->op.exp2->destType->truth = 0x1;
-if(!exp->op.exp2->expType)
-ProcessExpressionType(exp->op.exp2);
+CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp1->destType, 0, 0);
+FreeType(exp->__anon1.op.exp1->expType);
+exp->__anon1.op.exp1->expType = MkClassType("bool");
+exp->__anon1.op.exp1->expType->truth = 1;
+}
+if(exp->__anon1.op.exp2)
+{
+if(exp->__anon1.op.exp2->destType)
+FreeType(exp->__anon1.op.exp2->destType);
+exp->__anon1.op.exp2->destType = MkClassType("bool");
+exp->__anon1.op.exp2->destType->truth = 1;
+if(!exp->__anon1.op.exp2->expType)
+ProcessExpressionType(exp->__anon1.op.exp2);
else
-CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0);
-FreeType(exp->op.exp2->expType);
-exp->op.exp2->expType = MkClassType("bool");
-exp->op.exp2->expType->truth = 0x1;
+CheckExpressionType(exp->__anon1.op.exp2, exp->__anon1.op.exp2->destType, 0, 0);
+FreeType(exp->__anon1.op.exp2->expType);
+exp->__anon1.op.exp2->expType = MkClassType("bool");
+exp->__anon1.op.exp2->expType->truth = 1;
}
}
-else if(exp->op.exp1 && exp->op.exp2 && ((useSideType) || ((!type1 || type1->kind != 8 || !strcmp(type1->_class->string, "String")) && (!type2 || type2->kind != 8 || !strcmp(type2->_class->string, "String")))))
+else if(exp->__anon1.op.exp1 && exp->__anon1.op.exp2 && ((useSideType) || ((!type1 || type1->kind != 8 || !strcmp(type1->__anon1._class->string, "String")) && (!type2 || type2->kind != 8 || !strcmp(type2->__anon1._class->string, "String")))))
{
-if(type1 && type2 && ((type1->kind == 8 && type1->_class && strcmp(type1->_class->string, "String")) == (type2->kind == 8 && type2->_class && strcmp(type2->_class->string, "String"))))
+if(type1 && type2 && ((type1->kind == 8 && type1->__anon1._class && strcmp(type1->__anon1._class->string, "String")) == (type2->kind == 8 && type2->__anon1._class && strcmp(type2->__anon1._class->string, "String"))))
{
-if(exp->op.op == '-' && ((type1->kind == 8 && type1->_class->registered && type1->_class->registered->type == 4) || (type2->kind == 8 && type2->_class->registered && type2->_class->registered->type == 4)))
+if(exp->__anon1.op.op == '-' && ((type1->kind == 8 && type1->__anon1._class->__anon1.registered && type1->__anon1._class->__anon1.registered->type == 4) || (type2->kind == 8 && type2->__anon1._class->__anon1.registered && type2->__anon1._class->__anon1.registered->type == 4)))
{
struct Type * intType;
-if(!type1->_class->registered->dataType)
-type1->_class->registered->dataType = ProcessTypeString(type1->_class->registered->dataTypeString, 0x0);
-if(!type2->_class->registered->dataType)
-type2->_class->registered->dataType = ProcessTypeString(type2->_class->registered->dataTypeString, 0x0);
-intType = ProcessTypeString((type1->_class->registered->dataType->kind == 4 || type2->_class->registered->dataType->kind == 4) ? "int64" : "int", 0x0);
-if(exp->op.exp1->destType)
-FreeType(exp->op.exp1->destType);
-if(exp->op.exp2->destType)
-FreeType(exp->op.exp2->destType);
-exp->op.exp1->destType = intType;
-exp->op.exp2->destType = intType;
+if(!type1->__anon1._class->__anon1.registered->dataType)
+type1->__anon1._class->__anon1.registered->dataType = ProcessTypeString(type1->__anon1._class->__anon1.registered->dataTypeString, 0);
+if(!type2->__anon1._class->__anon1.registered->dataType)
+type2->__anon1._class->__anon1.registered->dataType = ProcessTypeString(type2->__anon1._class->__anon1.registered->dataTypeString, 0);
+intType = ProcessTypeString((type1->__anon1._class->__anon1.registered->dataType->kind == 4 || type2->__anon1._class->__anon1.registered->dataType->kind == 4) ? "int64" : "int", 0);
+if(exp->__anon1.op.exp1->destType)
+FreeType(exp->__anon1.op.exp1->destType);
+if(exp->__anon1.op.exp2->destType)
+FreeType(exp->__anon1.op.exp2->destType);
+exp->__anon1.op.exp1->destType = intType;
+exp->__anon1.op.exp2->destType = intType;
intType->refCount++;
}
else
{
-if(exp->op.exp2->destType)
-FreeType(exp->op.exp2->destType);
-exp->op.exp2->destType = type1;
+if(exp->__anon1.op.exp2->destType)
+FreeType(exp->__anon1.op.exp2->destType);
+exp->__anon1.op.exp2->destType = type1;
type1->refCount++;
-if(exp->op.exp1->destType)
-FreeType(exp->op.exp1->destType);
-exp->op.exp1->destType = type2;
+if(exp->__anon1.op.exp1->destType)
+FreeType(exp->__anon1.op.exp1->destType);
+exp->__anon1.op.exp1->destType = type2;
type2->refCount++;
}
-if(!boolResult && type1->kind == 8 && (!exp->destType || exp->destType->kind != 8) && type1->_class->registered && type1->_class->registered->type == 3 && type2->_class->registered && type2->_class->registered->type == 3 && type1->_class->registered != type2->_class->registered)
-Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "operating on %s and %s with an untyped result, assuming %s\n", (((void *)0))), type1->_class->string, type2->_class->string, type1->_class->string);
-if(type1->kind == 13 && type1->type->kind == 20 && type2->kind != 13)
+if(!boolResult && type1->kind == 8 && (!exp->destType || exp->destType->kind != 8) && type1->__anon1._class->__anon1.registered && type1->__anon1._class->__anon1.registered->type == 3 && type2->__anon1._class->__anon1.registered && type2->__anon1._class->__anon1.registered->type == 3 && type1->__anon1._class->__anon1.registered != type2->__anon1._class->__anon1.registered)
+Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "operating on %s and %s with an untyped result, assuming %s\n", (((void *)0))), type1->__anon1._class->string, type2->__anon1._class->string, type1->__anon1._class->string);
+if(type1->kind == 13 && type1->__anon1.type->kind == 20 && type2->kind != 13)
{
-struct Expression * argExp = GetTemplateArgExp(type1->type->templateParameter, thisClass, 0x1);
+struct Expression * argExp = GetTemplateArgExp(type1->__anon1.type->__anon1.templateParameter, thisClass, 1);
if(argExp)
{
struct Expression * classExp = MkExpMember(argExp, MkIdentifier("dataTypeClass"));
-exp->op.exp1 = MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("byte")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), exp->op.exp1)));
-ProcessExpressionType(exp->op.exp1);
+exp->__anon1.op.exp1 = MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("byte")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), exp->__anon1.op.exp1)));
+ProcessExpressionType(exp->__anon1.op.exp1);
if(type2->kind != 13)
{
ProcessExpressionType(classExp);
-exp->op.exp2 = MkExpBrackets(MkListOne(MkExpOp(exp->op.exp2, '*', MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpConstant("5")), OR_OP, MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpConstant("0"))))), MkListOne(MkExpTypeSize(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))))), MkExpMember(classExp, MkIdentifier("typeSize"))))))));
-if(!exp->op.exp2->expType)
+exp->__anon1.op.exp2 = MkExpBrackets(MkListOne(MkExpOp(exp->__anon1.op.exp2, '*', MkExpMember(classExp, MkIdentifier("typeSize")))));
+if(!exp->__anon1.op.exp2->expType)
{
if(type2)
FreeType(type2);
-type2 = exp->op.exp2->expType = ProcessTypeString("int", 0x0);
+type2 = exp->__anon1.op.exp2->expType = ProcessTypeString("int", 0);
type2->refCount++;
}
-ProcessExpressionType(exp->op.exp2);
+ProcessExpressionType(exp->__anon1.op.exp2);
}
}
}
-if(!boolResult && ((type1->kind == 13 || type1->kind == 12 || (type1->kind == 8 && !strcmp(type1->_class->string, "String"))) && (type2->kind == 23 || type2->kind == 22 || type2->kind == 4 || type2->kind == 3 || type2->kind == 2 || type2->kind == 1)))
+if(!boolResult && ((type1->kind == 13 || type1->kind == 12 || (type1->kind == 8 && !strcmp(type1->__anon1._class->string, "String"))) && (type2->kind == 23 || type2->kind == 22 || type2->kind == 4 || type2->kind == 3 || type2->kind == 2 || type2->kind == 1)))
{
-if(type1->kind != 8 && type1->type->kind == 0)
+if(type1->kind != 8 && type1->__anon1.type->kind == 0)
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "void *: unknown size\n", (((void *)0))));
exp->expType = type1;
if(type1)
type1->refCount++;
}
-else if(!boolResult && ((type2->kind == 13 || type2->kind == 12 || (type2->kind == 8 && !strcmp(type2->_class->string, "String"))) && (type1->kind == 23 || type1->kind == 22 || type1->kind == 4 || type1->kind == 3 || type1->kind == 2 || type1->kind == 1)))
+else if(!boolResult && ((type2->kind == 13 || type2->kind == 12 || (type2->kind == 8 && !strcmp(type2->__anon1._class->string, "String"))) && (type1->kind == 23 || type1->kind == 22 || type1->kind == 4 || type1->kind == 3 || type1->kind == 2 || type1->kind == 1)))
{
-if(type2->kind != 8 && type2->type->kind == 0)
+if(type2->kind != 8 && type2->__anon1.type->kind == 0)
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "void *: unknown size\n", (((void *)0))));
exp->expType = type2;
if(type2)
}
else
{
-unsigned int success = 0x0;
+unsigned int success = 0;
if(type1->kind == 13 && type2->kind == 13)
{
-if(exp->op.op == '+')
+if(exp->__anon1.op.op == '+')
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "cannot add two pointers\n", (((void *)0))));
-else if(exp->op.op == '-')
+else if(exp->__anon1.op.op == '-')
{
-if(MatchTypes(type1->type, type2->type, (((void *)0)), (((void *)0)), (((void *)0)), 0x0, 0x0, 0x0, 0x0))
+if(MatchTypes(type1->__anon1.type, type2->__anon1.type, (((void *)0)), (((void *)0)), (((void *)0)), 0, 0, 0, 0, 0))
{
exp->expType = __extension__ ({
struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
__ecereInstance1->kind = 3, __ecereInstance1->refCount = 1, __ecereInstance1;
});
-success = 0x1;
-if(type1->type->kind == 20)
+success = 1;
+if(type1->__anon1.type->kind == 20)
{
-struct Expression * argExp = GetTemplateArgExp(type1->type->templateParameter, thisClass, 0x1);
+struct Expression * argExp = GetTemplateArgExp(type1->__anon1.type->__anon1.templateParameter, thisClass, 1);
if(argExp)
{
ProcessExpressionType(classExp);
exp->type = 5;
-exp->list = MkListOne(MkExpOp(MkExpBrackets(MkListOne(MkExpOp(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("byte")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpBrackets(MkListOne(exp->op.exp1))), exp->op.op, MkExpCast(MkTypeName(MkListOne(MkSpecifierName("byte")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpBrackets(MkListOne(exp->op.exp2)))))), '/', MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("noHeadClass"))), OR_OP, MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("normalClass")))))), MkListOne(MkExpTypeSize(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))))), MkExpMember(classExp, MkIdentifier("typeSize")))))));
-ProcessExpressionType(((struct Expression *)(*exp->list).first)->op.exp2);
+exp->__anon1.list = MkListOne(MkExpOp(MkExpBrackets(MkListOne(MkExpOp(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("byte")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpBrackets(MkListOne(exp->__anon1.op.exp1))), exp->__anon1.op.op, MkExpCast(MkTypeName(MkListOne(MkSpecifierName("byte")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpBrackets(MkListOne(exp->__anon1.op.exp2)))))), '/', MkExpMember(classExp, MkIdentifier("typeSize"))));
+ProcessExpressionType(((struct Expression *)(*exp->__anon1.list).first)->__anon1.op.exp2);
FreeType(dummy);
return ;
}
}
}
}
-if(!success && exp->op.exp1->type == 2)
+if(!success && exp->__anon1.op.exp1->type == 2)
{
-if(CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp1->destType, 0, 0))
{
if(exp->expType)
FreeType(exp->expType);
-exp->expType = exp->op.exp1->destType;
-if(exp->op.exp1->destType)
-exp->op.exp1->destType->refCount++;
-success = 0x1;
+exp->expType = exp->__anon1.op.exp1->destType;
+if(exp->__anon1.op.exp1->destType)
+exp->__anon1.op.exp1->destType->refCount++;
+success = 1;
}
-else if(CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0))
+else if(CheckExpressionType(exp->__anon1.op.exp2, exp->__anon1.op.exp2->destType, 0, 0))
{
if(exp->expType)
FreeType(exp->expType);
-exp->expType = exp->op.exp2->destType;
-if(exp->op.exp2->destType)
-exp->op.exp2->destType->refCount++;
-success = 0x1;
+exp->expType = exp->__anon1.op.exp2->destType;
+if(exp->__anon1.op.exp2->destType)
+exp->__anon1.op.exp2->destType->refCount++;
+success = 1;
}
}
else if(!success)
{
-if(CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp2, exp->__anon1.op.exp2->destType, 0, 0))
{
if(exp->expType)
FreeType(exp->expType);
-exp->expType = exp->op.exp2->destType;
-if(exp->op.exp2->destType)
-exp->op.exp2->destType->refCount++;
-success = 0x1;
+exp->expType = exp->__anon1.op.exp2->destType;
+if(exp->__anon1.op.exp2->destType)
+exp->__anon1.op.exp2->destType->refCount++;
+success = 1;
}
-else if(CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0))
+else if(CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp1->destType, 0, 0))
{
if(exp->expType)
FreeType(exp->expType);
-exp->expType = exp->op.exp1->destType;
-if(exp->op.exp1->destType)
-exp->op.exp1->destType->refCount++;
-success = 0x1;
+exp->expType = exp->__anon1.op.exp1->destType;
+if(exp->__anon1.op.exp1->destType)
+exp->__anon1.op.exp1->destType->refCount++;
+success = 1;
}
}
if(!success)
type2[0] = '\0';
if(inCompiler)
{
-PrintExpression(exp->op.exp1, expString1);
+PrintExpression(exp->__anon1.op.exp1, expString1);
__ecereNameSpace__ecere__sys__ChangeCh(expString1, '\n', ' ');
-PrintExpression(exp->op.exp2, expString2);
+PrintExpression(exp->__anon1.op.exp2, expString2);
__ecereNameSpace__ecere__sys__ChangeCh(expString2, '\n', ' ');
-PrintType(exp->op.exp1->expType, type1, 0x0, 0x1);
-PrintType(exp->op.exp2->expType, type2, 0x0, 0x1);
+PrintType(exp->__anon1.op.exp1->expType, type1, 0, 1);
+PrintType(exp->__anon1.op.exp2->expType, type2, 0, 1);
}
Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "incompatible expressions %s (%s) and %s (%s)\n", (((void *)0))), expString1, type1, expString2, type2);
}
}
}
-else if(!boolResult && (!useSideUnit) && type2 && type1 && type2->kind == 8 && type1->kind != 8 && type2->_class && type2->_class->registered && type2->_class->registered->type == 3)
+else if(!boolResult && (!useSideUnit) && type2 && type1 && type2->kind == 8 && type1->kind != 8 && type2->__anon1._class && type2->__anon1._class->__anon1.registered && type2->__anon1._class->__anon1.registered->type == 3)
{
-if(exp->op.exp1->destType)
-FreeType(exp->op.exp1->destType);
-exp->op.exp1->destType = type2->_class->registered->dataType;
-if(type2->_class->registered->dataType)
-type2->_class->registered->dataType->refCount++;
-CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0);
+if(exp->__anon1.op.exp1->destType)
+FreeType(exp->__anon1.op.exp1->destType);
+exp->__anon1.op.exp1->destType = type2->__anon1._class->__anon1.registered->dataType;
+if(type2->__anon1._class->__anon1.registered->dataType)
+type2->__anon1._class->__anon1.registered->dataType->refCount++;
+CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp1->destType, 0, 0);
exp->expType = type2;
if(type2)
type2->refCount++;
}
-else if(!boolResult && (!useSideUnit) && type1 && type2 && type1->kind == 8 && type2->kind != 8 && type1->_class && type1->_class->registered && type1->_class->registered->type == 3)
+else if(!boolResult && (!useSideUnit) && type1 && type2 && type1->kind == 8 && type2->kind != 8 && type1->__anon1._class && type1->__anon1._class->__anon1.registered && type1->__anon1._class->__anon1.registered->type == 3)
{
-if(exp->op.exp2->destType)
-FreeType(exp->op.exp2->destType);
-exp->op.exp2->destType = type1->_class->registered->dataType;
-if(type1->_class->registered->dataType)
-type1->_class->registered->dataType->refCount++;
-CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0);
+if(exp->__anon1.op.exp2->destType)
+FreeType(exp->__anon1.op.exp2->destType);
+exp->__anon1.op.exp2->destType = type1->__anon1._class->__anon1.registered->dataType;
+if(type1->__anon1._class->__anon1.registered->dataType)
+type1->__anon1._class->__anon1.registered->dataType->refCount++;
+CheckExpressionType(exp->__anon1.op.exp2, exp->__anon1.op.exp2->destType, 0, 0);
exp->expType = type1;
if(type1)
type1->refCount++;
}
else if(type1)
{
-unsigned int valid = 0x0;
+unsigned int valid = 0;
-if(!boolResult && useSideUnit && type1 && type1->kind == 8 && type1->_class->registered && type1->_class->registered->type == 3 && type2 && type2->kind != 8)
+if(!boolResult && useSideUnit && type1 && type1->kind == 8 && type1->__anon1._class->__anon1.registered && type1->__anon1._class->__anon1.registered->type == 3 && type2 && type2->kind != 8)
{
-if(exp->op.exp2->destType)
-FreeType(exp->op.exp2->destType);
-if(!type1->_class->registered->dataType)
-type1->_class->registered->dataType = ProcessTypeString(type1->_class->registered->dataTypeString, 0x0);
-exp->op.exp2->destType = type1->_class->registered->dataType;
-exp->op.exp2->destType->refCount++;
-CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0);
+if(exp->__anon1.op.exp2->destType)
+FreeType(exp->__anon1.op.exp2->destType);
+if(!type1->__anon1._class->__anon1.registered->dataType)
+type1->__anon1._class->__anon1.registered->dataType = ProcessTypeString(type1->__anon1._class->__anon1.registered->dataTypeString, 0);
+exp->__anon1.op.exp2->destType = type1->__anon1._class->__anon1.registered->dataType;
+exp->__anon1.op.exp2->destType->refCount++;
+CheckExpressionType(exp->__anon1.op.exp2, exp->__anon1.op.exp2->destType, 0, 0);
if(type2)
FreeType(type2);
-type2 = exp->op.exp2->destType;
+type2 = exp->__anon1.op.exp2->destType;
if(type2)
type2->refCount++;
exp->expType = type2;
type2->refCount++;
}
-if(!boolResult && useSideUnit && type2 && type2->kind == 8 && type2->_class->registered && type2->_class->registered->type == 3 && type1 && type1->kind != 8)
+if(!boolResult && useSideUnit && type2 && type2->kind == 8 && type2->__anon1._class->__anon1.registered && type2->__anon1._class->__anon1.registered->type == 3 && type1 && type1->kind != 8)
{
-if(exp->op.exp1->destType)
-FreeType(exp->op.exp1->destType);
-if(!type2->_class->registered->dataType)
-type2->_class->registered->dataType = ProcessTypeString(type2->_class->registered->dataTypeString, 0x0);
-exp->op.exp1->destType = type2->_class->registered->dataType;
-exp->op.exp1->destType->refCount++;
-CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0);
-type1 = exp->op.exp1->destType;
+if(exp->__anon1.op.exp1->destType)
+FreeType(exp->__anon1.op.exp1->destType);
+if(!type2->__anon1._class->__anon1.registered->dataType)
+type2->__anon1._class->__anon1.registered->dataType = ProcessTypeString(type2->__anon1._class->__anon1.registered->dataTypeString, 0);
+exp->__anon1.op.exp1->destType = type2->__anon1._class->__anon1.registered->dataType;
+exp->__anon1.op.exp1->destType->refCount++;
+CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp1->destType, 0, 0);
+type1 = exp->__anon1.op.exp1->destType;
exp->expType = type1;
type1->refCount++;
}
-if(!boolResult || exp->op.op == '>' || exp->op.op == '<' || exp->op.op == GE_OP || exp->op.op == LE_OP)
+if(!boolResult || exp->__anon1.op.op == '>' || exp->__anon1.op.op == '<' || exp->__anon1.op.op == GE_OP || exp->__anon1.op.op == LE_OP)
{
-unsigned int op1IsEnum = type1 && type1->kind == 8 && type1->_class && type1->_class->registered && type1->_class->registered->type == 4;
-unsigned int op2IsEnum = type2 && type2->kind == 8 && type2->_class && type2->_class->registered && type2->_class->registered->type == 4;
+unsigned int op1IsEnum = type1 && type1->kind == 8 && type1->__anon1._class && type1->__anon1._class->__anon1.registered && type1->__anon1._class->__anon1.registered->type == 4;
+unsigned int op2IsEnum = type2 && type2->kind == 8 && type2->__anon1._class && type2->__anon1._class->__anon1.registered && type2->__anon1._class->__anon1.registered->type == 4;
-if(exp->op.op == '*' || exp->op.op == '/' || exp->op.op == '-' || exp->op.op == '|' || exp->op.op == '^')
+if(exp->__anon1.op.op == '*' || exp->__anon1.op.op == '/' || exp->__anon1.op.op == '-' || exp->__anon1.op.op == '|' || exp->__anon1.op.op == '^')
{
-if(op1IsEnum && exp->op.exp2->expType)
+if(op1IsEnum && exp->__anon1.op.exp2->expType)
{
-if(CheckExpressionType(exp->op.exp1, exp->op.exp2->expType, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp2->expType, 0, 0))
{
if(exp->expType)
FreeType(exp->expType);
-exp->expType = exp->op.exp2->expType;
-if(exp->op.exp2->expType)
-exp->op.exp2->expType->refCount++;
-valid = 0x1;
+exp->expType = exp->__anon1.op.exp2->expType;
+if(exp->__anon1.op.exp2->expType)
+exp->__anon1.op.exp2->expType->refCount++;
+valid = 1;
}
}
-else if(op2IsEnum && exp->op.exp1->expType)
+else if(op2IsEnum && exp->__anon1.op.exp1->expType)
{
-if(CheckExpressionType(exp->op.exp2, exp->op.exp1->expType, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp2, exp->__anon1.op.exp1->expType, 0, 0))
{
if(exp->expType)
FreeType(exp->expType);
-exp->expType = exp->op.exp1->expType;
-if(exp->op.exp1->expType)
-exp->op.exp1->expType->refCount++;
-valid = 0x1;
+exp->expType = exp->__anon1.op.exp1->expType;
+if(exp->__anon1.op.exp1->expType)
+exp->__anon1.op.exp1->expType->refCount++;
+valid = 1;
}
}
}
else
{
-if(op1IsEnum && exp->op.exp2->expType)
+if(op1IsEnum && exp->__anon1.op.exp2->expType)
{
-if(CheckExpressionType(exp->op.exp1, exp->op.exp2->expType, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp2->expType, 0, 0))
{
if(exp->expType)
FreeType(exp->expType);
-exp->expType = exp->op.exp1->expType;
-if(exp->op.exp1->expType)
-exp->op.exp1->expType->refCount++;
-valid = 0x1;
+exp->expType = exp->__anon1.op.exp1->expType;
+if(exp->__anon1.op.exp1->expType)
+exp->__anon1.op.exp1->expType->refCount++;
+valid = 1;
}
}
-else if(op2IsEnum && exp->op.exp1->expType)
+else if(op2IsEnum && exp->__anon1.op.exp1->expType)
{
-if(CheckExpressionType(exp->op.exp2, exp->op.exp1->expType, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp2, exp->__anon1.op.exp1->expType, 0, 0))
{
if(exp->expType)
FreeType(exp->expType);
-exp->expType = exp->op.exp2->expType;
-if(exp->op.exp2->expType)
-exp->op.exp2->expType->refCount++;
-valid = 0x1;
+exp->expType = exp->__anon1.op.exp2->expType;
+if(exp->__anon1.op.exp2->expType)
+exp->__anon1.op.exp2->expType->refCount++;
+valid = 1;
}
}
}
}
if(!valid)
{
-if(type2 && type2->kind == 8 && type2->_class && type2->_class->registered && type2->_class->registered->type == 3 && (type1->kind != 8 || !type1->_class || !type1->_class->registered || type1->_class->registered->type != 3))
+if(type2 && type2->kind == 8 && type2->__anon1._class && type2->__anon1._class->__anon1.registered && type2->__anon1._class->__anon1.registered->type == 3 && (type1->kind != 8 || !type1->__anon1._class || !type1->__anon1._class->__anon1.registered || type1->__anon1._class->__anon1.registered->type != 3))
{
-if(exp->op.exp1->destType)
-FreeType(exp->op.exp1->destType);
-exp->op.exp1->destType = type2;
+if(exp->__anon1.op.exp1->destType)
+FreeType(exp->__anon1.op.exp1->destType);
+exp->__anon1.op.exp1->destType = type2;
type2->refCount++;
-if(CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp1->destType, 0, 0))
{
if(exp->expType)
FreeType(exp->expType);
-exp->expType = exp->op.exp1->destType;
-if(exp->op.exp1->destType)
-exp->op.exp1->destType->refCount++;
+exp->expType = exp->__anon1.op.exp1->destType;
+if(exp->__anon1.op.exp1->destType)
+exp->__anon1.op.exp1->destType->refCount++;
}
}
else
{
-if(exp->op.exp2->destType)
-FreeType(exp->op.exp2->destType);
-exp->op.exp2->destType = type1;
+if(exp->__anon1.op.exp2->destType)
+FreeType(exp->__anon1.op.exp2->destType);
+exp->__anon1.op.exp2->destType = type1;
type1->refCount++;
-if(CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp2, exp->__anon1.op.exp2->destType, 0, 0))
{
if(exp->expType)
FreeType(exp->expType);
-exp->expType = exp->op.exp2->destType;
-if(exp->op.exp2->destType)
-exp->op.exp2->destType->refCount++;
+exp->expType = exp->__anon1.op.exp2->destType;
+if(exp->__anon1.op.exp2->destType)
+exp->__anon1.op.exp2->destType->refCount++;
}
else if(type1 && type2)
{
type2String[0] = '\0';
if(inCompiler)
{
-PrintExpression(exp->op.exp1, expString1);
+PrintExpression(exp->__anon1.op.exp1, expString1);
__ecereNameSpace__ecere__sys__ChangeCh(expString1, '\n', ' ');
-PrintExpression(exp->op.exp2, expString2);
+PrintExpression(exp->__anon1.op.exp2, expString2);
__ecereNameSpace__ecere__sys__ChangeCh(expString2, '\n', ' ');
-PrintType(exp->op.exp1->expType, type1String, 0x0, 0x1);
-PrintType(exp->op.exp2->expType, type2String, 0x0, 0x1);
+PrintType(exp->__anon1.op.exp1->expType, type1String, 0, 1);
+PrintType(exp->__anon1.op.exp2->expType, type2String, 0, 1);
}
Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "incompatible expressions %s (%s) and %s (%s)\n", (((void *)0))), expString1, type1String, expString2, type2String);
-if(type1->kind == 8 && type1->_class && type1->_class->registered && type1->_class->registered->type == 4)
+if(type1->kind == 8 && type1->__anon1._class && type1->__anon1._class->__anon1.registered && type1->__anon1._class->__anon1.registered->type == 4)
{
-exp->expType = exp->op.exp1->expType;
-if(exp->op.exp1->expType)
-exp->op.exp1->expType->refCount++;
+exp->expType = exp->__anon1.op.exp1->expType;
+if(exp->__anon1.op.exp1->expType)
+exp->__anon1.op.exp1->expType->refCount++;
}
-else if(type2->kind == 8 && type2->_class && type2->_class->registered && type2->_class->registered->type == 4)
+else if(type2->kind == 8 && type2->__anon1._class && type2->__anon1._class->__anon1.registered && type2->__anon1._class->__anon1.registered->type == 4)
{
-exp->expType = exp->op.exp2->expType;
-if(exp->op.exp2->expType)
-exp->op.exp2->expType->refCount++;
+exp->expType = exp->__anon1.op.exp2->expType;
+if(exp->__anon1.op.exp2->expType)
+exp->__anon1.op.exp2->expType->refCount++;
}
}
}
}
else if(type2)
{
-if(type2->kind == 8 && type2->_class && type2->_class->registered && type2->_class->registered->type == 4)
+if(type2->kind == 8 && type2->__anon1._class && type2->__anon1._class->__anon1.registered && type2->__anon1._class->__anon1.registered->type == 4)
{
-struct Type * oldType = exp->op.exp1->expType;
+struct Type * oldType = exp->__anon1.op.exp1->expType;
-exp->op.exp1->expType = (((void *)0));
-if(CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0))
+exp->__anon1.op.exp1->expType = (((void *)0));
+if(CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp1->destType, 0, 0))
FreeType(oldType);
else
-exp->op.exp1->expType = oldType;
+exp->__anon1.op.exp1->expType = oldType;
}
-if(exp->op.exp1->destType)
-FreeType(exp->op.exp1->destType);
-exp->op.exp1->destType = type2;
+if(exp->__anon1.op.exp1->destType)
+FreeType(exp->__anon1.op.exp1->destType);
+exp->__anon1.op.exp1->destType = type2;
type2->refCount++;
-if(CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp1->destType, 0, 0))
{
if(exp->expType)
FreeType(exp->expType);
-exp->expType = exp->op.exp1->destType;
-if(exp->op.exp1->destType)
-exp->op.exp1->destType->refCount++;
+exp->expType = exp->__anon1.op.exp1->destType;
+if(exp->__anon1.op.exp1->destType)
+exp->__anon1.op.exp1->destType->refCount++;
}
}
}
else if(type2 && (!type1 || (type2->kind == 8 && type1->kind != 8)))
{
-if(type1 && type2->_class && type2->_class->registered && type2->_class->registered->type == 3)
+if(type1 && type2->__anon1._class && type2->__anon1._class->__anon1.registered && type2->__anon1._class->__anon1.registered->type == 3)
{
-if(exp->op.exp1->destType)
-FreeType(exp->op.exp1->destType);
-exp->op.exp1->destType = type2->_class->registered->dataType;
-if(type2->_class->registered->dataType)
-type2->_class->registered->dataType->refCount++;
-CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0);
+if(exp->__anon1.op.exp1->destType)
+FreeType(exp->__anon1.op.exp1->destType);
+exp->__anon1.op.exp1->destType = type2->__anon1._class->__anon1.registered->dataType;
+if(type2->__anon1._class->__anon1.registered->dataType)
+type2->__anon1._class->__anon1.registered->dataType->refCount++;
+CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp1->destType, 0, 0);
}
-if(exp->op.op == '!')
+if(exp->__anon1.op.op == '!')
{
exp->expType = MkClassType("bool");
-exp->expType->truth = 0x1;
+exp->expType->truth = 1;
}
else
{
}
else if(type1 && (!type2 || (type1->kind == 8 && type2->kind != 8)))
{
-if(type2 && type1->_class && type1->_class->registered && type1->_class->registered->type == 3)
+if(type2 && type1->__anon1._class && type1->__anon1._class->__anon1.registered && type1->__anon1._class->__anon1.registered->type == 3)
{
-if(exp->op.exp2->destType)
-FreeType(exp->op.exp2->destType);
-exp->op.exp2->destType = type1->_class->registered->dataType;
-if(type1->_class->registered->dataType)
-type1->_class->registered->dataType->refCount++;
-CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0);
+if(exp->__anon1.op.exp2->destType)
+FreeType(exp->__anon1.op.exp2->destType);
+exp->__anon1.op.exp2->destType = type1->__anon1._class->__anon1.registered->dataType;
+if(type1->__anon1._class->__anon1.registered->dataType)
+type1->__anon1._class->__anon1.registered->dataType->refCount++;
+CheckExpressionType(exp->__anon1.op.exp2, exp->__anon1.op.exp2->destType, 0, 0);
}
exp->expType = type1;
if(type1)
}
}
yylloc = exp->loc;
-if(exp->op.exp1 && !exp->op.exp1->expType)
+if(exp->__anon1.op.exp1 && !exp->__anon1.op.exp1->expType)
{
char expString[10000];
expString[0] = '\0';
if(inCompiler)
{
-PrintExpression(exp->op.exp1, expString);
+PrintExpression(exp->__anon1.op.exp1, expString);
__ecereNameSpace__ecere__sys__ChangeCh(expString, '\n', ' ');
}
if(expString[0])
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "couldn't determine type of %s\n", (((void *)0))), expString);
}
-if(exp->op.exp2 && !exp->op.exp2->expType)
+if(exp->__anon1.op.exp2 && !exp->__anon1.op.exp2->expType)
{
char expString[10240];
expString[0] = '\0';
if(inCompiler)
{
-PrintExpression(exp->op.exp2, expString);
+PrintExpression(exp->__anon1.op.exp2, expString);
__ecereNameSpace__ecere__sys__ChangeCh(expString, '\n', ' ');
}
if(expString[0])
{
FreeType(exp->expType);
exp->expType = MkClassType("bool");
-exp->expType->truth = 0x1;
+exp->expType->truth = 1;
}
-if(exp->op.op != SIZEOF)
-exp->isConstant = (!exp->op.exp1 || exp->op.exp1->isConstant) && (!exp->op.exp2 || exp->op.exp2->isConstant);
-if(exp->op.op == SIZEOF && exp->op.exp2->expType)
+if(exp->__anon1.op.op != SIZEOF)
+exp->isConstant = (!exp->__anon1.op.exp1 || exp->__anon1.op.exp1->isConstant) && (!exp->__anon1.op.exp2 || exp->__anon1.op.exp2->isConstant);
+if(exp->__anon1.op.op == SIZEOF && exp->__anon1.op.exp2->expType)
{
-DeclareType(exp->op.exp2->expType, 0x0, 0x0);
+DeclareType(exp->__anon1.op.exp2->expType, 0, 0);
}
+if(exp->__anon1.op.op == DELETE && exp->__anon1.op.exp2 && exp->__anon1.op.exp2->expType && __ecereProp_Type_Get_specConst(exp->__anon1.op.exp2->expType))
+Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "deleting const qualified object\n", (((void *)0))));
yylloc = oldyylloc;
FreeType(dummy);
if(type2)
{
struct Expression * e;
-exp->isConstant = 0x1;
-for(e = (*exp->list).first; e; e = e->next)
+exp->isConstant = 1;
+for(e = (*exp->__anon1.list).first; e; e = e->next)
{
-unsigned int inced = 0x0;
+unsigned int inced = 0;
if(!e->next)
{
{
exp->destType->refCount++;
e->destType->count++;
-inced = 0x1;
+inced = 1;
}
}
ProcessExpressionType(e);
e->expType->refCount++;
}
if(!e->isConstant)
-exp->isConstant = 0x0;
+exp->isConstant = 0;
}
-e = (*exp->list).first;
+e = (*exp->__anon1.list).first;
if(!e->next && e->type == 8)
{
struct Expression * next = exp->next, * prev = exp->prev;
FreeType(exp->expType);
FreeType(exp->destType);
-(__ecereNameSpace__ecere__com__eSystem_Delete(exp->list), exp->list = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete(exp->__anon1.list), exp->__anon1.list = 0);
*exp = *e;
exp->prev = prev;
exp->next = next;
-((e ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor(e) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(e)) : 0), e = 0);
+((e ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor((void *)e) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(e)) : 0), e = 0);
ProcessExpressionType(exp);
}
break;
{
struct Expression * e;
-exp->isConstant = 0x1;
-ProcessExpressionType(exp->index.exp);
-if(!exp->index.exp->isConstant)
-exp->isConstant = 0x0;
-if(exp->index.exp->expType)
+exp->isConstant = 1;
+ProcessExpressionType(exp->__anon1.index.exp);
+if(!exp->__anon1.index.exp->isConstant)
+exp->isConstant = 0;
+if(exp->__anon1.index.exp->expType)
{
-struct Type * source = exp->index.exp->expType;
+struct Type * source = exp->__anon1.index.exp->expType;
-if(source->kind == 8 && source->_class && source->_class->registered)
+if(source->kind == 8 && source->__anon1._class && source->__anon1._class->__anon1.registered)
{
-struct __ecereNameSpace__ecere__com__Class * _class = source->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = source->__anon1._class->__anon1.registered;
struct __ecereNameSpace__ecere__com__Class * c = _class->templateClass ? _class->templateClass : _class;
if(_class != containerClass && __ecereNameSpace__ecere__com__eClass_IsDerived(c, containerClass) && _class->templateArgs)
{
-exp->expType = ProcessTypeString(_class->templateArgs[2].dataTypeString, 0x0);
-if(exp->index.index && (*exp->index.index).last)
+exp->expType = ProcessTypeString(_class->templateArgs[2].__anon1.__anon1.dataTypeString, 0);
+if(exp->__anon1.index.index && (*exp->__anon1.index.index).last)
+{
+struct Type * type = ProcessTypeString(_class->templateArgs[1].__anon1.__anon1.dataTypeString, 0);
+
+if(type->kind == 8)
+type->constant = 1;
+else if(type->kind == 13)
{
-((struct Expression *)(*exp->index.index).last)->destType = ProcessTypeString(_class->templateArgs[1].dataTypeString, 0x0);
+struct Type * t = type;
+
+while(t->kind == 13)
+t = t->__anon1.type;
+t->constant = 1;
+}
+((struct Expression *)(*exp->__anon1.index.index).last)->destType = type;
}
}
}
}
-for(e = (*exp->index.index).first; e; e = e->next)
+for(e = (*exp->__anon1.index.index).first; e; e = e->next)
{
-if(!e->next && exp->index.exp->expType && exp->index.exp->expType->kind == 12 && exp->index.exp->expType->enumClass)
+if(!e->next && exp->__anon1.index.exp->expType && exp->__anon1.index.exp->expType->kind == 12 && exp->__anon1.index.exp->expType->__anon1.__anon4.enumClass)
{
if(e->destType)
FreeType(e->destType);
-e->destType = MkClassType(exp->index.exp->expType->enumClass->string);
+e->destType = MkClassType(exp->__anon1.index.exp->expType->__anon1.__anon4.enumClass->string);
}
ProcessExpressionType(e);
if(!e->next)
{
}
if(!e->isConstant)
-exp->isConstant = 0x0;
+exp->isConstant = 0;
}
if(!exp->expType)
-exp->expType = Dereference(exp->index.exp->expType);
+exp->expType = Dereference(exp->__anon1.index.exp->expType);
if(exp->expType)
-DeclareType(exp->expType, 0x0, 0x0);
+DeclareType(exp->expType, 0, 0);
break;
}
case 7:
name[0] = '\0';
if(inCompiler)
{
-PrintExpression(exp->call.exp, name);
-if(exp->call.exp->expType && !exp->call.exp->expType->returnType)
+PrintExpression(exp->__anon1.call.exp, name);
+if(exp->__anon1.call.exp->expType && !exp->__anon1.call.exp->expType->__anon1.__anon2.returnType)
{
-PrintExpression(exp->call.exp, name);
+PrintExpression(exp->__anon1.call.exp, name);
}
}
-if(exp->call.exp->type == 0)
+if(exp->__anon1.call.exp->type == 0)
{
-struct Expression * idExp = exp->call.exp;
-struct Identifier * id = idExp->identifier;
+struct Expression * idExp = exp->__anon1.call.exp;
+struct Identifier * id = idExp->__anon1.__anon1.identifier;
if(!strcmp(id->string, "__builtin_frame_address"))
{
-exp->expType = ProcessTypeString("void *", 0x1);
-if(exp->call.arguments && (*exp->call.arguments).first)
-ProcessExpressionType((*exp->call.arguments).first);
+exp->expType = ProcessTypeString("void *", 1);
+if(exp->__anon1.call.arguments && (*exp->__anon1.call.arguments).first)
+ProcessExpressionType((*exp->__anon1.call.arguments).first);
break;
}
else if(!strcmp(id->string, "__ENDIAN_PAD"))
{
-exp->expType = ProcessTypeString("int", 0x1);
-if(exp->call.arguments && (*exp->call.arguments).first)
-ProcessExpressionType((*exp->call.arguments).first);
+exp->expType = ProcessTypeString("int", 1);
+if(exp->__anon1.call.arguments && (*exp->__anon1.call.arguments).first)
+ProcessExpressionType((*exp->__anon1.call.arguments).first);
break;
}
else if(!strcmp(id->string, "Max") || !strcmp(id->string, "Min") || !strcmp(id->string, "Sgn") || !strcmp(id->string, "Abs"))
struct Expression * b = (((void *)0));
struct Expression * tempExp1 = (((void *)0)), * tempExp2 = (((void *)0));
-if((!strcmp(id->string, "Max") || !strcmp(id->string, "Min")) && (*exp->call.arguments).count == 2)
+if((!strcmp(id->string, "Max") || !strcmp(id->string, "Min")) && (*exp->__anon1.call.arguments).count == 2)
{
-a = (*exp->call.arguments).first;
-b = (*exp->call.arguments).last;
+a = (*exp->__anon1.call.arguments).first;
+b = (*exp->__anon1.call.arguments).last;
tempExp1 = a;
tempExp2 = b;
}
-else if((*exp->call.arguments).count == 1)
+else if((*exp->__anon1.call.arguments).count == 1)
{
-a = (*exp->call.arguments).first;
+a = (*exp->__anon1.call.arguments).first;
tempExp1 = a;
}
if(a)
{
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear((&*exp->call.arguments));
-idExp->identifier = (((void *)0));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear((&*exp->__anon1.call.arguments));
+idExp->__anon1.__anon1.identifier = (((void *)0));
FreeExpContents(exp);
ProcessExpressionType(a);
if(b)
ProcessExpressionType(b);
exp->type = 5;
-exp->list = MkList();
+exp->__anon1.list = MkList();
if(a->expType && (!b || b->expType))
{
if((!a->isConstant && a->type != 0) || (b && !b->isConstant && b->type != 0))
tempExp1->expType = a->expType;
if(a->expType)
a->expType->refCount++;
-ListAdd(exp->list, MkExpOp(CopyExpression(tempExp1), '=', a));
+ListAdd(exp->__anon1.list, MkExpOp(CopyExpression(tempExp1), '=', a));
}
if(b && !b->isConstant && b->type != 0)
{
tempExp2->expType = b->expType;
if(b->expType)
b->expType->refCount++;
-ListAdd(exp->list, MkExpOp(CopyExpression(tempExp2), '=', b));
+ListAdd(exp->__anon1.list, MkExpOp(CopyExpression(tempExp2), '=', b));
}
decl = MkDeclaration(specs, decls);
-if(!curCompound->compound.declarations)
-curCompound->compound.declarations = MkList();
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*curCompound->compound.declarations), (((void *)0)), decl);
+if(!curCompound->__anon1.compound.declarations)
+curCompound->__anon1.compound.declarations = MkList();
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*curCompound->__anon1.compound.declarations), (((void *)0)), decl);
}
}
}
{
int op = (!strcmp(id->string, "Max")) ? '>' : '<';
-ListAdd(exp->list, MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(CopyExpression(tempExp1), op, CopyExpression(tempExp2)))), MkListOne(CopyExpression(tempExp1)), CopyExpression(tempExp2)));
+ListAdd(exp->__anon1.list, MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(CopyExpression(tempExp1), op, CopyExpression(tempExp2)))), MkListOne(CopyExpression(tempExp1)), CopyExpression(tempExp2)));
exp->expType = a->expType;
if(a->expType)
a->expType->refCount++;
}
else if(!strcmp(id->string, "Abs"))
{
-ListAdd(exp->list, MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(CopyExpression(tempExp1), '<', MkExpConstant("0")))), MkListOne(MkExpOp((((void *)0)), '-', CopyExpression(tempExp1))), CopyExpression(tempExp1)));
+ListAdd(exp->__anon1.list, MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(CopyExpression(tempExp1), '<', MkExpConstant("0")))), MkListOne(MkExpOp((((void *)0)), '-', CopyExpression(tempExp1))), CopyExpression(tempExp1)));
exp->expType = a->expType;
if(a->expType)
a->expType->refCount++;
}
else if(!strcmp(id->string, "Sgn"))
{
-ListAdd(exp->list, MkExpCondition(MkExpBrackets(MkListOne(MkExpOp((((void *)0)), '!', CopyExpression(tempExp1)))), MkListOne(MkExpConstant("0")), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(CopyExpression(tempExp1), '<', MkExpConstant("0")))), MkListOne(MkExpConstant("-1")), MkExpConstant("1"))))));
-exp->expType = ProcessTypeString("int", 0x0);
+ListAdd(exp->__anon1.list, MkExpCondition(MkExpBrackets(MkListOne(MkExpOp((((void *)0)), '!', CopyExpression(tempExp1)))), MkListOne(MkExpConstant("0")), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(CopyExpression(tempExp1), '<', MkExpConstant("0")))), MkListOne(MkExpConstant("-1")), MkExpConstant("1"))))));
+exp->expType = ProcessTypeString("int", 0);
}
FreeExpression(tempExp1);
if(tempExp2)
{
struct Type * dummy = (dummy = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type), dummy->count = 1, dummy->refCount = 1, dummy);
-if(!exp->call.exp->destType)
+if(!exp->__anon1.call.exp->destType)
{
-exp->call.exp->destType = dummy;
+exp->__anon1.call.exp->destType = dummy;
dummy->refCount++;
}
-ProcessExpressionType(exp->call.exp);
-if(exp->call.exp->destType == dummy)
+ProcessExpressionType(exp->__anon1.call.exp);
+if(exp->__anon1.call.exp->destType == dummy)
{
FreeType(dummy);
-exp->call.exp->destType = (((void *)0));
+exp->__anon1.call.exp->destType = (((void *)0));
}
FreeType(dummy);
}
-functionType = exp->call.exp->expType;
+functionType = exp->__anon1.call.exp->expType;
if(functionType && functionType->kind == 16)
{
methodType = functionType;
-functionType = methodType->method->dataType;
-if(exp->call.exp->expType->usedClass)
+functionType = methodType->__anon1.__anon3.method->dataType;
+if(exp->__anon1.call.exp->expType->__anon1.__anon3.usedClass)
{
char typeString[1024];
typeString[0] = '\0';
{
-struct Symbol * back = functionType->thisClass;
+struct Symbol * back = functionType->__anon1.__anon2.thisClass;
-functionType->thisClass = (((void *)0));
-PrintType(functionType, typeString, 0x1, 0x1);
-functionType->thisClass = back;
+functionType->__anon1.__anon2.thisClass = (((void *)0));
+PrintType(functionType, typeString, 1, 1);
+functionType->__anon1.__anon2.thisClass = back;
}
if(strstr(typeString, "thisclass"))
{
struct Declarator * decl;
{
-struct Context * context = SetupTemplatesContext(exp->call.exp->expType->usedClass);
+struct Context * context = SetupTemplatesContext(exp->__anon1.call.exp->expType->__anon1.__anon3.usedClass);
decl = SpecDeclFromString(typeString, specs, (((void *)0)));
-if(thisClass != (exp->call.exp->expType->usedClass->templateClass ? exp->call.exp->expType->usedClass->templateClass : exp->call.exp->expType->usedClass))
-thisClassParams = 0x0;
-ReplaceThisClassSpecifiers(specs, exp->call.exp->expType->usedClass);
+if(thisClass != (exp->__anon1.call.exp->expType->__anon1.__anon3.usedClass->templateClass ? exp->__anon1.call.exp->expType->__anon1.__anon3.usedClass->templateClass : exp->__anon1.call.exp->expType->__anon1.__anon3.usedClass))
+thisClassParams = 0;
+ReplaceThisClassSpecifiers(specs, exp->__anon1.call.exp->expType->__anon1.__anon3.usedClass);
{
struct __ecereNameSpace__ecere__com__Class * backupThisClass = thisClass;
-thisClass = exp->call.exp->expType->usedClass;
+thisClass = exp->__anon1.call.exp->expType->__anon1.__anon3.usedClass;
ProcessDeclarator(decl);
thisClass = backupThisClass;
}
-thisClassParams = 0x1;
+thisClassParams = 1;
functionType = ProcessType(specs, decl);
functionType->refCount = 0;
FinishTemplatesContext(context);
}
}
}
-if(functionType && functionType->kind == 13 && functionType->type && functionType->type->kind == 11)
+if(functionType && functionType->kind == 13 && functionType->__anon1.type && functionType->__anon1.type->kind == 11)
{
-struct Type * type = functionType->type;
+struct Type * type = functionType->__anon1.type;
if(!functionType->refCount)
{
-functionType->type = (((void *)0));
+functionType->__anon1.type = (((void *)0));
FreeType(functionType);
}
functionType = type;
}
else if(functionType)
{
-unsigned int emptyParams = 0x0, noParams = 0x0;
-struct Expression * e = exp->call.arguments ? (*exp->call.arguments).first : (((void *)0));
-struct Type * type = functionType->params.first;
-struct Expression * memberExp = (exp->call.exp->type == 8) ? exp->call.exp : (((void *)0));
+unsigned int emptyParams = 0, noParams = 0;
+struct Expression * e = exp->__anon1.call.arguments ? (*exp->__anon1.call.arguments).first : (((void *)0));
+struct Type * type = functionType->__anon1.__anon2.params.first;
+struct Expression * memberExp = (exp->__anon1.call.exp->type == 8) ? exp->__anon1.call.exp : (((void *)0));
int extra = 0;
struct Location oldyylloc = yylloc;
if(!type)
-emptyParams = 0x1;
-if(functionType->extraParam && e && functionType->thisClass)
+emptyParams = 1;
+if(functionType->extraParam && e && functionType->__anon1.__anon2.thisClass)
{
-e->destType = MkClassType(functionType->thisClass->string);
+e->destType = MkClassType(functionType->__anon1.__anon2.thisClass->string);
e = e->next;
}
-if(!functionType->staticMethod && !functionType->extraParam)
+if(!functionType->__anon1.__anon2.staticMethod && !functionType->extraParam)
{
-if(memberExp && memberExp->member.exp && memberExp->member.exp->expType && memberExp->member.exp->expType->kind == 19 && memberExp->member.exp->expType->_class)
+if(memberExp && memberExp->__anon1.member.exp && memberExp->__anon1.member.exp->expType && memberExp->__anon1.member.exp->expType->kind == 19 && memberExp->__anon1.member.exp->expType->__anon1._class)
{
-type = MkClassType(memberExp->member.exp->expType->_class->string);
+type = MkClassType(memberExp->__anon1.member.exp->expType->__anon1._class->string);
if(e)
{
e->destType = type;
e = e->next;
-type = functionType->params.first;
+type = functionType->__anon1.__anon2.params.first;
}
else
type->refCount = 0;
}
-else if(!memberExp && (functionType->thisClass || (methodType && methodType->methodClass)))
+else if(!memberExp && (functionType->__anon1.__anon2.thisClass || (methodType && methodType->__anon1.__anon3.methodClass)))
{
-type = MkClassType(functionType->thisClass ? functionType->thisClass->string : (methodType ? methodType->methodClass->fullName : (((void *)0))));
+type = MkClassType(functionType->__anon1.__anon2.thisClass ? functionType->__anon1.__anon2.thisClass->string : (methodType ? methodType->__anon1.__anon3.methodClass->fullName : (((void *)0))));
type->byReference = functionType->byReference;
type->typedByReference = functionType->typedByReference;
if(e)
{
-if(e->next && type->kind == 8 && (functionType && functionType->thisClass) && functionType->classObjectType == 2)
+if(e->next && type->kind == 8 && (functionType && functionType->__anon1.__anon2.thisClass) && functionType->classObjectType == 2)
e = e->next;
e->destType = type;
e = e->next;
-type = functionType->params.first;
+type = functionType->__anon1.__anon2.params.first;
}
else
type->refCount = 0;
}
if(type && type->kind == 0)
{
-noParams = 0x1;
+noParams = 1;
if(!type->refCount)
FreeType(type);
type = (((void *)0));
if(!type && !emptyParams)
{
yylloc = e->loc;
-if(methodType && methodType->methodClass)
-Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "too many arguments for method %s::%s (%d given, expected %d)\n", (((void *)0))), methodType->methodClass->fullName, methodType->method->name, (*exp->call.arguments).count, noParams ? 0 : functionType->params.count);
+if(methodType && methodType->__anon1.__anon3.methodClass)
+Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "too many arguments for method %s::%s (%d given, expected %d)\n", (((void *)0))), methodType->__anon1.__anon3.methodClass->fullName, methodType->__anon1.__anon3.method->name, (*exp->__anon1.call.arguments).count, noParams ? 0 : functionType->__anon1.__anon2.params.count);
else
-Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "too many arguments for function %s (%d given, expected %d)\n", (((void *)0))), name, (*exp->call.arguments).count, noParams ? 0 : functionType->params.count);
+Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "too many arguments for function %s (%d given, expected %d)\n", (((void *)0))), name, (*exp->__anon1.call.arguments).count, noParams ? 0 : functionType->__anon1.__anon2.params.count);
break;
}
-if(methodType && type && type->kind == 20 && type->templateParameter->type == 0)
+if(methodType && type && type->kind == 20 && type->__anon1.templateParameter->type == 0)
{
struct Type * templatedType = (((void *)0));
-struct __ecereNameSpace__ecere__com__Class * _class = methodType->usedClass;
+struct __ecereNameSpace__ecere__com__Class * _class = methodType->__anon1.__anon3.usedClass;
struct __ecereNameSpace__ecere__com__ClassTemplateParameter * curParam = (((void *)0));
int id = 0;
id = 0;
for(curParam = sClass->templateParams.first; curParam; curParam = curParam->next)
{
-if(curParam->type == 0 && !strcmp(type->templateParameter->identifier->string, curParam->name))
+if(curParam->type == 0 && !strcmp(type->__anon1.templateParameter->identifier->string, curParam->name))
{
struct __ecereNameSpace__ecere__com__Class * nextClass;
break;
}
}
-if(curParam && _class->templateArgs[id].dataTypeString)
+if(curParam && _class->templateArgs[id].__anon1.__anon1.dataTypeString)
{
+unsigned int constant = type->constant;
struct __ecereNameSpace__ecere__com__ClassTemplateArgument arg = _class->templateArgs[id];
{
struct Context * context = SetupTemplatesContext(_class);
-templatedType = ProcessTypeString(arg.dataTypeString, 0x0);
+templatedType = ProcessTypeString(arg.__anon1.__anon1.dataTypeString, 0);
FinishTemplatesContext(context);
}
+if(templatedType->kind == 8 && constant)
+templatedType->constant = 1;
+else if(templatedType->kind == 13)
+{
+struct Type * t = templatedType->__anon1.type;
+
+while(t->kind == 13)
+t = t->__anon1.type;
+if(constant)
+t->constant = constant;
+}
e->destType = templatedType;
if(templatedType)
{
-templatedType->passAsTemplate = 0x1;
+templatedType->passAsTemplate = 1;
}
}
else
}
if(type && type->kind != 14)
{
-if(methodType && methodType->methodClass)
-Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "not enough arguments for method %s::%s (%d given, expected %d)\n", (((void *)0))), methodType->methodClass->fullName, methodType->method->name, exp->call.arguments ? (*exp->call.arguments).count : 0, functionType->params.count + extra);
+if(methodType && methodType->__anon1.__anon3.methodClass)
+Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "not enough arguments for method %s::%s (%d given, expected %d)\n", (((void *)0))), methodType->__anon1.__anon3.methodClass->fullName, methodType->__anon1.__anon3.method->name, exp->__anon1.call.arguments ? (*exp->__anon1.call.arguments).count : 0, functionType->__anon1.__anon2.params.count + extra);
else
-Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "not enough arguments for function %s (%d given, expected %d)\n", (((void *)0))), name, exp->call.arguments ? (*exp->call.arguments).count : 0, functionType->params.count + extra);
+Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "not enough arguments for function %s (%d given, expected %d)\n", (((void *)0))), name, exp->__anon1.call.arguments ? (*exp->__anon1.call.arguments).count : 0, functionType->__anon1.__anon2.params.count + extra);
}
yylloc = oldyylloc;
if(type && !type->refCount)
__ecereInstance1->refCount = 0, __ecereInstance1->kind = 11, __ecereInstance1;
});
-if(exp->call.exp->type == 0)
+if(exp->__anon1.call.exp->type == 0)
{
-char * string = exp->call.exp->identifier->string;
+char * string = exp->__anon1.call.exp->__anon1.__anon1.identifier->string;
if(inCompiler)
{
struct Symbol * symbol;
struct Location oldyylloc = yylloc;
-yylloc = exp->call.exp->identifier->loc;
+yylloc = exp->__anon1.call.exp->__anon1.__anon1.identifier->loc;
if(strstr(string, "__builtin_") == string)
{
if(exp->destType)
{
-functionType->returnType = exp->destType;
+functionType->__anon1.__anon2.returnType = exp->destType;
exp->destType->refCount++;
}
}
symbol = __extension__ ({
struct Symbol * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol);
-__ecereInstance1->string = __ecereNameSpace__ecere__sys__CopyString(string), __ecereInstance1->type = ProcessTypeString("int()", 0x1), __ecereInstance1;
+__ecereInstance1->string = __ecereNameSpace__ecere__sys__CopyString(string), __ecereInstance1->type = ProcessTypeString("int()", 1), __ecereInstance1;
});
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&globalContext->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)symbol);
if(strstr(symbol->string, "::"))
-globalContext->hasNameSpace = 0x1;
+globalContext->hasNameSpace = 1;
yylloc = oldyylloc;
}
}
-else if(exp->call.exp->type == 8)
+else if(exp->__anon1.call.exp->type == 8)
{
}
else
Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "callable object undefined; extern assuming returning int\n", (((void *)0))));
-if(!functionType->returnType)
+if(!functionType->__anon1.__anon2.returnType)
{
-functionType->returnType = __extension__ ({
+functionType->__anon1.__anon2.returnType = __extension__ ({
struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
__ecereInstance1->refCount = 1, __ecereInstance1->kind = 3, __ecereInstance1;
}
if(functionType && functionType->kind == 11)
{
-exp->expType = functionType->returnType;
-if(functionType->returnType)
-functionType->returnType->refCount++;
+exp->expType = functionType->__anon1.__anon2.returnType;
+if(functionType->__anon1.__anon2.returnType)
+functionType->__anon1.__anon2.returnType->refCount++;
if(!functionType->refCount)
FreeType(functionType);
}
-if(exp->call.arguments)
+if(exp->__anon1.call.arguments)
{
-for(e = (*exp->call.arguments).first; e; e = e->next)
-{
-struct Type * destType = e->destType;
-
+for(e = (*exp->__anon1.call.arguments).first; e; e = e->next)
ProcessExpressionType(e);
}
-}
break;
}
case 8:
struct Type * type;
struct Location oldyylloc = yylloc;
unsigned int thisPtr;
-struct Expression * checkExp = exp->member.exp;
+struct Expression * checkExp = exp->__anon1.member.exp;
while(checkExp)
{
if(checkExp->type == 11)
-checkExp = checkExp->cast.exp;
+checkExp = checkExp->__anon1.cast.exp;
else if(checkExp->type == 5)
-checkExp = checkExp->list ? (*checkExp->list).first : (((void *)0));
+checkExp = checkExp->__anon1.list ? (*checkExp->__anon1.list).first : (((void *)0));
else
break;
}
-thisPtr = (checkExp && checkExp->type == 0 && !strcmp(checkExp->identifier->string, "this"));
+thisPtr = (checkExp && checkExp->type == 0 && !strcmp(checkExp->__anon1.__anon1.identifier->string, "this"));
exp->thisPtr = thisPtr;
-if(exp->member.member && exp->member.member->_class && exp->member.member->_class->name)
+if(exp->__anon1.member.member && exp->__anon1.member.member->_class && exp->__anon1.member.member->_class->__anon1.__anon1.name)
{
-exp->member.member->classSym = exp->member.member->_class->symbol;
+exp->__anon1.member.member->classSym = exp->__anon1.member.member->_class->__anon1.__anon1.symbol;
}
-ProcessExpressionType(exp->member.exp);
-if(exp->member.exp->expType && exp->member.exp->expType->kind == 8 && exp->member.exp->expType->_class && exp->member.exp->expType->_class->registered && exp->member.exp->expType->_class->registered->type == 0)
+ProcessExpressionType(exp->__anon1.member.exp);
+if(exp->__anon1.member.exp->expType && exp->__anon1.member.exp->expType->kind == 8 && exp->__anon1.member.exp->expType->__anon1._class && exp->__anon1.member.exp->expType->__anon1._class->__anon1.registered && exp->__anon1.member.exp->expType->__anon1._class->__anon1.registered->type == 0)
{
-exp->isConstant = 0x0;
+exp->isConstant = 0;
}
else
-exp->isConstant = exp->member.exp->isConstant;
-type = exp->member.exp->expType;
+exp->isConstant = exp->__anon1.member.exp->isConstant;
+type = exp->__anon1.member.exp->expType;
yylloc = exp->loc;
if(type && (type->kind == 20))
{
{
for(param = _class->templateParams.first; param; param = param->next)
{
-if(param->type == 1 && exp->member.member && exp->member.member->string && !strcmp(param->name, exp->member.member->string))
+if(param->type == 1 && exp->__anon1.member.member && exp->__anon1.member.member->string && !strcmp(param->name, exp->__anon1.member.member->string))
break;
}
}
-if(param && param->defaultArg.member)
+if(param && param->defaultArg.__anon1.__anon2.__anon1.member)
{
struct Expression * argExp = GetTemplateArgExpByName(param->name, thisClass, 1);
if(argExp)
{
-struct Expression * expMember = exp->member.exp;
+struct Expression * expMember = exp->__anon1.member.exp;
struct Declarator * decl;
struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
char thisClassTypeString[1024];
-FreeIdentifier(exp->member.member);
+FreeIdentifier(exp->__anon1.member.member);
ProcessExpressionType(argExp);
{
-char * colon = strstr(param->defaultArg.memberString, "::");
+char * colon = strstr(param->defaultArg.__anon1.__anon2.memberString, "::");
if(colon)
{
-char className[1024];
-struct __ecereNameSpace__ecere__com__Class * sClass;
-
-memcpy(thisClassTypeString, param->defaultArg.memberString, colon - param->defaultArg.memberString);
-thisClassTypeString[colon - param->defaultArg.memberString] = '\0';
+memcpy(thisClassTypeString, param->defaultArg.__anon1.__anon2.memberString, colon - param->defaultArg.__anon1.__anon2.memberString);
+thisClassTypeString[colon - param->defaultArg.__anon1.__anon2.memberString] = '\0';
}
else
strcpy(thisClassTypeString, _class->fullName);
}
-decl = SpecDeclFromString(param->defaultArg.member->dataTypeString, specs, (((void *)0)));
+decl = SpecDeclFromString(param->defaultArg.__anon1.__anon2.__anon1.member->dataTypeString, specs, (((void *)0)));
exp->expType = ProcessType(specs, decl);
-if(exp->expType->kind == 8 && exp->expType->_class && exp->expType->_class->registered && exp->expType->_class->registered->templateClass)
+if(exp->expType->kind == 8 && exp->expType->__anon1._class && exp->expType->__anon1._class->__anon1.registered && exp->expType->__anon1._class->__anon1.registered->templateClass)
{
-struct __ecereNameSpace__ecere__com__Class * expClass = exp->expType->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * expClass = exp->expType->__anon1._class->__anon1.registered;
struct __ecereNameSpace__ecere__com__Class * cClass = (((void *)0));
-int c;
int paramCount = 0;
int lastParam = -1;
char templateString[1024];
p += nextClass->templateParams.count;
for(cParam = sClass->templateParams.first; cParam; cParam = cParam->next, p++)
{
-if(cParam->type == 0 && arg.dataTypeString && !strcmp(cParam->name, arg.dataTypeString))
+if(cParam->type == 0 && arg.__anon1.__anon1.dataTypeString && !strcmp(cParam->name, arg.__anon1.__anon1.dataTypeString))
{
-if(_class->templateArgs && arg.dataTypeString && (!param->defaultArg.dataTypeString || strcmp(arg.dataTypeString, param->defaultArg.dataTypeString)))
+if(_class->templateArgs && arg.__anon1.__anon1.dataTypeString && (!param->defaultArg.__anon1.__anon1.dataTypeString || strcmp(arg.__anon1.__anon1.dataTypeString, param->defaultArg.__anon1.__anon1.dataTypeString)))
{
-arg.dataTypeString = _class->templateArgs[p].dataTypeString;
-arg.dataTypeClass = _class->templateArgs[p].dataTypeClass;
+arg.__anon1.__anon1.dataTypeString = _class->templateArgs[p].__anon1.__anon1.dataTypeString;
+arg.__anon1.__anon1.dataTypeClass = _class->templateArgs[p].__anon1.__anon1.dataTypeClass;
break;
}
}
{
char expString[1024];
struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
-struct Declarator * decl = SpecDeclFromString(param->dataTypeString, specs, (((void *)0)));
+struct Declarator * decl = SpecDeclFromString(param->__anon1.dataTypeString, specs, (((void *)0)));
struct Expression * exp;
-char * string = PrintHexUInt64(arg.expression.ui64);
+char * string = PrintHexUInt64(arg.__anon1.expression.__anon1.ui64);
exp = MkExpCast(MkTypeName(specs, decl), MkExpConstant(string));
(__ecereNameSpace__ecere__com__eSystem_Delete(string), string = 0);
}
case 1:
{
-strcat(argument, arg.member->name);
+strcat(argument, arg.__anon1.__anon2.__anon1.member->name);
break;
}
case 0:
{
-if(arg.dataTypeString && (!param->defaultArg.dataTypeString || strcmp(arg.dataTypeString, param->defaultArg.dataTypeString)))
+if(arg.__anon1.__anon1.dataTypeString && (!param->defaultArg.__anon1.__anon1.dataTypeString || strcmp(arg.__anon1.__anon1.dataTypeString, param->defaultArg.__anon1.__anon1.dataTypeString)))
{
-if(!strcmp(arg.dataTypeString, "thisclass"))
+if(!strcmp(arg.__anon1.__anon1.dataTypeString, "thisclass"))
strcat(argument, thisClassTypeString);
else
-strcat(argument, arg.dataTypeString);
+strcat(argument, arg.__anon1.__anon1.dataTypeString);
}
break;
}
struct Context * context = SetupTemplatesContext(_class);
FreeType(exp->expType);
-exp->expType = ProcessTypeString(templateString, 0x0);
+exp->expType = ProcessTypeString(templateString, 0);
FinishTemplatesContext(context);
}
}
exp->type = 5;
-exp->list = MkListOne(MkExpOp((((void *)0)), '*', MkExpCast(MkTypeName(specs, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), decl)), MkExpBrackets(MkListOne(MkExpOp(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("byte")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), expMember))), '+', MkExpOp(MkExpMember(MkExpMember(argExp, MkIdentifier("member")), MkIdentifier("offset")), '+', MkExpMember(MkExpMember(MkExpMember(CopyExpression(argExp), MkIdentifier("member")), MkIdentifier("_class")), MkIdentifier("offset")))))))));
+exp->__anon1.list = MkListOne(MkExpOp((((void *)0)), '*', MkExpCast(MkTypeName(specs, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), decl)), MkExpBrackets(MkListOne(MkExpOp(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("byte")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), expMember))), '+', MkExpOp(MkExpMember(MkExpMember(argExp, MkIdentifier("member")), MkIdentifier("offset")), '+', MkExpMember(MkExpMember(MkExpMember(CopyExpression(argExp), MkIdentifier("member")), MkIdentifier("_class")), MkIdentifier("offset")))))))));
}
}
-else if(type->templateParameter && type->templateParameter->type == 0 && (type->templateParameter->dataType || type->templateParameter->dataTypeString))
+else if(type->__anon1.templateParameter && type->__anon1.templateParameter->type == 0 && (type->__anon1.templateParameter->__anon1.dataType || type->__anon1.templateParameter->dataTypeString))
{
-type = ProcessTemplateParameterType(type->templateParameter);
+type = ProcessTemplateParameterType(type->__anon1.templateParameter);
}
}
if(type && (type->kind == 20))
;
-else if(type && (type->kind == 8 || type->kind == 19 || type->kind == 3 || type->kind == 15 || type->kind == 4 || type->kind == 2 || type->kind == 5 || type->kind == 1 || type->kind == 24 || type->kind == 22 || type->kind == 23 || type->kind == 6 || type->kind == 7 || (type->kind == 13 && type->type->kind == 1)))
+else if(type && (type->kind == 8 || type->kind == 19 || type->kind == 3 || type->kind == 15 || type->kind == 4 || type->kind == 2 || type->kind == 5 || type->kind == 1 || type->kind == 24 || type->kind == 22 || type->kind == 23 || type->kind == 6 || type->kind == 7 || (type->kind == 13 && type->__anon1.type->kind == 1)))
{
-struct Identifier * id = exp->member.member;
+struct Identifier * id = exp->__anon1.member.member;
int typeKind = type->kind;
-struct __ecereNameSpace__ecere__com__Class * _class = (id && (!id->_class || id->_class->name)) ? (id->classSym ? id->classSym->registered : (type->_class ? type->_class->registered : (((void *)0)))) : (((void *)0));
+struct __ecereNameSpace__ecere__com__Class * _class = (id && (!id->_class || id->_class->__anon1.__anon1.name)) ? (id->classSym ? id->classSym->__anon1.registered : (type->__anon1._class ? type->__anon1._class->__anon1.registered : (((void *)0)))) : (((void *)0));
-if(typeKind == 19 && exp->member.exp->type == 24)
+if(typeKind == 19 && exp->__anon1.member.exp->type == 24)
{
_class = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "ecere::com::Class");
typeKind = 8;
_class = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "int");
else if(!_class)
{
-if(type->kind == 8 && type->_class && type->_class->registered)
+if(type->kind == 8 && type->__anon1._class && type->__anon1._class->__anon1.registered)
{
-_class = type->_class->registered;
+_class = type->__anon1._class->__anon1.registered;
}
-else if((type->kind == 12 || type->kind == 13) && type->type && type->type->kind == 1)
+else if((type->kind == 12 || type->kind == 13) && type->__anon1.type && type->__anon1.type->kind == 1)
{
-_class = FindClass("char *")->registered;
+_class = FindClass("char *")->__anon1.registered;
}
else if(type->kind == 13)
{
_class = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "uintptr");
FreeType(exp->expType);
-exp->expType = ProcessTypeString("uintptr", 0x0);
-exp->byReference = 0x1;
+exp->expType = ProcessTypeString("uintptr", 0);
+exp->byReference = 1;
}
else
{
char string[1024] = "";
struct Symbol * classSym;
-PrintTypeNoConst(type, string, 0x0, 0x1);
+PrintTypeNoConst(type, string, 0, 1);
classSym = FindClass(string);
if(classSym)
-_class = classSym->registered;
+_class = classSym->__anon1.registered;
}
}
}
struct __ecereNameSpace__ecere__com__Property * revConvert = (((void *)0));
struct __ecereNameSpace__ecere__com__ClassProperty * classProp = (((void *)0));
-if(id && id->_class && id->_class->name && !strcmp(id->_class->name, "property"))
-exp->member.memberType = 1;
-if(id && id->_class && type->_class && !__ecereNameSpace__ecere__com__eClass_IsDerived(type->_class->registered, _class))
-Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "invalid class specifier %s for object of class %s\n", (((void *)0))), _class->fullName, type->_class->string);
+if(id && id->_class && id->_class->__anon1.__anon1.name && !strcmp(id->_class->__anon1.__anon1.name, "property"))
+exp->__anon1.member.memberType = 1;
+if(id && id->_class && type->__anon1._class && !__ecereNameSpace__ecere__com__eClass_IsDerived(type->__anon1._class->__anon1.registered, _class))
+Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "invalid class specifier %s for object of class %s\n", (((void *)0))), _class->fullName, type->__anon1._class->string);
if(typeKind != 19)
{
-if((exp->member.memberType == 0 && thisPtr) || exp->member.memberType == 3)
+if((exp->__anon1.member.memberType == 0 && thisPtr) || exp->__anon1.member.memberType == 3)
{
member = __ecereNameSpace__ecere__com__eClass_FindDataMember(_class, id->string, privateModule, (((void *)0)), (((void *)0)));
-if(member && member->_class != (_class->templateClass ? _class->templateClass : _class) && exp->member.memberType != 3)
+if(member && member->_class != (_class->templateClass ? _class->templateClass : _class) && exp->__anon1.member.memberType != 3)
{
prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, id->string, privateModule);
if(prop)
if(!member && !prop)
prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, id->string, privateModule);
if((member && member->_class == (_class->templateClass ? _class->templateClass : _class)) || (prop && prop->_class == (_class->templateClass ? _class->templateClass : _class)))
-exp->member.thisPtr = 0x1;
+exp->__anon1.member.thisPtr = 1;
}
else
{
+unsigned int useMemberForNonConst = 0;
+
if(!id->classSym)
{
prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, id->string, (((void *)0)));
-if(!id->_class || !id->_class->name || strcmp(id->_class->name, "property"))
+useMemberForNonConst = prop && exp->destType && ((exp->destType->kind == 8 && !exp->destType->constant) || ((exp->destType->kind == 13 || exp->destType->kind == 12) && exp->destType->__anon1.type && !exp->destType->__anon1.type->constant)) && !strncmp(prop->dataTypeString, "const ", 6);
+if(useMemberForNonConst || !id->_class || !id->_class->__anon1.__anon1.name || strcmp(id->_class->__anon1.__anon1.name, "property"))
member = __ecereNameSpace__ecere__com__eClass_FindDataMember(_class, id->string, (((void *)0)), (((void *)0)), (((void *)0)));
}
-if(!prop && !member)
+if((!prop || useMemberForNonConst) && !member)
{
-method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, id->string, (((void *)0)));
+method = useMemberForNonConst ? (((void *)0)) : __ecereNameSpace__ecere__com__eClass_FindMethod(_class, id->string, (((void *)0)));
if(!method)
{
prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, id->string, privateModule);
-if(!id->_class || !id->_class->name || strcmp(id->_class->name, "property"))
+useMemberForNonConst |= prop && exp->destType && ((exp->destType->kind == 8 && !exp->destType->constant) || ((exp->destType->kind == 13 || exp->destType->kind == 12) && exp->destType->__anon1.type && !exp->destType->__anon1.type->constant)) && !strncmp(prop->dataTypeString, "const ", 6);
+if(useMemberForNonConst || !id->_class || !id->_class->__anon1.__anon1.name || strcmp(id->_class->__anon1.__anon1.name, "property"))
member = __ecereNameSpace__ecere__com__eClass_FindDataMember(_class, id->string, privateModule, (((void *)0)), (((void *)0)));
}
}
if(member && prop)
{
-if(member->_class != prop->_class && !id->_class && __ecereNameSpace__ecere__com__eClass_IsDerived(member->_class, prop->_class))
+if(useMemberForNonConst || (member->_class != prop->_class && !id->_class && __ecereNameSpace__ecere__com__eClass_IsDerived(member->_class, prop->_class)))
prop = (((void *)0));
else
member = (((void *)0));
{
if(typeKind == 19)
{
-classProp = __ecereNameSpace__ecere__com__eClass_FindClassProperty(type->_class->registered, exp->member.member->string);
+classProp = __ecereNameSpace__ecere__com__eClass_FindClassProperty(type->__anon1._class->__anon1.registered, exp->__anon1.member.member->string);
if(classProp)
{
-exp->member.memberType = 5;
-exp->expType = ProcessTypeString(classProp->dataTypeString, 0x0);
+exp->__anon1.member.memberType = 5;
+exp->expType = ProcessTypeString(classProp->dataTypeString, 0);
}
else
{
char structName[1024];
-struct Identifier * id = exp->member.member;
-struct Expression * classExp = exp->member.exp;
+struct Identifier * id = exp->__anon1.member.member;
+struct Expression * classExp = exp->__anon1.member.exp;
type->refCount++;
FreeType(classExp->expType);
-classExp->expType = ProcessTypeString("ecere::com::Class", 0x0);
+classExp->expType = ProcessTypeString("ecere::com::Class", 0);
strcpy(structName, "__ecereClassData_");
-FullClassNameCat(structName, type->_class->string, 0x0);
+FullClassNameCat(structName, type->__anon1._class->string, 0);
exp->type = 9;
-exp->member.member = id;
-exp->member.exp = MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkStructOrUnion(3, MkIdentifier(structName), (((void *)0)))), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpBrackets(MkListOne(MkExpOp(MkExpCast(MkTypeName(MkListOne(MkSpecifier(CHAR)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpMember(classExp, MkIdentifier("data"))), '+', MkExpMember(MkExpClass(MkListOne(MkSpecifierName(type->_class->string)), (((void *)0))), MkIdentifier("offsetClass"))))))));
+exp->__anon1.member.member = id;
+exp->__anon1.member.exp = MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkStructOrUnion(3, MkIdentifier(structName), (((void *)0)))), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpBrackets(MkListOne(MkExpOp(MkExpCast(MkTypeName(MkListOne(MkSpecifier(CHAR)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpMember(classExp, MkIdentifier("data"))), '+', MkExpMember(MkExpClass(MkListOne(MkSpecifierName(type->__anon1._class->string)), (((void *)0))), MkIdentifier("offsetClass"))))))));
FreeType(type);
ProcessExpressionType(exp);
return ;
if(classSym)
{
-struct __ecereNameSpace__ecere__com__Class * convertClass = classSym->registered;
+struct __ecereNameSpace__ecere__com__Class * convertClass = classSym->__anon1.registered;
if(convertClass)
revConvert = __ecereNameSpace__ecere__com__eClass_FindProperty(convertClass, _class->fullName, privateModule);
}
}
}
+if(exp->__anon1.member.exp->destType)
+FreeType(exp->__anon1.member.exp->destType);
+{
+if(method && !method->_class->symbol)
+method->_class->symbol = FindClass(method->_class->fullName);
+if(prop && !prop->_class->symbol)
+prop->_class->symbol = FindClass(prop->_class->fullName);
+exp->__anon1.member.exp->destType = __extension__ ({
+struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
+
+__ecereInstance1->refCount = 1, __ecereInstance1->kind = 8, __ecereInstance1->__anon1._class = prop ? prop->_class->symbol : method ? method->_class->symbol : _class->symbol, __ecereInstance1;
+});
+}
if(prop)
{
-exp->member.memberType = 1;
+exp->__anon1.member.memberType = 1;
if(!prop->dataType)
ProcessPropertyType(prop);
exp->expType = prop->dataType;
-if(prop->dataType)
+if(!strcmp(_class->base->fullName, "eda::Row") && !exp->expType->constant && !exp->destType)
+{
+struct Type * type = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
+
+CopyTypeInto(type, exp->expType);
+type->refCount = 1;
+type->constant = 1;
+exp->expType = type;
+}
+else if(prop->dataType)
prop->dataType->refCount++;
}
else if(member)
{
-if(exp->member.exp->expType->classObjectType == 2 && !strcmp(exp->member.member->string, "_class"))
+if(exp->__anon1.member.exp->expType->classObjectType == 2 && !strcmp(exp->__anon1.member.member->string, "_class"))
{
FreeExpContents(exp);
exp->type = 0;
-exp->identifier = MkIdentifier("class");
+exp->__anon1.__anon1.identifier = MkIdentifier("class");
ProcessExpressionType(exp);
return ;
}
-exp->member.memberType = 3;
-DeclareStruct(_class->fullName, 0x0);
+exp->__anon1.member.memberType = 3;
+DeclareStruct(_class->fullName, 0);
if(!member->dataType)
{
struct Context * context = SetupTemplatesContext(_class);
-member->dataType = ProcessTypeString(member->dataTypeString, 0x0);
+member->dataType = ProcessTypeString(member->dataTypeString, 0);
FinishTemplatesContext(context);
}
exp->expType = member->dataType;
}
else if(revConvert)
{
-exp->member.memberType = 4;
+exp->__anon1.member.memberType = 4;
exp->expType = MkClassType(revConvert->_class->fullName);
}
else if(method)
{
{
-exp->member.memberType = 2;
+exp->__anon1.member.memberType = 2;
}
if(!method->dataType)
ProcessMethodType(method);
exp->expType = __extension__ ({
struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
-__ecereInstance1->refCount = 1, __ecereInstance1->kind = 16, __ecereInstance1->method = method, __ecereInstance1;
+__ecereInstance1->refCount = 1, __ecereInstance1->kind = 16, __ecereInstance1->__anon1.__anon3.method = method, __ecereInstance1;
});
-exp->expType->methodClass = (id && id->_class) ? _class : (((void *)0));
-exp->expType->usedClass = _class;
+exp->expType->__anon1.__anon3.methodClass = (id && id->_class) ? _class : (((void *)0));
+exp->expType->__anon1.__anon3.usedClass = _class;
}
else if(!classProp)
{
-if(exp->member.exp->expType->classObjectType == 2 && !strcmp(exp->member.member->string, "_class"))
+if(exp->__anon1.member.exp->expType->classObjectType == 2 && !strcmp(exp->__anon1.member.member->string, "_class"))
{
FreeExpContents(exp);
exp->type = 0;
-exp->identifier = MkIdentifier("class");
+exp->__anon1.__anon1.identifier = MkIdentifier("class");
FreeType(exp->expType);
exp->expType = MkClassType("ecere::com::Class");
return ;
}
-yylloc = exp->member.member->loc;
+yylloc = exp->__anon1.member.member->loc;
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "couldn't find member %s in class %s\n", (((void *)0))), id->string, _class->fullName);
if(inCompiler)
__ecereNameSpace__ecere__com__eClass_AddDataMember(_class, id->string, "int", 0, 0, 1);
{
struct __ecereNameSpace__ecere__com__Class * tClass;
-tClass = _class;
+tClass = type->__anon1._class && type->__anon1._class->__anon1.registered ? type->__anon1._class->__anon1.registered : _class;
while(tClass && !tClass->templateClass)
tClass = tClass->base;
-if(tClass && exp->expType->kind == 20 && exp->expType->templateParameter->type == 0)
+if(tClass && exp->expType->kind == 20 && exp->expType->__anon1.templateParameter->type == 0)
{
int id = 0;
struct __ecereNameSpace__ecere__com__ClassTemplateParameter * curParam = (((void *)0));
sClass = sClass->templateClass;
for(curParam = sClass->templateParams.first; curParam; curParam = curParam->next)
{
-if(curParam->type == 0 && !strcmp(exp->expType->templateParameter->identifier->string, curParam->name))
+if(curParam->type == 0 && !strcmp(exp->expType->__anon1.templateParameter->identifier->string, curParam->name))
{
for(sClass = sClass->base; sClass; sClass = sClass->base)
id += sClass->templateParams.count;
if(curParam)
break;
}
-if(curParam && tClass->templateArgs[id].dataTypeString)
+if(curParam && tClass->templateArgs[id].__anon1.__anon1.dataTypeString)
{
struct __ecereNameSpace__ecere__com__ClassTemplateArgument arg = tClass->templateArgs[id];
struct Context * context = SetupTemplatesContext(tClass);
+unsigned int constant = exp->expType->constant;
FreeType(exp->expType);
-exp->expType = ProcessTypeString(arg.dataTypeString, 0x0);
+exp->expType = ProcessTypeString(arg.__anon1.__anon1.dataTypeString, 0);
+if(exp->expType->kind == 8 && constant)
+exp->expType->constant = 1;
+else if(exp->expType->kind == 13)
+{
+struct Type * t = exp->expType->__anon1.type;
+
+while(t->kind == 13)
+t = t->__anon1.type;
+if(constant)
+t->constant = constant;
+}
if(exp->expType)
{
if(exp->expType->kind == 21)
FreeType(exp->expType);
exp->expType = ReplaceThisClassType(_class);
}
-if(tClass->templateClass)
-exp->expType->passAsTemplate = 0x1;
+if(tClass->templateClass && (exp->expType->kind != 20 || (!exp->expType->__anon1.templateParameter || (!exp->expType->__anon1.templateParameter->dataTypeString && !exp->expType->__anon1.templateParameter->__anon1.dataType))))
+exp->expType->passAsTemplate = 1;
if(!exp->destType)
{
-exp->destType = ProcessTypeString(arg.dataTypeString, 0x0);
+exp->destType = ProcessTypeString(arg.__anon1.__anon1.dataTypeString, 0);
+if(exp->destType->kind == 8 && constant)
+exp->destType->constant = 1;
+else if(exp->destType->kind == 13)
+{
+struct Type * t = exp->destType->__anon1.type;
+
+while(t->kind == 13)
+t = t->__anon1.type;
+if(constant)
+t->constant = constant;
+}
if(exp->destType->kind == 21)
{
FreeType(exp->destType);
FinishTemplatesContext(context);
}
}
-else if(tClass && exp->expType->kind == 13 && exp->expType->type && exp->expType->type->kind == 20 && exp->expType->type->templateParameter->type == 0)
+else if(tClass && exp->expType->kind == 13 && exp->expType->__anon1.type && exp->expType->__anon1.type->kind == 20 && exp->expType->__anon1.type->__anon1.templateParameter->type == 0)
{
int id = 0;
struct __ecereNameSpace__ecere__com__ClassTemplateParameter * curParam = (((void *)0));
sClass = sClass->templateClass;
for(curParam = sClass->templateParams.first; curParam; curParam = curParam->next)
{
-if(curParam->type == 0 && !strcmp(exp->expType->type->templateParameter->identifier->string, curParam->name))
+if(curParam->type == 0 && !strcmp(exp->expType->__anon1.type->__anon1.templateParameter->identifier->string, curParam->name))
{
for(sClass = sClass->base; sClass; sClass = sClass->base)
id += sClass->templateParams.count;
struct Context * context = SetupTemplatesContext(tClass);
struct Type * basicType;
-basicType = ProcessTypeString(arg.dataTypeString, 0x0);
+basicType = ProcessTypeString(arg.__anon1.__anon1.dataTypeString, 0);
if(basicType)
{
if(basicType->kind == 21)
exp->expType = __extension__ ({
struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
-__ecereInstance1->refCount = 1, __ecereInstance1->kind = 13, __ecereInstance1->type = basicType, __ecereInstance1;
+__ecereInstance1->refCount = 1, __ecereInstance1->kind = 13, __ecereInstance1->__anon1.type = basicType, __ecereInstance1;
});
if(!exp->destType)
{
struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
struct Declarator * decl;
-decl = SpecDeclFromString(arg.dataTypeString, specs, (((void *)0)));
+decl = SpecDeclFromString(arg.__anon1.__anon1.dataTypeString, specs, (((void *)0)));
*newExp = *exp;
if(exp->destType)
exp->destType->refCount++;
if(exp->expType)
exp->expType->refCount++;
exp->type = 11;
-exp->cast.typeName = MkTypeName(specs, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), decl));
-exp->cast.exp = newExp;
+exp->__anon1.cast.typeName = MkTypeName(specs, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), decl));
+exp->__anon1.cast.exp = newExp;
}
}
FinishTemplatesContext(context);
}
}
-else if(tClass && exp->expType->kind == 8 && exp->expType->_class && strchr(exp->expType->_class->string, '<'))
+else if(tClass && exp->expType->kind == 8 && exp->expType->__anon1._class && strchr(exp->expType->__anon1._class->string, '<'))
{
-struct __ecereNameSpace__ecere__com__Class * expClass = exp->expType->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * expClass = exp->expType->__anon1._class->__anon1.registered;
if(expClass)
{
struct __ecereNameSpace__ecere__com__Class * cClass = (((void *)0));
-int c;
int p = 0;
int paramCount = 0;
int lastParam = -1;
for(param = cClass->templateParams.first; param; param = param->next)
{
struct __ecereNameSpace__ecere__com__Class * cClassCur = (((void *)0));
-int c;
int cp = 0;
struct __ecereNameSpace__ecere__com__ClassTemplateParameter * paramCur = (((void *)0));
struct __ecereNameSpace__ecere__com__ClassTemplateArgument arg;
{
char expString[1024];
struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
-struct Declarator * decl = SpecDeclFromString(param->dataTypeString, specs, (((void *)0)));
+struct Declarator * decl = SpecDeclFromString(param->__anon1.dataTypeString, specs, (((void *)0)));
struct Expression * exp;
-char * string = PrintHexUInt64(arg.expression.ui64);
+char * string = PrintHexUInt64(arg.__anon1.expression.__anon1.ui64);
exp = MkExpCast(MkTypeName(specs, decl), MkExpConstant(string));
(__ecereNameSpace__ecere__com__eSystem_Delete(string), string = 0);
}
case 1:
{
-strcat(argument, arg.member->name);
+strcat(argument, arg.__anon1.__anon2.__anon1.member->name);
break;
}
case 0:
{
-if(arg.dataTypeString && (!param->defaultArg.dataTypeString || strcmp(arg.dataTypeString, param->defaultArg.dataTypeString)))
-strcat(argument, arg.dataTypeString);
+if(arg.__anon1.__anon1.dataTypeString && (!param->defaultArg.__anon1.__anon1.dataTypeString || strcmp(arg.__anon1.__anon1.dataTypeString, param->defaultArg.__anon1.__anon1.dataTypeString)))
+strcat(argument, arg.__anon1.__anon1.dataTypeString);
break;
}
}
{
struct Context * context = SetupTemplatesContext(tClass);
-exp->expType = ProcessTypeString(templateString, 0x0);
+exp->expType = ProcessTypeString(templateString, 0);
FinishTemplatesContext(context);
}
}
}
}
else
-Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "undefined class %s\n", (((void *)0))), (id && (!id->_class || id->_class->name)) ? (id->classSym ? id->classSym->string : (type->_class ? type->_class->string : (((void *)0)))) : "(null)");
+Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "undefined class %s\n", (((void *)0))), (id && (!id->_class || id->_class->__anon1.__anon1.name)) ? (id->classSym ? id->classSym->string : (type->__anon1._class ? type->__anon1._class->string : (((void *)0)))) : "(null)");
}
else if(type && (type->kind == 9 || type->kind == 10))
{
-struct Type * memberType = exp->member.member ? FindMember(type, exp->member.member->string) : (((void *)0));
+struct Type * memberType = exp->__anon1.member.member ? FindMember(type, exp->__anon1.member.member->string) : (((void *)0));
if(memberType)
{
{
if(type && (type->kind == 8 || type->kind == 19 || type->kind == 3 || type->kind == 15))
{
-struct Identifier * id = exp->member.member;
-struct __ecereNameSpace__ecere__com__Class * _class = (id && (!id->_class || id->_class->name)) ? (id->classSym ? id->classSym->registered : (type->_class ? type->_class->registered : (((void *)0)))) : (((void *)0));
+struct Identifier * id = exp->__anon1.member.member;
+struct __ecereNameSpace__ecere__com__Class * _class = (id && (!id->_class || id->_class->__anon1.__anon1.name)) ? (id->classSym ? id->classSym->__anon1.registered : (type->__anon1._class ? type->__anon1._class->__anon1.registered : (((void *)0)))) : (((void *)0));
if(_class)
{
{
struct Type * destType = exp->destType;
-if(exp->member.member && exp->member.member->_class && exp->member.member->_class->name)
+if(exp->__anon1.member.member && exp->__anon1.member.member->_class && exp->__anon1.member.member->_class->__anon1.__anon1.name)
{
-exp->member.member->classSym = exp->member.member->_class->symbol;
+exp->__anon1.member.member->classSym = exp->__anon1.member.member->_class->__anon1.__anon1.symbol;
}
-exp->member.exp = MkExpBrackets(MkListOne(MkExpOp((((void *)0)), '*', exp->member.exp)));
+exp->__anon1.member.exp = MkExpBrackets(MkListOne(MkExpOp((((void *)0)), '*', exp->__anon1.member.exp)));
exp->type = 8;
if(destType)
destType->count++;
}
case 15:
{
-struct Symbol * classSym = exp->_class->symbol;
+struct Symbol * classSym = exp->__anon1._class->__anon1.__anon1.symbol;
-if(classSym && classSym->registered)
+if(classSym && classSym->__anon1.registered)
{
-if(classSym->registered->type == 5)
+if(classSym->__anon1.registered->type == 5)
{
char name[1024];
name[0] = '\0';
-DeclareStruct(classSym->string, 0x0);
-FreeSpecifier(exp->_class);
+DeclareStruct(classSym->string, 0);
+FreeSpecifier(exp->__anon1._class);
exp->type = 10;
-FullClassNameCat(name, classSym->string, 0x0);
-exp->typeName = MkTypeName(MkListOne(MkStructOrUnion(3, MkIdentifier(name), (((void *)0)))), (((void *)0)));
+FullClassNameCat(name, classSym->string, 0);
+exp->__anon1.typeName = MkTypeName(MkListOne(MkStructOrUnion(3, MkIdentifier(name), (((void *)0)))), (((void *)0)));
}
else
{
-if(classSym->registered->fixed)
+if(classSym->__anon1.registered->fixed)
{
-FreeSpecifier(exp->_class);
-exp->constant = PrintUInt(classSym->registered->templateClass ? classSym->registered->templateClass->structSize : classSym->registered->structSize);
+FreeSpecifier(exp->__anon1._class);
+exp->__anon1.__anon1.constant = PrintUInt(classSym->__anon1.registered->templateClass ? classSym->__anon1.registered->templateClass->structSize : classSym->__anon1.registered->structSize);
exp->type = 2;
}
else
char className[1024];
strcpy(className, "__ecereClass_");
-FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
+FullClassNameCat(className, classSym->string, 1);
DeclareClass(classSym, className);
FreeExpContents(exp);
exp->type = 9;
-exp->member.exp = MkExpIdentifier(MkIdentifier(className));
-exp->member.member = MkIdentifier("structSize");
+exp->__anon1.member.exp = MkExpIdentifier(MkIdentifier(className));
+exp->__anon1.member.member = MkIdentifier("structSize");
}
}
}
exp->expType = __extension__ ({
struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
-__ecereInstance1->refCount = 1, __ecereInstance1->kind = 3, __ecereInstance1;
+__ecereInstance1->refCount = 1, __ecereInstance1->kind = 23, __ecereInstance1;
});
break;
}
case 10:
{
-struct Type * type = ProcessType(exp->typeName->qualifiers, exp->typeName->declarator);
+struct Type * type = ProcessType(exp->__anon1.typeName->qualifiers, exp->__anon1.typeName->declarator);
exp->expType = __extension__ ({
struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
-__ecereInstance1->refCount = 1, __ecereInstance1->kind = 3, __ecereInstance1;
+__ecereInstance1->refCount = 1, __ecereInstance1->kind = 23, __ecereInstance1;
});
-exp->isConstant = 0x1;
-DeclareType(type, 0x0, 0x0);
+exp->isConstant = 1;
+DeclareType(type, 0, 0);
FreeType(type);
break;
}
case 11:
{
-struct Type * type = ProcessType(exp->cast.typeName->qualifiers, exp->cast.typeName->declarator);
+struct Type * type = ProcessType(exp->__anon1.cast.typeName->qualifiers, exp->__anon1.cast.typeName->declarator);
type->count = 1;
-FreeType(exp->cast.exp->destType);
-exp->cast.exp->destType = type;
+FreeType(exp->__anon1.cast.exp->destType);
+exp->__anon1.cast.exp->destType = type;
type->refCount++;
-ProcessExpressionType(exp->cast.exp);
+type->casted = 1;
+ProcessExpressionType(exp->__anon1.cast.exp);
+type->casted = 0;
type->count = 0;
exp->expType = type;
-if(!exp->cast.exp->needCast && !NeedCast(exp->cast.exp->expType, type))
+if(!exp->__anon1.cast.exp->needCast && !NeedCast(exp->__anon1.cast.exp->expType, type))
{
void * prev = exp->prev, * next = exp->next;
-struct Type * expType = exp->cast.exp->destType;
-struct Expression * castExp = exp->cast.exp;
+struct Type * expType = exp->__anon1.cast.exp->destType;
+struct Expression * castExp = exp->__anon1.cast.exp;
struct Type * destType = exp->destType;
if(expType)
expType->refCount++;
FreeType(exp->expType);
-FreeTypeName(exp->cast.typeName);
+FreeTypeName(exp->__anon1.cast.typeName);
*exp = *castExp;
FreeType(exp->expType);
FreeType(exp->destType);
exp->expType = expType;
exp->destType = destType;
-((castExp ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor(castExp) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(castExp)) : 0), castExp = 0);
+((castExp ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor((void *)castExp) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(castExp)) : 0), castExp = 0);
exp->prev = prev;
exp->next = next;
}
else
{
-exp->isConstant = exp->cast.exp->isConstant;
+exp->isConstant = exp->__anon1.cast.exp->isConstant;
}
break;
}
case 33:
{
-struct Type * type = ProcessType(exp->initializer.typeName->qualifiers, exp->initializer.typeName->declarator);
+struct Type * type = ProcessType(exp->__anon1.initializer.typeName->qualifiers, exp->__anon1.initializer.typeName->declarator);
exp->expType = type;
break;
}
case 34:
{
-struct Type * type = ProcessType(exp->vaArg.typeName->qualifiers, exp->vaArg.typeName->declarator);
+struct Type * type = ProcessType(exp->__anon1.vaArg.typeName->qualifiers, exp->__anon1.vaArg.typeName->declarator);
-ProcessExpressionType(exp->vaArg.exp);
+ProcessExpressionType(exp->__anon1.vaArg.exp);
exp->expType = type;
break;
}
{
struct Expression * e;
-exp->isConstant = 0x1;
-FreeType(exp->cond.cond->destType);
-exp->cond.cond->destType = MkClassType("bool");
-exp->cond.cond->destType->truth = 0x1;
-ProcessExpressionType(exp->cond.cond);
-if(!exp->cond.cond->isConstant)
-exp->isConstant = 0x0;
-for(e = (*exp->cond.exp).first; e; e = e->next)
+exp->isConstant = 1;
+FreeType(exp->__anon1.cond.cond->destType);
+exp->__anon1.cond.cond->destType = MkClassType("bool");
+exp->__anon1.cond.cond->destType->truth = 1;
+ProcessExpressionType(exp->__anon1.cond.cond);
+if(!exp->__anon1.cond.cond->isConstant)
+exp->isConstant = 0;
+for(e = (*exp->__anon1.cond.exp).first; e; e = e->next)
{
if(!e->next)
{
e->expType->refCount++;
}
if(!e->isConstant)
-exp->isConstant = 0x0;
+exp->isConstant = 0;
}
-FreeType(exp->cond.elseExp->destType);
-exp->cond.elseExp->destType = exp->destType ? exp->destType : exp->expType;
-if(exp->cond.elseExp->destType)
-exp->cond.elseExp->destType->refCount++;
-ProcessExpressionType(exp->cond.elseExp);
-if(!exp->cond.elseExp->isConstant)
-exp->isConstant = 0x0;
+FreeType(exp->__anon1.cond.elseExp->destType);
+exp->__anon1.cond.elseExp->destType = exp->destType ? exp->destType : exp->expType;
+if(exp->__anon1.cond.elseExp->destType)
+exp->__anon1.cond.elseExp->destType->refCount++;
+ProcessExpressionType(exp->__anon1.cond.elseExp);
+if(!exp->__anon1.cond.elseExp->isConstant)
+exp->isConstant = 0;
break;
}
case 23:
{
-if(exp->compound && exp->compound->compound.statements && (*exp->compound->compound.statements).last)
+if(exp->__anon1.compound && exp->__anon1.compound->__anon1.compound.statements && (*exp->__anon1.compound->__anon1.compound.statements).last)
{
-struct Statement * last = (*exp->compound->compound.statements).last;
+struct Statement * last = (*exp->__anon1.compound->__anon1.compound.statements).last;
-if(last->type == 3 && last->expressions && (*last->expressions).last)
+if(last->type == 3 && last->__anon1.expressions && (*last->__anon1.expressions).last)
{
-((struct Expression *)(*last->expressions).last)->destType = exp->destType;
+((struct Expression *)(*last->__anon1.expressions).last)->destType = exp->destType;
if(exp->destType)
exp->destType->refCount++;
}
-ProcessStatement(exp->compound);
-exp->expType = (last->expressions && (*last->expressions).last) ? ((struct Expression *)(*last->expressions).last)->expType : (((void *)0));
+ProcessStatement(exp->__anon1.compound);
+exp->expType = (last->__anon1.expressions && (*last->__anon1.expressions).last) ? ((struct Expression *)(*last->__anon1.expressions).last)->expType : (((void *)0));
if(exp->expType)
exp->expType->refCount++;
}
}
case 24:
{
-struct Specifier * spec = (*exp->_classExp.specifiers).first;
+struct Specifier * spec = (*exp->__anon1._classExp.specifiers).first;
if(spec && spec->type == 1)
{
-exp->expType = MkClassType(spec->name);
+exp->expType = MkClassType(spec->__anon1.__anon1.name);
exp->expType->kind = 19;
-exp->byReference = 0x1;
+exp->byReference = 1;
}
else
{
exp->expType = MkClassType("ecere::com::Class");
-exp->byReference = 0x1;
+exp->byReference = 1;
}
break;
}
if(_class)
{
-struct Identifier * id = exp->classData.id;
+struct Identifier * id = exp->__anon1.classData.id;
char structName[1024];
struct Expression * classExp;
strcpy(structName, "__ecereClassData_");
-FullClassNameCat(structName, _class->fullName, 0x0);
+FullClassNameCat(structName, _class->fullName, 0);
exp->type = 9;
-exp->member.member = id;
-if(curCompound && FindSymbol("this", curContext, curCompound->compound.context, 0x0, 0x0))
+exp->__anon1.member.member = id;
+if(curCompound && FindSymbol("this", curContext, curCompound->__anon1.compound.context, 0, 0))
classExp = MkExpMember(MkExpIdentifier(MkIdentifier("this")), MkIdentifier("_class"));
else
classExp = MkExpIdentifier(MkIdentifier("class"));
-exp->member.exp = MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkStructOrUnion(3, MkIdentifier(structName), (((void *)0)))), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpBrackets(MkListOne(MkExpOp(MkExpCast(MkTypeName(MkListOne(MkSpecifier(CHAR)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpMember(classExp, MkIdentifier("data"))), '+', MkExpMember(MkExpClass(MkListOne(MkSpecifierName(_class->fullName)), (((void *)0))), MkIdentifier("offsetClass"))))))));
+exp->__anon1.member.exp = MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkStructOrUnion(3, MkIdentifier(structName), (((void *)0)))), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpBrackets(MkListOne(MkExpOp(MkExpCast(MkTypeName(MkListOne(MkSpecifier(CHAR)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpMember(classExp, MkIdentifier("data"))), '+', MkExpMember(MkExpClass(MkListOne(MkSpecifierName(_class->fullName)), (((void *)0))), MkIdentifier("offsetClass"))))))));
ProcessExpressionType(exp);
return ;
}
case 35:
{
struct Type * type = (((void *)0));
-char * typeString = (((void *)0));
+const char * typeString = (((void *)0));
char typeStringBuf[1024];
-if(exp->destType && exp->destType->kind == 8 && exp->destType->_class && exp->destType->_class->registered && exp->destType->_class->registered != containerClass && __ecereNameSpace__ecere__com__eClass_IsDerived(exp->destType->_class->registered, containerClass))
+if(exp->destType && exp->destType->kind == 8 && exp->destType->__anon1._class && exp->destType->__anon1._class->__anon1.registered && exp->destType->__anon1._class->__anon1.registered != containerClass && __ecereNameSpace__ecere__com__eClass_IsDerived(exp->destType->__anon1._class->__anon1.registered, containerClass))
{
-struct __ecereNameSpace__ecere__com__Class * templateClass = exp->destType->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * templateClass = exp->destType->__anon1._class->__anon1.registered;
-typeString = templateClass->templateArgs[2].dataTypeString;
+typeString = templateClass->templateArgs[2].__anon1.__anon1.dataTypeString;
}
-else if(exp->list)
+else if(exp->__anon1.list)
{
struct Expression * e;
-for(e = (*exp->list).first; e; e = e->next)
+for(e = (*exp->__anon1.list).first; e; e = e->next)
{
ProcessExpressionType(e);
if(e->expType)
}
else
{
-if(!MatchTypeExpression(e, type, (((void *)0)), 0x0))
+if(!MatchTypeExpression(e, type, (((void *)0)), 0, 1))
{
FreeType(type);
type = e->expType;
e->expType = (((void *)0));
-e = (*exp->list).first;
+e = (*exp->__anon1.list).first;
ProcessExpressionType(e);
if(e->expType)
{
-if(!MatchTypeExpression(e, type, (((void *)0)), 0x0))
+if(!MatchTypeExpression(e, type, (((void *)0)), 0, 1))
{
FreeType(e->expType);
e->expType = (((void *)0));
if(type)
{
typeStringBuf[0] = '\0';
-PrintTypeNoConst(type, typeStringBuf, 0x0, 0x1);
+PrintTypeNoConst(type, typeStringBuf, 0, 1);
typeString = typeStringBuf;
FreeType(type);
type = (((void *)0));
struct Declarator * decl = SpecDeclFromString(typeString, specs, (((void *)0)));
sprintf(templateString, "Container<%s>", typeString);
-if(exp->list)
+if(exp->__anon1.list)
{
struct Expression * e;
-type = ProcessTypeString(typeString, 0x0);
-while(e = (*exp->list).first)
+type = ProcessTypeString(typeString, 0);
+while((e = (*exp->__anon1.list).first))
{
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*exp->list), e);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*exp->__anon1.list), e);
e->destType = type;
type->refCount++;
ProcessExpressionType(e);
ListAdd(initializers, MkInitializerAssignment(e));
}
FreeType(type);
-(__ecereNameSpace__ecere__com__eSystem_Delete(exp->list), exp->list = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete(exp->__anon1.list), exp->__anon1.list = 0);
}
-DeclareStruct("ecere::com::BuiltInContainer", 0x0);
+DeclareStruct("ecere::com::BuiltInContainer", 0);
ListAdd(structInitializers, MkInitializerAssignment(MkExpMember(MkExpClass(MkListOne(MkSpecifierName("BuiltInContainer")), (((void *)0))), MkIdentifier("_vTbl"))));
-ProcessExpressionType(((struct Initializer *)(*structInitializers).last)->exp);
+ProcessExpressionType(((struct Initializer *)(*structInitializers).last)->__anon1.exp);
ListAdd(structInitializers, MkInitializerAssignment(MkExpClass(MkListOne(MkSpecifierName("BuiltInContainer")), (((void *)0)))));
-ProcessExpressionType(((struct Initializer *)(*structInitializers).last)->exp);
+ProcessExpressionType(((struct Initializer *)(*structInitializers).last)->__anon1.exp);
ListAdd(structInitializers, MkInitializerAssignment(MkExpConstant("0")));
-ProcessExpressionType(((struct Initializer *)(*structInitializers).last)->exp);
+ProcessExpressionType(((struct Initializer *)(*structInitializers).last)->__anon1.exp);
ListAdd(structInitializers, MkInitializerAssignment(MkExpExtensionInitializer(MkTypeName(specs, MkDeclaratorArray(decl, (((void *)0)))), MkInitializerList(initializers))));
-ProcessExpressionType(((struct Initializer *)(*structInitializers).last)->exp);
+ProcessExpressionType(((struct Initializer *)(*structInitializers).last)->__anon1.exp);
ListAdd(structInitializers, MkInitializerAssignment(__extension__ ({
struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
-__ecereInstance1->type = 2, __ecereInstance1->constant = __ecereNameSpace__ecere__com__PrintString(__ecereClass_int, &(*initializers).count, (void *)0), __ecereInstance1;
+__ecereInstance1->type = 2, __ecereInstance1->__anon1.__anon1.constant = __ecereNameSpace__ecere__com__PrintString(__ecereClass_int, &(*initializers).count, (void *)0), __ecereInstance1;
})));
-ProcessExpressionType(((struct Initializer *)(*structInitializers).last)->exp);
+ProcessExpressionType(((struct Initializer *)(*structInitializers).last)->__anon1.exp);
ListAdd(structInitializers, MkInitializerAssignment(MkExpClass(CopyList(specs, CopySpecifier), CopyDeclarator(decl))));
-ProcessExpressionType(((struct Initializer *)(*structInitializers).last)->exp);
-exp->expType = ProcessTypeString(templateString, 0x0);
+ProcessExpressionType(((struct Initializer *)(*structInitializers).last)->__anon1.exp);
+exp->expType = ProcessTypeString(templateString, 0);
exp->type = 5;
-exp->list = MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName(templateString)), (((void *)0))), MkExpOp((((void *)0)), '&', expExt = MkExpExtensionInitializer(MkTypeName(MkListOne(MkSpecifierName("BuiltInContainer")), (((void *)0))), MkInitializerList(structInitializers)))));
+exp->__anon1.list = MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName(templateString)), (((void *)0))), MkExpOp((((void *)0)), '&', expExt = MkExpExtensionInitializer(MkTypeName(MkListOne(MkSpecifierName("BuiltInContainer")), (((void *)0))), MkInitializerList(structInitializers)))));
ProcessExpressionType(expExt);
}
else
{
-exp->expType = ProcessTypeString("Container", 0x0);
+exp->expType = ProcessTypeString("Container", 0);
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "Couldn't determine type of array elements\n", (((void *)0))));
}
break;
FreeType(exp->expType);
exp->expType = ReplaceThisClassType(thisClass);
}
-if(exp->expType && (exp->expType->kind == 9 || exp->expType->kind == 10 || exp->expType->kind == 15) && !exp->expType->members.first && exp->expType->enumName)
+if(exp->expType && (exp->expType->kind == 9 || exp->expType->kind == 10 || exp->expType->kind == 15) && !exp->expType->__anon1.__anon1.members.first && exp->expType->__anon1.__anon1.enumName)
{
-struct Symbol * symbol = FindSymbol(exp->expType->enumName, curContext, globalContext, 0x1, 0x0);
+struct Symbol * symbol = FindSymbol(exp->expType->__anon1.__anon1.enumName, curContext, globalContext, 1, 0);
if(symbol)
{
if(exp->expType->kind != 15)
{
struct Type * member;
-char * enumName = __ecereNameSpace__ecere__sys__CopyString(exp->expType->enumName);
+char * enumName = __ecereNameSpace__ecere__sys__CopyString(exp->expType->__anon1.__anon1.enumName);
FreeType(exp->expType);
exp->expType = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
exp->expType->kind = symbol->type->kind;
exp->expType->refCount++;
-exp->expType->enumName = enumName;
-exp->expType->members = symbol->type->members;
-for(member = symbol->type->members.first; member; member = member->next)
+exp->expType->__anon1.__anon1.enumName = enumName;
+exp->expType->__anon1.__anon1.members = symbol->type->__anon1.__anon1.members;
+for(member = symbol->type->__anon1.__anon1.members.first; member; member = member->next)
member->refCount++;
}
else
{
-struct __ecereNameSpace__ecere__sys__NamedLink * member;
+struct __ecereNameSpace__ecere__sys__NamedLink64 * member;
-for(member = symbol->type->members.first; member; member = member->next)
+for(member = symbol->type->__anon1.__anon1.members.first; member; member = member->next)
{
-struct __ecereNameSpace__ecere__sys__NamedLink * value = (value = __ecereNameSpace__ecere__com__eSystem_New0(structSize_NamedLink), value->name = __ecereNameSpace__ecere__sys__CopyString(member->name), value);
+struct __ecereNameSpace__ecere__sys__NamedLink64 * value = (value = __ecereNameSpace__ecere__com__eSystem_New0(structSize_NamedLink64), value->name = __ecereNameSpace__ecere__sys__CopyString(member->name), value);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&exp->expType->members, value);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&exp->expType->__anon1.__anon1.members, value);
}
}
}
}
yylloc = exp->loc;
-if(exp->destType && (exp->destType->kind == 0 || exp->destType->kind == 18))
+if(exp->destType && (exp->destType->kind == 18))
;
else if(exp->destType && !exp->destType->keepCast)
{
-if(!CheckExpressionType(exp, exp->destType, 0x0))
+if(!exp->needTemplateCast && exp->expType && (exp->expType->kind == 20 || exp->expType->passAsTemplate))
+exp->needTemplateCast = 1;
+if(exp->destType->kind == 0)
+;
+else if(!CheckExpressionType(exp, exp->destType, 0, !exp->destType->casted))
{
if(!exp->destType->count || unresolved)
{
char expString[10240];
expString[0] = '\0';
-PrintType(exp->destType, type2, 0x0, 0x1);
+PrintType(exp->destType, type2, 0, 1);
if(inCompiler)
{
PrintExpression(exp, expString);
type2[0] = '\0';
if(inCompiler)
{
-PrintType(exp->expType, type1, 0x0, 0x1);
-PrintType(exp->destType, type2, 0x0, 0x1);
+PrintType(exp->expType, type1, 0, 1);
+PrintType(exp->destType, type2, 0, 1);
}
-if(exp->destType->truth && exp->destType->_class && exp->destType->_class->registered && !strcmp(exp->destType->_class->registered->name, "bool") && exp->expType->kind != 0 && exp->expType->kind != 9 && exp->expType->kind != 10 && (exp->expType->kind != 8 || exp->expType->classObjectType || (exp->expType->_class && exp->expType->_class->registered && exp->expType->_class->registered->type != 1)))
+if(exp->destType->truth && exp->destType->__anon1._class && exp->destType->__anon1._class->__anon1.registered && !strcmp(exp->destType->__anon1._class->__anon1.registered->name, "bool") && exp->expType->kind != 0 && exp->expType->kind != 9 && exp->expType->kind != 10 && (exp->expType->kind != 8 || exp->expType->classObjectType || (exp->expType->__anon1._class && exp->expType->__anon1._class->__anon1.registered && exp->expType->__anon1._class->__anon1.registered->type != 1)))
;
else
{
}
}
}
-else if(exp->destType && exp->destType->kind == 14 && exp->expType && exp->expType->passAsTemplate)
-{
-struct Expression * newExp = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
-char typeString[1024];
-struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
-struct Declarator * decl;
-
-typeString[0] = '\0';
-*newExp = *exp;
-if(exp->expType)
-exp->expType->refCount++;
-if(exp->expType)
-exp->expType->refCount++;
-exp->type = 11;
-newExp->destType = exp->expType;
-PrintType(exp->expType, typeString, 0x0, 0x0);
-decl = SpecDeclFromString(typeString, specs, (((void *)0)));
-exp->cast.typeName = MkTypeName(specs, decl);
-exp->cast.exp = newExp;
-}
}
else if(unresolved)
{
-if(exp->identifier->_class && exp->identifier->_class->name)
-Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "unresolved identifier %s::%s\n", (((void *)0))), exp->identifier->_class->name, exp->identifier->string);
-else if(exp->identifier->string && exp->identifier->string[0])
-Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "unresolved identifier %s\n", (((void *)0))), exp->identifier->string);
+if(exp->__anon1.__anon1.identifier->_class && exp->__anon1.__anon1.identifier->_class->__anon1.__anon1.name)
+Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "unresolved identifier %s::%s\n", (((void *)0))), exp->__anon1.__anon1.identifier->_class->__anon1.__anon1.name, exp->__anon1.__anon1.identifier->string);
+else if(exp->__anon1.__anon1.identifier->string && exp->__anon1.__anon1.identifier->string[0])
+Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "unresolved identifier %s\n", (((void *)0))), exp->__anon1.__anon1.identifier->string);
}
else if(!exp->expType && exp->type != 16)
{
}
if(inCompiler)
ApplyAnyObjectLogic(exp);
-if(!notByReference && exp->expType && exp->expType->kind == 8 && exp->expType->_class && exp->expType->_class->registered && exp->expType->_class->registered->type == 5 && (!exp->destType || (exp->destType->kind != 3 && exp->destType->kind != 4 && exp->destType->kind != 22 && exp->destType->kind != 23 && exp->destType->kind != 5 && exp->destType->kind != 2 && exp->destType->kind != 1 && exp->destType->kind != 24)))
+if(!notByReference && exp->expType && exp->expType->kind == 8 && exp->expType->__anon1._class && exp->expType->__anon1._class->__anon1.registered && exp->expType->__anon1._class->__anon1.registered->type == 5 && (!exp->destType || (exp->destType->kind != 3 && exp->destType->kind != 4 && exp->destType->kind != 22 && exp->destType->kind != 23 && exp->destType->kind != 5 && exp->destType->kind != 2 && exp->destType->kind != 1 && exp->destType->kind != 24)))
{
-exp->byReference = 0x1;
+exp->byReference = 1;
}
yylloc = oldyylloc;
}
switch(init->type)
{
case 0:
-if(!init->exp || init->exp->type != 1 || !init->exp->instance || init->exp->instance->_class || !type || type->kind == 8)
+if(!init->__anon1.exp || init->__anon1.exp->type != 1 || !init->__anon1.exp->__anon1.instance || init->__anon1.exp->__anon1.instance->_class || !type || type->kind == 8)
{
-if(init->exp && !init->exp->destType)
+if(init->__anon1.exp && !init->__anon1.exp->destType)
{
-FreeType(init->exp->destType);
-init->exp->destType = type;
+FreeType(init->__anon1.exp->destType);
+init->__anon1.exp->destType = type;
if(type)
type->refCount++;
}
-if(init->exp)
+if(init->__anon1.exp)
{
-ProcessExpressionType(init->exp);
-init->isConstant = init->exp->isConstant;
+ProcessExpressionType(init->__anon1.exp);
+init->isConstant = init->__anon1.exp->isConstant;
}
break;
}
else
{
-struct Expression * exp = init->exp;
-struct Instantiation * inst = exp->instance;
+struct Expression * exp = init->__anon1.exp;
+struct Instantiation * inst = exp->__anon1.instance;
struct MembersInit * members;
init->type = 1;
-init->list = MkList();
+init->__anon1.list = MkList();
if(inst->members)
{
for(members = (*inst->members).first; members; members = members->next)
{
struct MemberInit * member;
-for(member = (*members->dataMembers).first; member; member = member->next)
+for(member = (*members->__anon1.dataMembers).first; member; member = member->next)
{
-ListAdd(init->list, member->initializer);
+ListAdd(init->__anon1.list, member->initializer);
member->initializer = (((void *)0));
}
}
if(type && type->kind == 12)
initializerType = Dereference(type);
else if(type && (type->kind == 9 || type->kind == 10))
-initializerType = type->members.first;
-for(i = (*init->list).first; i; i = i->next)
+initializerType = type->__anon1.__anon1.members.first;
+for(i = (*init->__anon1.list).first; i; i = i->next)
{
-if(type && type->kind == 8 && type->_class && type->_class->registered)
+if(type && type->kind == 8 && type->__anon1._class && type->__anon1._class->__anon1.registered)
{
-FindNextDataMember(type->_class->registered, &curClass, &curMember, subMemberStack, &subMemberStackPos);
+FindNextDataMember(type->__anon1._class->__anon1.registered, &curClass, &curMember, subMemberStack, &subMemberStackPos);
if(curMember)
{
if(!curMember->dataType)
-curMember->dataType = ProcessTypeString(curMember->dataTypeString, 0x0);
+curMember->dataType = ProcessTypeString(curMember->dataTypeString, 0);
initializerType = curMember->dataType;
}
}
if(initializerType && type && (type->kind == 9 || type->kind == 10))
initializerType = initializerType->next;
if(!i->isConstant)
-init->isConstant = 0x0;
+init->isConstant = 0;
}
if(type && type->kind == 12)
FreeType(initializerType);
-if(type && type->kind != 12 && type->kind != 9 && type->kind != 10 && (type->kind != 8 || !type->_class->registered || type->_class->registered->type != 1))
+if(type && type->kind != 12 && type->kind != 9 && type->kind != 10 && (type->kind != 8 || !type->__anon1._class->__anon1.registered || type->__anon1._class->__anon1.registered->type != 1))
{
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "Assigning list initializer to non list\n", (((void *)0))));
}
}
}
-extern struct Symbol * FindType(struct Context * ctx, char * name);
+extern struct Symbol * FindType(struct Context * ctx, const char * name);
static void ProcessClass(struct __ecereNameSpace__ecere__sys__OldList * definitions, struct Symbol * symbol);
{
case 0:
{
-if(spec->specifier == THISCLASS)
+if(spec->__anon1.specifier == THISCLASS)
{
if(thisClass)
{
spec->type = 1;
-spec->name = ReplaceThisClass(thisClass);
-spec->symbol = FindClass(spec->name);
+spec->__anon1.__anon1.name = ReplaceThisClass(thisClass);
+spec->__anon1.__anon1.symbol = FindClass(spec->__anon1.__anon1.name);
ProcessSpecifier(spec, declareStruct);
}
}
}
case 1:
{
-struct Symbol * symbol = FindType(curContext, spec->name);
+struct Symbol * symbol = FindType(curContext, spec->__anon1.__anon1.name);
if(symbol)
-DeclareType(symbol->type, 0x1, 0x1);
-else if((symbol = spec->symbol) && symbol->registered && symbol->registered->type == 1 && declareStruct)
-DeclareStruct(spec->name, 0x0);
+DeclareType(symbol->type, 1, 1);
+else if((symbol = spec->__anon1.__anon1.symbol) && symbol->__anon1.registered && symbol->__anon1.registered->type == 1 && declareStruct)
+DeclareStruct(spec->__anon1.__anon1.name, 0);
break;
}
case 2:
{
struct Enumerator * e;
-if(spec->list)
+if(spec->__anon1.__anon2.list)
{
-for(e = (*spec->list).first; e; e = e->next)
+for(e = (*spec->__anon1.__anon2.list).first; e; e = e->next)
{
if(e->exp)
ProcessExpressionType(e->exp);
case 3:
case 4:
{
-if(spec->definitions)
+if(spec->__anon1.__anon2.definitions)
{
-struct ClassDef * def;
-struct Symbol * symbol = spec->id ? FindClass(spec->id->string) : (((void *)0));
+struct Symbol * symbol = spec->__anon1.__anon2.id ? FindClass(spec->__anon1.__anon2.id->string) : (((void *)0));
-ProcessClass(spec->definitions, symbol);
+ProcessClass(spec->__anon1.__anon2.definitions, symbol);
}
break;
}
switch(decl->type)
{
case 1:
-if(decl->identifier->classSym)
+if(decl->__anon1.identifier->classSym)
{
-FreeSpecifier(decl->identifier->_class);
-decl->identifier->_class = (((void *)0));
+FreeSpecifier(decl->__anon1.identifier->_class);
+decl->__anon1.identifier->_class = (((void *)0));
}
break;
case 3:
-if(decl->array.exp)
-ProcessExpressionType(decl->array.exp);
+if(decl->__anon1.array.exp)
+ProcessExpressionType(decl->__anon1.array.exp);
case 0:
case 2:
case 4:
{
struct TypeName * param = (param = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TypeName), param->qualifiers = MkListOne(id->_class), param->declarator = (((void *)0)), param);
-if(!decl->function.parameters)
-decl->function.parameters = MkList();
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*decl->function.parameters), (((void *)0)), param);
+if(!decl->__anon1.function.parameters)
+decl->__anon1.function.parameters = MkList();
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*decl->__anon1.function.parameters), (((void *)0)), param);
id->_class = (((void *)0));
}
-if(decl->function.parameters)
+if(decl->__anon1.function.parameters)
{
struct TypeName * param;
-for(param = (*decl->function.parameters).first; param; param = param->next)
+for(param = (*decl->__anon1.function.parameters).first; param; param = param->next)
{
if(param->qualifiers && (*param->qualifiers).first)
{
struct Specifier * spec = (*param->qualifiers).first;
-if(spec && spec->specifier == TYPED_OBJECT)
+if(spec && spec->__anon1.specifier == TYPED_OBJECT)
{
struct Declarator * d = param->declarator;
struct TypeName * newParam = (newParam = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TypeName), newParam->qualifiers = MkListOne(MkSpecifier(VOID)), newParam->declarator = MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), d), newParam);
+if(d->type != 5)
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*newParam->qualifiers), (((void *)0)), MkSpecifier(CONST));
FreeList(param->qualifiers, FreeSpecifier);
param->qualifiers = MkListOne(MkStructOrUnion(3, MkIdentifier("__ecereNameSpace__ecere__com__Class"), (((void *)0))));
param->declarator = MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), MkDeclaratorIdentifier(MkIdentifier("class")));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*decl->function.parameters), param, newParam);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*decl->__anon1.function.parameters), param, newParam);
param = newParam;
}
-else if(spec && spec->specifier == ANY_OBJECT)
+else if(spec && spec->__anon1.specifier == ANY_OBJECT)
{
struct Declarator * d = param->declarator;
FreeList(param->qualifiers, FreeSpecifier);
param->qualifiers = MkListOne(MkSpecifier(VOID));
+if(d->type != 5)
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*param->qualifiers), (((void *)0)), MkSpecifier(CONST));
param->declarator = MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), d);
}
-else if(spec->specifier == THISCLASS)
+else if(spec->__anon1.specifier == THISCLASS)
{
if(thisClass)
{
spec->type = 1;
-spec->name = ReplaceThisClass(thisClass);
-spec->symbol = FindClass(spec->name);
-ProcessSpecifier(spec, 0x0);
+spec->__anon1.__anon1.name = ReplaceThisClass(thisClass);
+spec->__anon1.__anon1.symbol = FindClass(spec->__anon1.__anon1.name);
+ProcessSpecifier(spec, 0);
}
}
}
{
case 1:
{
-unsigned int declareStruct = 0x0;
+unsigned int declareStruct = 0;
-if(decl->declarators)
+if(decl->__anon1.__anon1.declarators)
{
struct InitDeclarator * d;
-for(d = (*decl->declarators).first; d; d = d->next)
+for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
{
struct Type * type, * subType;
ProcessDeclarator(d->declarator);
-type = ProcessType(decl->specifiers, d->declarator);
+type = ProcessType(decl->__anon1.__anon1.specifiers, d->declarator);
if(d->initializer)
{
ProcessInitializer(d->initializer, type);
-if((*decl->declarators).count == 1 && d->initializer->type == 0 && d->initializer->exp->type == 1)
+if((*decl->__anon1.__anon1.declarators).count == 1 && d->initializer->type == 0 && d->initializer->__anon1.exp->type == 1)
{
-if(type->kind == 8 && type->_class == d->initializer->exp->expType->_class)
+if(type->kind == 8 && type->__anon1._class == d->initializer->__anon1.exp->expType->__anon1._class)
{
-struct Instantiation * inst = d->initializer->exp->instance;
+struct Instantiation * inst = d->initializer->__anon1.exp->__anon1.instance;
inst->exp = MkExpIdentifier(CopyIdentifier(GetDeclId(d->declarator)));
-d->initializer->exp->instance = (((void *)0));
-if(decl->specifiers)
-FreeList(decl->specifiers, FreeSpecifier);
-FreeList(decl->declarators, FreeInitDeclarator);
+d->initializer->__anon1.exp->__anon1.instance = (((void *)0));
+if(decl->__anon1.__anon1.specifiers)
+FreeList(decl->__anon1.__anon1.specifiers, FreeSpecifier);
+FreeList(decl->__anon1.__anon1.declarators, FreeInitDeclarator);
d = (((void *)0));
decl->type = 2;
-decl->inst = inst;
+decl->__anon1.inst = inst;
}
}
}
{
if(subType->kind == 8)
{
-declareStruct = 0x1;
+declareStruct = 1;
break;
}
else if(subType->kind == 13)
break;
else if(subType->kind == 12)
-subType = subType->arrayType;
+subType = subType->__anon1.__anon4.arrayType;
else
break;
}
break;
}
}
-if(decl->specifiers)
+if(decl->__anon1.__anon1.specifiers)
{
struct Specifier * s;
-for(s = (*decl->specifiers).first; s; s = s->next)
+for(s = (*decl->__anon1.__anon1.specifiers).first; s; s = s->next)
{
ProcessSpecifier(s, declareStruct);
}
}
case 2:
{
-ProcessInstantiationType(decl->inst);
+ProcessInstantiationType(decl->__anon1.inst);
break;
}
case 0:
{
struct Specifier * spec;
struct Declarator * d;
-unsigned int declareStruct = 0x0;
+unsigned int declareStruct = 0;
-if(decl->declarators)
+if(decl->__anon1.__anon1.declarators)
{
-for(d = (*decl->declarators).first; d; d = d->next)
+for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
{
-struct Type * type = ProcessType(decl->specifiers, d->declarator);
+struct Type * type = ProcessType(decl->__anon1.__anon1.specifiers, d->declarator);
struct Type * subType;
ProcessDeclarator(d);
{
if(subType->kind == 8)
{
-declareStruct = 0x1;
+declareStruct = 1;
break;
}
else if(subType->kind == 13)
break;
else if(subType->kind == 12)
-subType = subType->arrayType;
+subType = subType->__anon1.__anon4.arrayType;
else
break;
}
FreeType(type);
}
}
-if(decl->specifiers)
+if(decl->__anon1.__anon1.specifiers)
{
-for(spec = (*decl->specifiers).first; spec; spec = spec->next)
+for(spec = (*decl->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
ProcessSpecifier(spec, declareStruct);
}
break;
DeclareProperty(prop, setName, getName);
strcpy(propName, "__ecereProp_");
-FullClassNameCat(propName, prop->_class->fullName, 0x0);
+FullClassNameCat(propName, prop->_class->fullName, 0);
strcat(propName, "_");
-FullClassNameCat(propName, prop->name, 0x1);
-MangleClassName(propName);
+FullClassNameCat(propName, prop->name, 1);
strcpy(propNameM, "__ecerePropM_");
-FullClassNameCat(propNameM, prop->_class->fullName, 0x0);
+FullClassNameCat(propNameM, prop->_class->fullName, 0);
strcat(propNameM, "_");
-FullClassNameCat(propNameM, prop->name, 0x1);
-MangleClassName(propNameM);
+FullClassNameCat(propNameM, prop->name, 1);
if(prop->isWatchable)
{
args = MkList();
ListAdd(args, object ? CopyExpression(object) : MkExpIdentifier(MkIdentifier("this")));
ListAdd(args, MkExpIdentifier(MkIdentifier(propName)));
-ListAdd(stmt->expressions, MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_FireWatchers")), args));
+ListAdd(stmt->__anon1.expressions, MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_FireWatchers")), args));
args = MkList();
ListAdd(args, object ? CopyExpression(object) : MkExpIdentifier(MkIdentifier("this")));
ListAdd(args, MkExpIdentifier(MkIdentifier(propNameM)));
-ListAdd(stmt->expressions, MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_FireWatchers")), args));
+ListAdd(stmt->__anon1.expressions, MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_FireWatchers")), args));
}
{
args = MkList();
ListAdd(args, object ? CopyExpression(object) : MkExpIdentifier(MkIdentifier("this")));
ListAdd(args, MkExpIdentifier(MkIdentifier(propName)));
-ListAdd(stmt->expressions, MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_FireSelfWatchers")), args));
+ListAdd(stmt->__anon1.expressions, MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_FireSelfWatchers")), args));
args = MkList();
ListAdd(args, object ? CopyExpression(object) : MkExpIdentifier(MkIdentifier("this")));
ListAdd(args, MkExpIdentifier(MkIdentifier(propNameM)));
-ListAdd(stmt->expressions, MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_FireSelfWatchers")), args));
+ListAdd(stmt->__anon1.expressions, MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_FireSelfWatchers")), args));
}
-if(curFunction->propSet && !strcmp(curFunction->propSet->string, prop->name) && (!object || (object->type == 0 && !strcmp(object->identifier->string, "this"))))
-curFunction->propSet->fireWatchersDone = 0x1;
+if(curFunction->propSet && !strcmp(curFunction->propSet->string, prop->name) && (!object || (object->type == 0 && !strcmp(object->__anon1.__anon1.identifier->string, "this"))))
+curFunction->propSet->fireWatchersDone = 1;
}
extern struct Declaration * MkDeclarationInst(struct Instantiation * inst);
switch(stmt->type)
{
case 0:
-ProcessStatement(stmt->labeled.stmt);
+ProcessStatement(stmt->__anon1.labeled.stmt);
break;
case 1:
-if(stmt->caseStmt.exp)
+if(stmt->__anon1.caseStmt.exp)
{
-FreeType(stmt->caseStmt.exp->destType);
-stmt->caseStmt.exp->destType = curSwitchType;
+FreeType(stmt->__anon1.caseStmt.exp->destType);
+stmt->__anon1.caseStmt.exp->destType = curSwitchType;
if(curSwitchType)
curSwitchType->refCount++;
-ProcessExpressionType(stmt->caseStmt.exp);
-ComputeExpression(stmt->caseStmt.exp);
+ProcessExpressionType(stmt->__anon1.caseStmt.exp);
+ComputeExpression(stmt->__anon1.caseStmt.exp);
}
-if(stmt->caseStmt.stmt)
-ProcessStatement(stmt->caseStmt.stmt);
+if(stmt->__anon1.caseStmt.stmt)
+ProcessStatement(stmt->__anon1.caseStmt.stmt);
break;
case 2:
{
-if(stmt->compound.context)
+if(stmt->__anon1.compound.context)
{
struct Declaration * decl;
struct Statement * s;
struct Statement * prevCompound = curCompound;
struct Context * prevContext = curContext;
-if(!stmt->compound.isSwitch)
+if(!stmt->__anon1.compound.isSwitch)
curCompound = stmt;
-curContext = stmt->compound.context;
-if(stmt->compound.declarations)
+curContext = stmt->__anon1.compound.context;
+if(stmt->__anon1.compound.declarations)
{
-for(decl = (*stmt->compound.declarations).first; decl; decl = decl->next)
+for(decl = (*stmt->__anon1.compound.declarations).first; decl; decl = decl->next)
ProcessDeclaration(decl);
}
-if(stmt->compound.statements)
+if(stmt->__anon1.compound.statements)
{
-for(s = (*stmt->compound.statements).first; s; s = s->next)
+for(s = (*stmt->__anon1.compound.statements).first; s; s = s->next)
ProcessStatement(s);
}
curContext = prevContext;
{
struct Expression * exp;
-if(stmt->expressions)
+if(stmt->__anon1.expressions)
{
-for(exp = (*stmt->expressions).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.expressions).first; exp; exp = exp->next)
ProcessExpressionType(exp);
}
break;
{
struct Expression * exp;
-FreeType(((struct Expression *)(*stmt->ifStmt.exp).last)->destType);
-((struct Expression *)(*stmt->ifStmt.exp).last)->destType = MkClassType("bool");
-((struct Expression *)(*stmt->ifStmt.exp).last)->destType->truth = 0x1;
-for(exp = (*stmt->ifStmt.exp).first; exp; exp = exp->next)
+FreeType(((struct Expression *)(*stmt->__anon1.ifStmt.exp).last)->destType);
+((struct Expression *)(*stmt->__anon1.ifStmt.exp).last)->destType = MkClassType("bool");
+((struct Expression *)(*stmt->__anon1.ifStmt.exp).last)->destType->truth = 1;
+for(exp = (*stmt->__anon1.ifStmt.exp).first; exp; exp = exp->next)
{
ProcessExpressionType(exp);
}
-if(stmt->ifStmt.stmt)
-ProcessStatement(stmt->ifStmt.stmt);
-if(stmt->ifStmt.elseStmt)
-ProcessStatement(stmt->ifStmt.elseStmt);
+if(stmt->__anon1.ifStmt.stmt)
+ProcessStatement(stmt->__anon1.ifStmt.stmt);
+if(stmt->__anon1.ifStmt.elseStmt)
+ProcessStatement(stmt->__anon1.ifStmt.elseStmt);
break;
}
case 5:
{
struct Type * oldSwitchType = curSwitchType;
-if(stmt->switchStmt.exp)
+if(stmt->__anon1.switchStmt.exp)
{
struct Expression * exp;
-for(exp = (*stmt->switchStmt.exp).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
{
if(!exp->next)
{
curSwitchType = exp->expType;
}
}
-ProcessStatement(stmt->switchStmt.stmt);
+ProcessStatement(stmt->__anon1.switchStmt.stmt);
curSwitchType = oldSwitchType;
break;
}
case 6:
{
-if(stmt->whileStmt.exp)
+if(stmt->__anon1.whileStmt.exp)
{
struct Expression * exp;
-FreeType(((struct Expression *)(*stmt->whileStmt.exp).last)->destType);
-((struct Expression *)(*stmt->whileStmt.exp).last)->destType = MkClassType("bool");
-((struct Expression *)(*stmt->whileStmt.exp).last)->destType->truth = 0x1;
-for(exp = (*stmt->whileStmt.exp).first; exp; exp = exp->next)
+FreeType(((struct Expression *)(*stmt->__anon1.whileStmt.exp).last)->destType);
+((struct Expression *)(*stmt->__anon1.whileStmt.exp).last)->destType = MkClassType("bool");
+((struct Expression *)(*stmt->__anon1.whileStmt.exp).last)->destType->truth = 1;
+for(exp = (*stmt->__anon1.whileStmt.exp).first; exp; exp = exp->next)
{
ProcessExpressionType(exp);
}
}
-if(stmt->whileStmt.stmt)
-ProcessStatement(stmt->whileStmt.stmt);
+if(stmt->__anon1.whileStmt.stmt)
+ProcessStatement(stmt->__anon1.whileStmt.stmt);
break;
}
case 7:
{
-if(stmt->doWhile.exp)
+if(stmt->__anon1.doWhile.exp)
{
struct Expression * exp;
-if((*stmt->doWhile.exp).last)
+if((*stmt->__anon1.doWhile.exp).last)
{
-FreeType(((struct Expression *)(*stmt->doWhile.exp).last)->destType);
-((struct Expression *)(*stmt->doWhile.exp).last)->destType = MkClassType("bool");
-((struct Expression *)(*stmt->doWhile.exp).last)->destType->truth = 0x1;
+FreeType(((struct Expression *)(*stmt->__anon1.doWhile.exp).last)->destType);
+((struct Expression *)(*stmt->__anon1.doWhile.exp).last)->destType = MkClassType("bool");
+((struct Expression *)(*stmt->__anon1.doWhile.exp).last)->destType->truth = 1;
}
-for(exp = (*stmt->doWhile.exp).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.doWhile.exp).first; exp; exp = exp->next)
{
ProcessExpressionType(exp);
}
}
-if(stmt->doWhile.stmt)
-ProcessStatement(stmt->doWhile.stmt);
+if(stmt->__anon1.doWhile.stmt)
+ProcessStatement(stmt->__anon1.doWhile.stmt);
break;
}
case 8:
{
struct Expression * exp;
-if(stmt->forStmt.init)
-ProcessStatement(stmt->forStmt.init);
-if(stmt->forStmt.check && stmt->forStmt.check->expressions)
+if(stmt->__anon1.forStmt.init)
+ProcessStatement(stmt->__anon1.forStmt.init);
+if(stmt->__anon1.forStmt.check && stmt->__anon1.forStmt.check->__anon1.expressions)
{
-FreeType(((struct Expression *)(*stmt->forStmt.check->expressions).last)->destType);
-((struct Expression *)(*stmt->forStmt.check->expressions).last)->destType = MkClassType("bool");
-((struct Expression *)(*stmt->forStmt.check->expressions).last)->destType->truth = 0x1;
+FreeType(((struct Expression *)(*stmt->__anon1.forStmt.check->__anon1.expressions).last)->destType);
+((struct Expression *)(*stmt->__anon1.forStmt.check->__anon1.expressions).last)->destType = MkClassType("bool");
+((struct Expression *)(*stmt->__anon1.forStmt.check->__anon1.expressions).last)->destType->truth = 1;
}
-if(stmt->forStmt.check)
-ProcessStatement(stmt->forStmt.check);
-if(stmt->forStmt.increment)
+if(stmt->__anon1.forStmt.check)
+ProcessStatement(stmt->__anon1.forStmt.check);
+if(stmt->__anon1.forStmt.increment)
{
-for(exp = (*stmt->forStmt.increment).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.forStmt.increment).first; exp; exp = exp->next)
ProcessExpressionType(exp);
}
-if(stmt->forStmt.stmt)
-ProcessStatement(stmt->forStmt.stmt);
+if(stmt->__anon1.forStmt.stmt)
+ProcessStatement(stmt->__anon1.forStmt.stmt);
break;
}
case 18:
{
-struct Identifier * id = stmt->forEachStmt.id;
-struct __ecereNameSpace__ecere__sys__OldList * exp = stmt->forEachStmt.exp;
-struct __ecereNameSpace__ecere__sys__OldList * filter = stmt->forEachStmt.filter;
-struct Statement * block = stmt->forEachStmt.stmt;
+struct Identifier * id = stmt->__anon1.forEachStmt.id;
+struct __ecereNameSpace__ecere__sys__OldList * exp = stmt->__anon1.forEachStmt.exp;
+struct __ecereNameSpace__ecere__sys__OldList * filter = stmt->__anon1.forEachStmt.filter;
+struct Statement * block = stmt->__anon1.forEachStmt.stmt;
char iteratorType[1024];
struct Type * source;
struct Expression * e;
-unsigned int isBuiltin = exp && (*exp).last && (((struct Expression *)(*exp).last)->type == 35 || (((struct Expression *)(*exp).last)->type == 11 && ((struct Expression *)(*exp).last)->cast.exp->type == 35));
+unsigned int isBuiltin = exp && (*exp).last && (((struct Expression *)(*exp).last)->type == 35 || (((struct Expression *)(*exp).last)->type == 11 && ((struct Expression *)(*exp).last)->__anon1.cast.exp->type == 35));
struct Expression * arrayExp;
-char * typeString = (((void *)0));
+const char * typeString = (((void *)0));
int builtinCount = 0;
for(e = exp ? (*exp).first : (((void *)0)); e; e = e->next)
if(!e->next)
{
FreeType(e->destType);
-e->destType = ProcessTypeString("Container", 0x0);
+e->destType = ProcessTypeString("Container", 0);
}
if(!isBuiltin || e->next)
ProcessExpressionType(e);
}
source = (exp && (*exp).last) ? ((struct Expression *)(*exp).last)->expType : (((void *)0));
-if(isBuiltin || (source && source->kind == 8 && source->_class && source->_class->registered && source->_class->registered != containerClass && __ecereNameSpace__ecere__com__eClass_IsDerived(source->_class->registered, containerClass)))
+if(isBuiltin || (source && source->kind == 8 && source->__anon1._class && source->__anon1._class->__anon1.registered && source->__anon1._class->__anon1.registered != containerClass && __ecereNameSpace__ecere__com__eClass_IsDerived(source->__anon1._class->__anon1.registered, containerClass)))
{
-struct __ecereNameSpace__ecere__com__Class * _class = source ? source->_class->registered : (((void *)0));
+struct __ecereNameSpace__ecere__com__Class * _class = source ? source->__anon1._class->__anon1.registered : (((void *)0));
struct Symbol * symbol;
struct Expression * expIt = (((void *)0));
-unsigned int isMap = 0x0, isArray = 0x0, isLinkList = 0x0, isList = 0x0, isCustomAVLTree = 0x0, isAVLTree = 0x0;
+unsigned int isMap = 0, isArray = 0, isLinkList = 0, isList = 0, isCustomAVLTree = 0;
struct __ecereNameSpace__ecere__com__Class * arrayClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "Array");
struct __ecereNameSpace__ecere__com__Class * linkListClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "LinkList");
struct __ecereNameSpace__ecere__com__Class * customAVLTreeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "CustomAVLTree");
stmt->type = 2;
-stmt->compound.context = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
-stmt->compound.context->parent = curContext;
-curContext = stmt->compound.context;
-if(source && __ecereNameSpace__ecere__com__eClass_IsDerived(source->_class->registered, customAVLTreeClass))
+stmt->__anon1.compound.context = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
+stmt->__anon1.compound.context->parent = curContext;
+curContext = stmt->__anon1.compound.context;
+if(source && __ecereNameSpace__ecere__com__eClass_IsDerived(source->__anon1._class->__anon1.registered, customAVLTreeClass))
{
struct __ecereNameSpace__ecere__com__Class * mapClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "Map");
-struct __ecereNameSpace__ecere__com__Class * avlTreeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "AVLTree");
-isCustomAVLTree = 0x1;
-if(__ecereNameSpace__ecere__com__eClass_IsDerived(source->_class->registered, avlTreeClass))
-isAVLTree = 0x1;
-else if(__ecereNameSpace__ecere__com__eClass_IsDerived(source->_class->registered, mapClass))
-isMap = 0x1;
+isCustomAVLTree = 1;
+if(__ecereNameSpace__ecere__com__eClass_IsDerived(source->__anon1._class->__anon1.registered, mapClass))
+isMap = 1;
}
-else if(source && __ecereNameSpace__ecere__com__eClass_IsDerived(source->_class->registered, arrayClass))
-isArray = 0x1;
-else if(source && __ecereNameSpace__ecere__com__eClass_IsDerived(source->_class->registered, linkListClass))
+else if(source && __ecereNameSpace__ecere__com__eClass_IsDerived(source->__anon1._class->__anon1.registered, arrayClass))
+isArray = 1;
+else if(source && __ecereNameSpace__ecere__com__eClass_IsDerived(source->__anon1._class->__anon1.registered, linkListClass))
{
struct __ecereNameSpace__ecere__com__Class * listClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "List");
-isLinkList = 0x1;
-isList = __ecereNameSpace__ecere__com__eClass_IsDerived(source->_class->registered, listClass);
+isLinkList = 1;
+isList = __ecereNameSpace__ecere__com__eClass_IsDerived(source->__anon1._class->__anon1.registered, listClass);
}
if(isArray)
{
struct Declarator * decl;
struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
-decl = SpecDeclFromString(_class->templateArgs[2].dataTypeString, specs, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), MkDeclaratorIdentifier(id)));
-stmt->compound.declarations = MkListOne(MkDeclaration(specs, MkListOne(MkInitDeclarator(decl, (((void *)0))))));
-ListAdd(stmt->compound.declarations, MkDeclaration(MkListOne(MkSpecifierName(source->_class->registered->fullName)), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("__internalArray")), MkInitializerAssignment(MkExpBrackets(exp))))));
+decl = SpecDeclFromString(_class->templateArgs[2].__anon1.__anon1.dataTypeString, specs, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), MkDeclaratorIdentifier(id)));
+stmt->__anon1.compound.declarations = MkListOne(MkDeclaration(specs, MkListOne(MkInitDeclarator(decl, (((void *)0))))));
+ListAdd(stmt->__anon1.compound.declarations, MkDeclaration(MkListOne(MkSpecifierName(source->__anon1._class->__anon1.registered->fullName)), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("__internalArray")), MkInitializerAssignment(MkExpBrackets(exp))))));
}
else if(isBuiltin)
{
struct Type * type = (((void *)0));
char typeStringBuf[1024];
-arrayExp = (((struct Expression *)(*exp).last)->type == 35) ? (struct Expression *)(*exp).last : ((struct Expression *)(*exp).last)->cast.exp;
+arrayExp = (((struct Expression *)(*exp).last)->type == 35) ? (struct Expression *)(*exp).last : ((struct Expression *)(*exp).last)->__anon1.cast.exp;
if(((struct Expression *)(*exp).last)->type == 11)
{
-struct TypeName * typeName = ((struct Expression *)(*exp).last)->cast.typeName;
+struct TypeName * typeName = ((struct Expression *)(*exp).last)->__anon1.cast.typeName;
if(typeName)
arrayExp->destType = ProcessType(typeName->qualifiers, typeName->declarator);
}
-if(arrayExp->destType && arrayExp->destType->kind == 8 && arrayExp->destType->_class && arrayExp->destType->_class->registered && arrayExp->destType->_class->registered != containerClass && __ecereNameSpace__ecere__com__eClass_IsDerived(arrayExp->destType->_class->registered, containerClass) && arrayExp->destType->_class->registered->templateArgs)
+if(arrayExp->destType && arrayExp->destType->kind == 8 && arrayExp->destType->__anon1._class && arrayExp->destType->__anon1._class->__anon1.registered && arrayExp->destType->__anon1._class->__anon1.registered != containerClass && __ecereNameSpace__ecere__com__eClass_IsDerived(arrayExp->destType->__anon1._class->__anon1.registered, containerClass) && arrayExp->destType->__anon1._class->__anon1.registered->templateArgs)
{
-struct __ecereNameSpace__ecere__com__Class * templateClass = arrayExp->destType->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * templateClass = arrayExp->destType->__anon1._class->__anon1.registered;
-typeString = templateClass->templateArgs[2].dataTypeString;
+typeString = templateClass->templateArgs[2].__anon1.__anon1.dataTypeString;
}
-else if(arrayExp->list)
+else if(arrayExp->__anon1.list)
{
struct Expression * e;
-for(e = (*arrayExp->list).first; e; e = e->next)
+for(e = (*arrayExp->__anon1.list).first; e; e = e->next)
{
ProcessExpressionType(e);
if(e->expType)
}
else
{
-if(!MatchTypeExpression(e, type, (((void *)0)), 0x0))
+if(!MatchTypeExpression(e, type, (((void *)0)), 0, 1))
{
FreeType(type);
type = e->expType;
e->expType = (((void *)0));
-e = (*arrayExp->list).first;
+e = (*arrayExp->__anon1.list).first;
ProcessExpressionType(e);
if(e->expType)
{
-if(!MatchTypeExpression(e, type, (((void *)0)), 0x0))
+if(!MatchTypeExpression(e, type, (((void *)0)), 0, 1))
{
FreeType(e->expType);
e->expType = (((void *)0));
if(type)
{
typeStringBuf[0] = '\0';
-PrintType(type, typeStringBuf, 0x0, 0x1);
+PrintType(type, typeStringBuf, 0, 1);
typeString = typeStringBuf;
FreeType(type);
}
struct Declarator * decl;
struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
-if(arrayExp->list)
+if(arrayExp->__anon1.list)
{
struct Expression * e;
-builtinCount = (*arrayExp->list).count;
-type = ProcessTypeString(typeString, 0x0);
-while(e = (*arrayExp->list).first)
+builtinCount = (*arrayExp->__anon1.list).count;
+type = ProcessTypeString(typeString, 0);
+while((e = (*arrayExp->__anon1.list).first))
{
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*arrayExp->list), e);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*arrayExp->__anon1.list), e);
e->destType = type;
type->refCount++;
ProcessExpressionType(e);
ListAdd(initializers, MkInitializerAssignment(e));
}
FreeType(type);
-(__ecereNameSpace__ecere__com__eSystem_Delete(arrayExp->list), arrayExp->list = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete(arrayExp->__anon1.list), arrayExp->__anon1.list = 0);
}
decl = SpecDeclFromString(typeString, specs, MkDeclaratorIdentifier(id));
-stmt->compound.declarations = MkListOne(MkDeclaration(CopyList(specs, CopySpecifier), MkListOne(MkInitDeclarator(MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), decl), (((void *)0))))));
-ListAdd(stmt->compound.declarations, MkDeclaration(specs, MkListOne(MkInitDeclarator(PlugDeclarator(decl, MkDeclaratorArray(MkDeclaratorIdentifier(MkIdentifier("__internalArray")), (((void *)0)))), MkInitializerList(initializers)))));
+stmt->__anon1.compound.declarations = MkListOne(MkDeclaration(CopyList(specs, CopySpecifier), MkListOne(MkInitDeclarator(MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), decl), (((void *)0))))));
+ListAdd(stmt->__anon1.compound.declarations, MkDeclaration(specs, MkListOne(MkInitDeclarator(PlugDeclarator(decl, MkDeclaratorArray(MkDeclaratorIdentifier(MkIdentifier("__internalArray")), (((void *)0)))), MkInitializerList(initializers)))));
FreeList(exp, FreeExpression);
}
else
{
-arrayExp->expType = ProcessTypeString("Container", 0x0);
+arrayExp->expType = ProcessTypeString("Container", 0);
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "Couldn't determine type of array elements\n", (((void *)0))));
}
}
struct Declarator * decl;
struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
-decl = SpecDeclFromString(_class->templateArgs[3].dataTypeString, specs, MkDeclaratorIdentifier(id));
-stmt->compound.declarations = MkListOne(MkDeclaration(specs, MkListOne(MkInitDeclarator(decl, (((void *)0))))));
-ListAdd(stmt->compound.declarations, MkDeclaration(MkListOne(MkSpecifierName(source->_class->registered->fullName)), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("__internalLinkList")), MkInitializerAssignment(MkExpBrackets(exp))))));
+decl = SpecDeclFromString(_class->templateArgs[3].__anon1.__anon1.dataTypeString, specs, MkDeclaratorIdentifier(id));
+stmt->__anon1.compound.declarations = MkListOne(MkDeclaration(specs, MkListOne(MkInitDeclarator(decl, (((void *)0))))));
+ListAdd(stmt->__anon1.compound.declarations, MkDeclaration(MkListOne(MkSpecifierName(source->__anon1._class->__anon1.registered->fullName)), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("__internalLinkList")), MkInitializerAssignment(MkExpBrackets(exp))))));
}
else if(_class->templateArgs)
{
if(isMap)
-sprintf(iteratorType, "MapIterator<%s, %s >", _class->templateArgs[5].dataTypeString, _class->templateArgs[6].dataTypeString);
+sprintf(iteratorType, "MapIterator<%s, %s >", _class->templateArgs[5].__anon1.__anon1.dataTypeString, _class->templateArgs[6].__anon1.__anon1.dataTypeString);
else
-sprintf(iteratorType, "Iterator<%s, %s >", _class->templateArgs[2].dataTypeString, _class->templateArgs[1].dataTypeString);
-stmt->compound.declarations = MkListOne(MkDeclarationInst(MkInstantiationNamed(MkListOne(MkSpecifierName(iteratorType)), MkExpIdentifier(id), MkListOne(MkMembersInitList(MkListOne(MkMemberInit(isMap ? MkListOne(MkIdentifier("map")) : (((void *)0)), MkInitializerAssignment(MkExpBrackets(exp)))))))));
+sprintf(iteratorType, "Iterator<%s, %s >", _class->templateArgs[2].__anon1.__anon1.dataTypeString, _class->templateArgs[1].__anon1.__anon1.dataTypeString);
+stmt->__anon1.compound.declarations = MkListOne(MkDeclarationInst(MkInstantiationNamed(MkListOne(MkSpecifierName(iteratorType)), MkExpIdentifier(id), MkListOne(MkMembersInitList(MkListOne(MkMemberInit(isMap ? MkListOne(MkIdentifier("map")) : (((void *)0)), MkInitializerAssignment(MkExpBrackets(exp)))))))));
}
-symbol = FindSymbol(id->string, curContext, curContext, 0x0, 0x0);
+symbol = FindSymbol(id->string, curContext, curContext, 0, 0);
if(block)
{
switch(block->type)
{
case 2:
-if(block->compound.context)
-block->compound.context->parent = stmt->compound.context;
+if(block->__anon1.compound.context)
+block->__anon1.compound.context->parent = stmt->__anon1.compound.context;
break;
case 4:
-if(block->ifStmt.stmt && block->ifStmt.stmt->type == 2 && block->ifStmt.stmt->compound.context)
-block->ifStmt.stmt->compound.context->parent = stmt->compound.context;
-if(block->ifStmt.elseStmt && block->ifStmt.elseStmt->type == 2 && block->ifStmt.elseStmt->compound.context)
-block->ifStmt.elseStmt->compound.context->parent = stmt->compound.context;
+if(block->__anon1.ifStmt.stmt && block->__anon1.ifStmt.stmt->type == 2 && block->__anon1.ifStmt.stmt->__anon1.compound.context)
+block->__anon1.ifStmt.stmt->__anon1.compound.context->parent = stmt->__anon1.compound.context;
+if(block->__anon1.ifStmt.elseStmt && block->__anon1.ifStmt.elseStmt->type == 2 && block->__anon1.ifStmt.elseStmt->__anon1.compound.context)
+block->__anon1.ifStmt.elseStmt->__anon1.compound.context->parent = stmt->__anon1.compound.context;
break;
case 5:
-if(block->switchStmt.stmt && block->switchStmt.stmt->type == 2 && block->switchStmt.stmt->compound.context)
-block->switchStmt.stmt->compound.context->parent = stmt->compound.context;
+if(block->__anon1.switchStmt.stmt && block->__anon1.switchStmt.stmt->type == 2 && block->__anon1.switchStmt.stmt->__anon1.compound.context)
+block->__anon1.switchStmt.stmt->__anon1.compound.context->parent = stmt->__anon1.compound.context;
break;
case 6:
-if(block->whileStmt.stmt && block->whileStmt.stmt->type == 2 && block->whileStmt.stmt->compound.context)
-block->whileStmt.stmt->compound.context->parent = stmt->compound.context;
+if(block->__anon1.whileStmt.stmt && block->__anon1.whileStmt.stmt->type == 2 && block->__anon1.whileStmt.stmt->__anon1.compound.context)
+block->__anon1.whileStmt.stmt->__anon1.compound.context->parent = stmt->__anon1.compound.context;
break;
case 7:
-if(block->doWhile.stmt && block->doWhile.stmt->type == 2 && block->doWhile.stmt->compound.context)
-block->doWhile.stmt->compound.context->parent = stmt->compound.context;
+if(block->__anon1.doWhile.stmt && block->__anon1.doWhile.stmt->type == 2 && block->__anon1.doWhile.stmt->__anon1.compound.context)
+block->__anon1.doWhile.stmt->__anon1.compound.context->parent = stmt->__anon1.compound.context;
break;
case 8:
-if(block->forStmt.stmt && block->forStmt.stmt->type == 2 && block->forStmt.stmt->compound.context)
-block->forStmt.stmt->compound.context->parent = stmt->compound.context;
+if(block->__anon1.forStmt.stmt && block->__anon1.forStmt.stmt->type == 2 && block->__anon1.forStmt.stmt->__anon1.compound.context)
+block->__anon1.forStmt.stmt->__anon1.compound.context->parent = stmt->__anon1.compound.context;
break;
case 18:
-if(block->forEachStmt.stmt && block->forEachStmt.stmt->type == 2 && block->forEachStmt.stmt->compound.context)
-block->forEachStmt.stmt->compound.context->parent = stmt->compound.context;
+if(block->__anon1.forEachStmt.stmt && block->__anon1.forEachStmt.stmt->type == 2 && block->__anon1.forEachStmt.stmt->__anon1.compound.context)
+block->__anon1.forEachStmt.stmt->__anon1.compound.context->parent = stmt->__anon1.compound.context;
break;
}
}
}
if(isArray)
{
-stmt->compound.statements = MkListOne(MkForStmt(MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), '=', MkExpMember(MkExpIdentifier(MkIdentifier("__internalArray")), MkIdentifier("array"))))), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), '<', MkExpOp(MkExpMember(MkExpIdentifier(MkIdentifier("__internalArray")), MkIdentifier("array")), '+', MkExpMember(MkExpIdentifier(MkIdentifier("__internalArray")), MkIdentifier("count")))))), MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), INC_OP, (((void *)0)))), block));
-ProcessStatement(((struct Statement *)(*stmt->compound.statements).first)->forStmt.init);
-ProcessStatement(((struct Statement *)(*stmt->compound.statements).first)->forStmt.check);
-ProcessExpressionType((*((struct Statement *)(*stmt->compound.statements).first)->forStmt.increment).first);
+stmt->__anon1.compound.statements = MkListOne(MkForStmt(MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), '=', MkExpMember(MkExpIdentifier(MkIdentifier("__internalArray")), MkIdentifier("array"))))), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), '<', MkExpOp(MkExpMember(MkExpIdentifier(MkIdentifier("__internalArray")), MkIdentifier("array")), '+', MkExpMember(MkExpIdentifier(MkIdentifier("__internalArray")), MkIdentifier("count")))))), MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), INC_OP, (((void *)0)))), block));
+ProcessStatement(((struct Statement *)(*stmt->__anon1.compound.statements).first)->__anon1.forStmt.init);
+ProcessStatement(((struct Statement *)(*stmt->__anon1.compound.statements).first)->__anon1.forStmt.check);
+ProcessExpressionType((*((struct Statement *)(*stmt->__anon1.compound.statements).first)->__anon1.forStmt.increment).first);
}
else if(isBuiltin)
{
char count[128];
sprintf(count, "%d", builtinCount);
-stmt->compound.statements = MkListOne(MkForStmt(MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), '=', MkExpIdentifier(MkIdentifier("__internalArray"))))), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), '<', MkExpOp(MkExpIdentifier(MkIdentifier("__internalArray")), '+', MkExpConstant(count))))), MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), INC_OP, (((void *)0)))), block));
-ProcessStatement(((struct Statement *)(*stmt->compound.statements).first)->forStmt.init);
-ProcessStatement(((struct Statement *)(*stmt->compound.statements).first)->forStmt.check);
-ProcessExpressionType((*((struct Statement *)(*stmt->compound.statements).first)->forStmt.increment).first);
+stmt->__anon1.compound.statements = MkListOne(MkForStmt(MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), '=', MkExpIdentifier(MkIdentifier("__internalArray"))))), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), '<', MkExpOp(MkExpIdentifier(MkIdentifier("__internalArray")), '+', MkExpConstant(count))))), MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), INC_OP, (((void *)0)))), block));
+ProcessStatement(((struct Statement *)(*stmt->__anon1.compound.statements).first)->__anon1.forStmt.init);
+ProcessStatement(((struct Statement *)(*stmt->__anon1.compound.statements).first)->__anon1.forStmt.check);
+ProcessExpressionType((*((struct Statement *)(*stmt->__anon1.compound.statements).first)->__anon1.forStmt.increment).first);
}
else if(isLinkList && !isList)
{
-struct __ecereNameSpace__ecere__com__Class * typeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, _class->templateArgs[3].dataTypeString);
+struct __ecereNameSpace__ecere__com__Class * typeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, _class->templateArgs[3].__anon1.__anon1.dataTypeString);
struct __ecereNameSpace__ecere__com__Class * listItemClass = __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, "ListItem");
-if(typeClass && __ecereNameSpace__ecere__com__eClass_IsDerived(typeClass, listItemClass) && _class->templateArgs[5].dataTypeString && !strcmp(_class->templateArgs[5].dataTypeString, "LT::link"))
+if(typeClass && __ecereNameSpace__ecere__com__eClass_IsDerived(typeClass, listItemClass) && _class->templateArgs[5].__anon1.__anon1.dataTypeString && !strcmp(_class->templateArgs[5].__anon1.__anon1.dataTypeString, "LT::link"))
{
-stmt->compound.statements = MkListOne(MkForStmt(MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), '=', MkExpMember(MkExpIdentifier(MkIdentifier("__internalLinkList")), MkIdentifier("first"))))), MkExpressionStmt(MkListOne(MkExpIdentifier(CopyIdentifier(id)))), MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), '=', MkExpMember(MkExpIdentifier(CopyIdentifier(id)), MkIdentifier("next")))), block));
+stmt->__anon1.compound.statements = MkListOne(MkForStmt(MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), '=', MkExpMember(MkExpIdentifier(MkIdentifier("__internalLinkList")), MkIdentifier("first"))))), MkExpressionStmt(MkListOne(MkExpIdentifier(CopyIdentifier(id)))), MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), '=', MkExpMember(MkExpIdentifier(CopyIdentifier(id)), MkIdentifier("next")))), block));
}
else
{
struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
-struct Declarator * decl = SpecDeclFromString(_class->templateArgs[3].dataTypeString, specs, (((void *)0)));
+struct Declarator * decl = SpecDeclFromString(_class->templateArgs[3].__anon1.__anon1.dataTypeString, specs, (((void *)0)));
-stmt->compound.statements = MkListOne(MkForStmt(MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), '=', MkExpMember(MkExpIdentifier(MkIdentifier("__internalLinkList")), MkIdentifier("first"))))), MkExpressionStmt(MkListOne(MkExpIdentifier(CopyIdentifier(id)))), MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), '=', MkExpCast(MkTypeName(specs, decl), MkExpCall(MkExpMember(MkExpIdentifier(MkIdentifier("__internalLinkList")), MkIdentifier("GetNext")), MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("IteratorPointer")), (((void *)0))), MkExpIdentifier(CopyIdentifier(id)))))))), block));
+stmt->__anon1.compound.statements = MkListOne(MkForStmt(MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), '=', MkExpMember(MkExpIdentifier(MkIdentifier("__internalLinkList")), MkIdentifier("first"))))), MkExpressionStmt(MkListOne(MkExpIdentifier(CopyIdentifier(id)))), MkListOne(MkExpOp(MkExpIdentifier(CopyIdentifier(id)), '=', MkExpCast(MkTypeName(specs, decl), MkExpCall(MkExpMember(MkExpIdentifier(MkIdentifier("__internalLinkList")), MkIdentifier("GetNext")), MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("IteratorPointer")), (((void *)0))), MkExpIdentifier(CopyIdentifier(id)))))))), block));
}
-ProcessStatement(((struct Statement *)(*stmt->compound.statements).first)->forStmt.init);
-ProcessStatement(((struct Statement *)(*stmt->compound.statements).first)->forStmt.check);
-ProcessExpressionType((*((struct Statement *)(*stmt->compound.statements).first)->forStmt.increment).first);
+ProcessStatement(((struct Statement *)(*stmt->__anon1.compound.statements).first)->__anon1.forStmt.init);
+ProcessStatement(((struct Statement *)(*stmt->__anon1.compound.statements).first)->__anon1.forStmt.check);
+ProcessExpressionType((*((struct Statement *)(*stmt->__anon1.compound.statements).first)->__anon1.forStmt.increment).first);
}
else
{
-stmt->compound.statements = MkListOne(MkWhileStmt(MkListOne(MkExpCall(MkExpMember(expIt = MkExpIdentifier(CopyIdentifier(id)), MkIdentifier("Next")), (((void *)0)))), block));
+stmt->__anon1.compound.statements = MkListOne(MkWhileStmt(MkListOne(MkExpCall(MkExpMember(expIt = MkExpIdentifier(CopyIdentifier(id)), MkIdentifier("Next")), (((void *)0)))), block));
}
ProcessExpressionType(expIt);
-if((*stmt->compound.declarations).first)
-ProcessDeclaration((*stmt->compound.declarations).first);
+if((*stmt->__anon1.compound.declarations).first)
+ProcessDeclaration((*stmt->__anon1.compound.declarations).first);
if(symbol)
symbol->isIterator = isMap ? 2 : ((isArray || isBuiltin) ? 3 : (isLinkList ? (isList ? 5 : 4) : (isCustomAVLTree ? 6 : 1)));
ProcessStatement(stmt);
-curContext = stmt->compound.context->parent;
+curContext = stmt->__anon1.compound.context->parent;
break;
}
else
{
struct Expression * exp;
-if(stmt->expressions)
+if(stmt->__anon1.expressions)
{
-for(exp = (*stmt->expressions).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.expressions).first; exp; exp = exp->next)
{
if(!exp->next)
{
if(curFunction && !curFunction->type)
curFunction->type = ProcessType(curFunction->specifiers, curFunction->declarator);
FreeType(exp->destType);
-exp->destType = (curFunction && curFunction->type && curFunction->type->kind == 11) ? curFunction->type->returnType : (((void *)0));
+exp->destType = (curFunction && curFunction->type && curFunction->type->kind == 11) ? curFunction->type->__anon1.__anon2.returnType : (((void *)0));
if(exp->destType)
exp->destType->refCount++;
}
}
case 14:
{
-ProcessDeclaration(stmt->decl);
+ProcessDeclaration(stmt->__anon1.decl);
break;
}
case 13:
{
struct AsmField * field;
-if(stmt->asmStmt.inputFields)
+if(stmt->__anon1.asmStmt.inputFields)
{
-for(field = (*stmt->asmStmt.inputFields).first; field; field = field->next)
+for(field = (*stmt->__anon1.asmStmt.inputFields).first; field; field = field->next)
if(field->expression)
ProcessExpressionType(field->expression);
}
-if(stmt->asmStmt.outputFields)
+if(stmt->__anon1.asmStmt.outputFields)
{
-for(field = (*stmt->asmStmt.outputFields).first; field; field = field->next)
+for(field = (*stmt->__anon1.asmStmt.outputFields).first; field; field = field->next)
if(field->expression)
ProcessExpressionType(field->expression);
}
-if(stmt->asmStmt.clobberedFields)
+if(stmt->__anon1.asmStmt.clobberedFields)
{
-for(field = (*stmt->asmStmt.clobberedFields).first; field; field = field->next)
+for(field = (*stmt->__anon1.asmStmt.clobberedFields).first; field; field = field->next)
{
if(field->expression)
ProcessExpressionType(field->expression);
case 17:
{
struct PropertyWatch * propWatch;
-struct __ecereNameSpace__ecere__sys__OldList * watches = stmt->_watch.watches;
-struct Expression * object = stmt->_watch.object;
-struct Expression * watcher = stmt->_watch.watcher;
+struct __ecereNameSpace__ecere__sys__OldList * watches = stmt->__anon1._watch.watches;
+struct Expression * object = stmt->__anon1._watch.object;
+struct Expression * watcher = stmt->__anon1._watch.watcher;
if(watcher)
ProcessExpressionType(watcher);
struct Context * context = curContext;
stmt->type = 3;
-stmt->expressions = MkList();
+stmt->__anon1.expressions = MkList();
curExternal = external->prev;
for(propWatch = (*watches).first; propWatch; propWatch = propWatch->next)
{
struct ClassFunction * func;
char watcherName[1024];
-struct __ecereNameSpace__ecere__com__Class * watcherClass = watcher ? ((watcher->expType && watcher->expType->kind == 8 && watcher->expType->_class) ? watcher->expType->_class->registered : (((void *)0))) : thisClass;
+struct __ecereNameSpace__ecere__com__Class * watcherClass = watcher ? ((watcher->expType && watcher->expType->kind == 8 && watcher->expType->__anon1._class) ? watcher->expType->__anon1._class->__anon1.registered : (((void *)0))) : thisClass;
struct External * createdExternal;
struct External * externalDecl = MkExternalDeclaration((((void *)0)));
strcat(watcherName, propID->string);
}
}
-if(object && object->expType && object->expType->kind == 8 && object->expType->_class && object->expType->_class->registered)
+if(object && object->expType && object->expType->kind == 8 && object->expType->__anon1._class && object->expType->__anon1._class->__anon1.registered)
{
-func = MkClassFunction(MkListOne(MkSpecifier(VOID)), (((void *)0)), MkDeclaratorFunction(MkDeclaratorIdentifier(MkIdentifier(watcherName)), MkListOne(MkTypeName(MkListOne(MkSpecifierName(object->expType->_class->string)), MkDeclaratorIdentifier(MkIdentifier("value"))))), (((void *)0)));
+func = MkClassFunction(MkListOne(MkSpecifier(VOID)), (((void *)0)), MkDeclaratorFunction(MkDeclaratorIdentifier(MkIdentifier(watcherName)), MkListOne(MkTypeName(MkListOne(MkSpecifierName(object->expType->__anon1._class->string)), MkDeclaratorIdentifier(MkIdentifier("value"))))), (((void *)0)));
ProcessClassFunctionBody(func, propWatch->compound);
propWatch->compound = (((void *)0));
-createdExternal = ProcessClassFunction(watcherClass, func, ast, curExternal, 0x1);
+createdExternal = ProcessClassFunction(watcherClass, func, ast, curExternal, 1);
createdExternal->symbol->idCode = external->symbol->idCode;
curExternal = createdExternal;
-ProcessFunction(createdExternal->function);
+ProcessFunction(createdExternal->__anon1.function);
{
-struct Declaration * decl = MkDeclaration(CopyList(createdExternal->function->specifiers, CopySpecifier), MkListOne(MkInitDeclarator(CopyDeclarator(createdExternal->function->declarator), (((void *)0)))));
+struct Declaration * decl = MkDeclaration(CopyList(createdExternal->__anon1.function->specifiers, CopySpecifier), MkListOne(MkInitDeclarator(CopyDeclarator(createdExternal->__anon1.function->declarator), (((void *)0)))));
-externalDecl->declaration = decl;
-if(decl->symbol && !decl->symbol->pointerExternal)
-decl->symbol->pointerExternal = externalDecl;
+externalDecl->__anon1.declaration = decl;
+if(decl->symbol && !decl->symbol->__anon2.__anon1.pointerExternal)
+decl->symbol->__anon2.__anon1.pointerExternal = externalDecl;
}
if(propWatch->deleteWatch)
{
ListAdd(args, CopyExpression(object));
ListAdd(args, watcher ? CopyExpression(watcher) : MkExpIdentifier(MkIdentifier("this")));
ListAdd(args, MkExpIdentifier(MkIdentifier(watcherName)));
-ListAdd(stmt->expressions, MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_WatchDestruction")), args));
+ListAdd(stmt->__anon1.expressions, MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_WatchDestruction")), args));
}
else
{
-struct __ecereNameSpace__ecere__com__Class * _class = object->expType->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = object->expType->__anon1._class->__anon1.registered;
struct Identifier * propID;
for(propID = (*propWatch->properties).first; propID; propID = propID->next)
DeclareProperty(prop, setName, getName);
strcpy(propName, "__ecereProp_");
-FullClassNameCat(propName, prop->_class->fullName, 0x0);
+FullClassNameCat(propName, prop->_class->fullName, 0);
strcat(propName, "_");
-FullClassNameCat(propName, prop->name, 0x1);
+FullClassNameCat(propName, prop->name, 1);
ListAdd(args, CopyExpression(object));
ListAdd(args, MkExpIdentifier(MkIdentifier(propName)));
ListAdd(args, watcher ? CopyExpression(watcher) : MkExpIdentifier(MkIdentifier("this")));
ListAdd(args, MkExpIdentifier(MkIdentifier(watcherName)));
-ListAdd(stmt->expressions, MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_Watch")), args));
+ListAdd(stmt->__anon1.expressions, MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_Watch")), args));
}
else
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "Property %s not found in class %s\n", (((void *)0))), propID->string, _class->fullName);
}
case 15:
{
-struct __ecereNameSpace__ecere__sys__OldList * watches = stmt->_watch.watches;
-struct Expression * object = stmt->_watch.object;
+struct __ecereNameSpace__ecere__sys__OldList * watches = stmt->__anon1._watch.watches;
+struct Expression * object = stmt->__anon1._watch.object;
struct __ecereNameSpace__ecere__com__Class * _class;
if(object)
ProcessExpressionType(object);
if(inCompiler)
{
-_class = object ? ((object->expType && object->expType->kind == 8 && object->expType->_class) ? object->expType->_class->registered : (((void *)0))) : thisClass;
+_class = object ? ((object->expType && object->expType->kind == 8 && object->expType->__anon1._class) ? object->expType->__anon1._class->__anon1.registered : (((void *)0))) : thisClass;
if(_class)
{
struct Identifier * propID;
stmt->type = 3;
-stmt->expressions = MkList();
-if(!watches && curFunction->propSet && (!object || (object->type == 0 && !strcmp(object->identifier->string, "this"))))
+stmt->__anon1.expressions = MkList();
+if(!watches && curFunction->propSet && (!object || (object->type == 0 && !strcmp(object->__anon1.__anon1.identifier->string, "this"))))
{
watches = MkListOne(MkIdentifier(curFunction->propSet->string));
}
}
case 16:
{
-struct __ecereNameSpace__ecere__sys__OldList * watches = stmt->_watch.watches;
-struct Expression * object = stmt->_watch.object;
-struct Expression * watcher = stmt->_watch.watcher;
+struct __ecereNameSpace__ecere__sys__OldList * watches = stmt->__anon1._watch.watches;
+struct Expression * object = stmt->__anon1._watch.object;
+struct Expression * watcher = stmt->__anon1._watch.watcher;
struct __ecereNameSpace__ecere__com__Class * _class;
if(object)
ProcessExpressionType(watcher);
if(inCompiler)
{
-_class = (object && object->expType && object->expType->kind == 8 && object->expType->_class) ? object->expType->_class->registered : (((void *)0));
+_class = (object && object->expType && object->expType->kind == 8 && object->expType->__anon1._class) ? object->expType->__anon1._class->__anon1.registered : (((void *)0));
if(watcher || thisClass)
{
if(_class)
struct Identifier * propID;
stmt->type = 3;
-stmt->expressions = MkList();
+stmt->__anon1.expressions = MkList();
if(!watches)
{
struct __ecereNameSpace__ecere__sys__OldList * args;
ListAdd(args, CopyExpression(object));
ListAdd(args, MkExpConstant("0"));
ListAdd(args, watcher ? CopyExpression(watcher) : MkExpIdentifier(MkIdentifier("this")));
-ListAdd(stmt->expressions, MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_StopWatching")), args));
+ListAdd(stmt->__anon1.expressions, MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_StopWatching")), args));
}
else
{
DeclareProperty(prop, setName, getName);
strcpy(propName, "__ecereProp_");
-FullClassNameCat(propName, prop->_class->fullName, 0x0);
+FullClassNameCat(propName, prop->_class->fullName, 0);
strcat(propName, "_");
-FullClassNameCat(propName, prop->name, 0x1);
-MangleClassName(propName);
+FullClassNameCat(propName, prop->name, 1);
ListAdd(args, CopyExpression(object));
ListAdd(args, MkExpIdentifier(MkIdentifier(propName)));
ListAdd(args, watcher ? CopyExpression(watcher) : MkExpIdentifier(MkIdentifier("this")));
-ListAdd(stmt->expressions, MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_StopWatching")), args));
+ListAdd(stmt->__anon1.expressions, MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_StopWatching")), args));
}
else
Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "Property %s not found in class %s\n", (((void *)0))), propID->string, _class->fullName);
extern struct Expression * QBrackets(struct Expression * exp);
-extern struct TypeName * QMkType(char * spec, struct Declarator * decl);
+extern struct TypeName * QMkType(const char * spec, struct Declarator * decl);
-extern struct Declarator * QMkPtrDecl(char * id);
+extern struct Declarator * QMkPtrDecl(const char * id);
extern struct Expression * MkExpPointer(struct Expression * expression, struct Identifier * member);
struct Context * oldTopContext = topContext;
yylloc = function->loc;
-if(type && type->thisClass)
+if(type && type->__anon1.__anon2.thisClass)
{
-struct Symbol * classSym = type->thisClass;
-struct __ecereNameSpace__ecere__com__Class * _class = type->thisClass->registered;
+struct Symbol * classSym = type->__anon1.__anon2.thisClass;
+struct __ecereNameSpace__ecere__com__Class * _class = type->__anon1.__anon2.thisClass->__anon1.registered;
char className[1024];
char structName[1024];
struct Declarator * funcDecl;
struct Symbol * thisSymbol;
-unsigned int typedObject = 0x0;
+unsigned int typedObject = 0;
if(_class && !_class->base)
{
if(_class && !_class->symbol)
_class->symbol = FindClass(_class->fullName);
classSym = _class ? _class->symbol : (((void *)0));
-typedObject = 0x1;
+typedObject = 1;
}
thisClass = _class;
if(inCompiler && _class)
{
if(type->kind == 11)
{
-if(symbol->type->params.count == 1 && ((struct Type *)symbol->type->params.first)->kind == 0)
+if(symbol->type->__anon1.__anon2.params.count == 1 && ((struct Type *)symbol->type->__anon1.__anon2.params.first)->kind == 0)
{
-struct Type * param = symbol->type->params.first;
+struct Type * param = symbol->type->__anon1.__anon2.params.first;
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(&symbol->type->params, param);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(&symbol->type->__anon1.__anon2.params, param);
FreeType(param);
}
if(type->classObjectType != 1)
{
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(&symbol->type->params, (((void *)0)), MkClassType(_class->fullName));
-symbol->type->staticMethod = 0x1;
-symbol->type->thisClass = (((void *)0));
-symbol->type->extraParam = 0x0;
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(&symbol->type->__anon1.__anon2.params, (((void *)0)), MkClassType(_class->fullName));
+symbol->type->__anon1.__anon2.staticMethod = 1;
+symbol->type->__anon1.__anon2.thisClass = (((void *)0));
+symbol->type->extraParam = 0;
}
}
strcpy(className, "__ecereClass_");
-FullClassNameCat(className, _class->fullName, 0x1);
-MangleClassName(className);
+FullClassNameCat(className, _class->fullName, 1);
structName[0] = (char)0;
-FullClassNameCat(structName, _class->fullName, 0x0);
+FullClassNameCat(structName, _class->fullName, 0);
funcDecl = GetFuncDecl(function->declarator);
if(funcDecl)
{
-if(funcDecl->function.parameters && (*funcDecl->function.parameters).count == 1)
+if(funcDecl->__anon1.function.parameters && (*funcDecl->__anon1.function.parameters).count == 1)
{
-struct TypeName * param = (*funcDecl->function.parameters).first;
+struct TypeName * param = (*funcDecl->__anon1.function.parameters).first;
-if(param->qualifiers && (*param->qualifiers).count == 1 && ((struct Specifier *)(*param->qualifiers).first)->specifier == VOID && !param->declarator)
+if(param->qualifiers && (*param->qualifiers).count == 1 && ((struct Specifier *)(*param->qualifiers).first)->__anon1.specifier == VOID && !param->declarator)
{
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*funcDecl->function.parameters), param);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*funcDecl->__anon1.function.parameters), param);
FreeTypeName(param);
}
}
if(!function->propertyNoThis)
{
-struct TypeName * thisParam;
+struct TypeName * thisParam = (((void *)0));
if(type->classObjectType != 1)
{
thisParam = QMkClass(_class->fullName, MkDeclaratorIdentifier(MkIdentifier("this")));
-if(!funcDecl->function.parameters)
-funcDecl->function.parameters = MkList();
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->function.parameters), (((void *)0)), thisParam);
+if(!funcDecl->__anon1.function.parameters)
+funcDecl->__anon1.function.parameters = MkList();
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->__anon1.function.parameters), (((void *)0)), thisParam);
}
if(typedObject)
{
__ecereInstance1->declarator = MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), MkDeclaratorIdentifier(MkIdentifier("class"))), __ecereInstance1->qualifiers = MkListOne(MkStructOrUnion(3, MkIdentifier("__ecereNameSpace__ecere__com__Class"), (((void *)0)))), __ecereInstance1;
});
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->function.parameters), (((void *)0)), thisParam);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->__anon1.function.parameters), (((void *)0)), thisParam);
}
}
}
-if(symbol && symbol->pointerExternal && symbol->pointerExternal->type == 1)
+if(symbol && symbol->__anon2.__anon1.pointerExternal && symbol->__anon2.__anon1.pointerExternal->type == 1)
{
-struct InitDeclarator * initDecl = (*symbol->pointerExternal->declaration->declarators).first;
+struct InitDeclarator * initDecl = (*symbol->__anon2.__anon1.pointerExternal->__anon1.declaration->__anon1.__anon1.declarators).first;
funcDecl = GetFuncDecl(initDecl->declarator);
if(funcDecl)
{
-if(funcDecl->function.parameters && (*funcDecl->function.parameters).count == 1)
+if(funcDecl->__anon1.function.parameters && (*funcDecl->__anon1.function.parameters).count == 1)
{
-struct TypeName * param = (*funcDecl->function.parameters).first;
+struct TypeName * param = (*funcDecl->__anon1.function.parameters).first;
-if(param->qualifiers && (*param->qualifiers).count == 1 && ((struct Specifier *)(*param->qualifiers).first)->specifier == VOID && !param->declarator)
+if(param->qualifiers && (*param->qualifiers).count == 1 && ((struct Specifier *)(*param->qualifiers).first)->__anon1.specifier == VOID && !param->declarator)
{
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*funcDecl->function.parameters), param);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*funcDecl->__anon1.function.parameters), param);
FreeTypeName(param);
}
}
if(type->classObjectType != 1)
{
-if((_class->type != 2 && _class->type != 3 && _class->type != 4) || function != (struct FunctionDefinition *)symbol->externalSet)
+if((_class->type != 2 && _class->type != 3 && _class->type != 4) || function != (struct FunctionDefinition *)symbol->__anon2.__anon2.externalSet)
{
struct TypeName * thisParam = QMkClass(_class->fullName, MkDeclaratorIdentifier(MkIdentifier("this")));
-if(!funcDecl->function.parameters)
-funcDecl->function.parameters = MkList();
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->function.parameters), (((void *)0)), thisParam);
+if(!funcDecl->__anon1.function.parameters)
+funcDecl->__anon1.function.parameters = MkList();
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->__anon1.function.parameters), (((void *)0)), thisParam);
}
}
}
__ecereInstance1->string = __ecereNameSpace__ecere__sys__CopyString("this"), __ecereInstance1->type = classSym ? MkClassType(classSym->string) : (((void *)0)), __ecereInstance1;
});
-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&function->body->compound.context->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
+__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&function->body->__anon1.compound.context->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
if(typedObject && thisSymbol->type)
{
thisSymbol->type->classObjectType = 2;
struct Expression * exp, * bytePtr;
strcpy(pointerName, "__ecerePointer_");
-FullClassNameCat(pointerName, _class->fullName, 0x0);
+FullClassNameCat(pointerName, _class->fullName, 0);
{
char className[1024];
strcpy(className, "__ecereClass_");
-FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
+FullClassNameCat(className, classSym->string, 1);
DeclareClass(classSym, className);
}
bytePtr = QBrackets(MkExpCast(QMkType("char", QMkPtrDecl((((void *)0)))), QMkExpId("this")));
exp->expType = __extension__ ({
struct Type * __ecereInstance2 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
-__ecereInstance2->refCount = 1, __ecereInstance2->kind = 13, __ecereInstance2->type = __extension__ ({
+__ecereInstance2->refCount = 1, __ecereInstance2->kind = 13, __ecereInstance2->__anon1.type = __extension__ ({
struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
__ecereInstance1->refCount = 1, __ecereInstance1->kind = 0, __ecereInstance1;
{
struct Context * prevContext = curContext;
-curContext = function->body->compound.context;
+curContext = function->body->__anon1.compound.context;
decl = MkDeclaration(MkListOne(MkStructOrUnion(3, MkIdentifier(structName), (((void *)0)))), MkListOne(MkInitDeclarator(QMkPtrDecl(pointerName), initializer)));
curContext = prevContext;
}
decl->symbol = (((void *)0));
-if(!function->body->compound.declarations)
-function->body->compound.declarations = MkList();
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*function->body->compound.declarations), (((void *)0)), decl);
+if(!function->body->__anon1.compound.declarations)
+function->body->__anon1.compound.declarations = MkList();
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*function->body->__anon1.compound.declarations), (((void *)0)), decl);
}
}
}
{
FreeSpecifier(id->_class);
id->_class = (((void *)0));
-if(symbol && symbol->pointerExternal && symbol->pointerExternal->type == 1)
+if(symbol && symbol->__anon2.__anon1.pointerExternal && symbol->__anon2.__anon1.pointerExternal->type == 1)
{
-struct InitDeclarator * initDecl = (*symbol->pointerExternal->declaration->declarators).first;
+struct InitDeclarator * initDecl = (*symbol->__anon2.__anon1.pointerExternal->__anon1.declaration->__anon1.__anon1.declarators).first;
id = GetDeclId(initDecl->declarator);
FreeSpecifier(id->_class);
}
}
if(function->body)
-topContext = function->body->compound.context;
+topContext = function->body->__anon1.compound.context;
{
struct FunctionDefinition * oldFunction = curFunction;
struct Context * prevContext = curContext;
struct Statement * fireWatchers = MkFireWatchersStmt((((void *)0)), (((void *)0)));
-if(!function->body->compound.statements)
-function->body->compound.statements = MkList();
-ListAdd(function->body->compound.statements, fireWatchers);
+if(!function->body->__anon1.compound.statements)
+function->body->__anon1.compound.statements = MkList();
+ListAdd(function->body->__anon1.compound.statements, fireWatchers);
curCompound = function->body;
-curContext = function->body->compound.context;
+curContext = function->body->__anon1.compound.context;
ProcessStatement(fireWatchers);
curContext = prevContext;
curCompound = prevCompound;
{
struct ClassDef * def;
struct External * external = curExternal;
-struct __ecereNameSpace__ecere__com__Class * regClass = symbol ? symbol->registered : (((void *)0));
+struct __ecereNameSpace__ecere__com__Class * regClass = symbol ? symbol->__anon1.registered : (((void *)0));
for(def = definitions->first; def; def = def->next)
{
if(def->type == 0)
{
-if(def->function->declarator)
-curExternal = def->function->declarator->symbol->pointerExternal;
+if(def->__anon1.function->declarator)
+curExternal = def->__anon1.function->declarator->symbol->__anon2.__anon1.pointerExternal;
else
curExternal = external;
-ProcessFunction((struct FunctionDefinition *)def->function);
+ProcessFunction((struct FunctionDefinition *)def->__anon1.function);
}
else if(def->type == 2)
{
-if(def->decl->type == 2)
+if(def->__anon1.decl->type == 2)
{
thisClass = regClass;
-ProcessInstantiationType(def->decl->inst);
+ProcessInstantiationType(def->__anon1.decl->__anon1.inst);
thisClass = (((void *)0));
}
else
if(regClass)
thisClass = regClass;
-ProcessDeclaration(def->decl);
+ProcessDeclaration(def->__anon1.decl);
thisClass = backThisClass;
}
}
-else if(def->type == 1 && def->defProperties)
+else if(def->type == 1 && def->__anon1.defProperties)
{
struct MemberInit * defProperty;
struct Symbol * thisSymbol = (thisSymbol = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol), thisSymbol->string = __ecereNameSpace__ecere__sys__CopyString("this"), thisSymbol->type = regClass ? MkClassType(regClass->fullName) : (((void *)0)), thisSymbol);
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&globalContext->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
-for(defProperty = (*def->defProperties).first; defProperty; defProperty = defProperty->next)
+for(defProperty = (*def->__anon1.defProperties).first; defProperty; defProperty = defProperty->next)
{
thisClass = regClass;
ProcessMemberInitData(defProperty, regClass, (((void *)0)), (((void *)0)), (((void *)0)), (((void *)0)));
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&globalContext->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
FreeSymbol(thisSymbol);
}
-else if(def->type == 3 && def->propertyDef)
+else if(def->type == 3 && def->__anon1.propertyDef)
{
-struct PropertyDef * prop = def->propertyDef;
+struct PropertyDef * prop = def->__anon1.propertyDef;
thisClass = regClass;
if(prop->setStmt)
{
struct Symbol * thisSymbol = (thisSymbol = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol), thisSymbol->string = __ecereNameSpace__ecere__sys__CopyString("this"), thisSymbol->type = MkClassType(regClass->fullName), thisSymbol);
-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&prop->setStmt->compound.context->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
+__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&prop->setStmt->__anon1.compound.context->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
}
-curExternal = prop->symbol ? prop->symbol->externalSet : (((void *)0));
+curExternal = prop->symbol ? prop->symbol->__anon2.__anon2.externalSet : (((void *)0));
ProcessStatement(prop->setStmt);
}
if(prop->getStmt)
{
struct Symbol * thisSymbol = (thisSymbol = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol), thisSymbol->string = __ecereNameSpace__ecere__sys__CopyString("this"), thisSymbol->type = MkClassType(regClass->fullName), thisSymbol);
-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&prop->getStmt->compound.context->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
+__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&prop->getStmt->__anon1.compound.context->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
}
-curExternal = prop->symbol ? prop->symbol->externalGet : (((void *)0));
+curExternal = prop->symbol ? prop->symbol->__anon2.__anon2.externalGet : (((void *)0));
ProcessStatement(prop->getStmt);
}
if(prop->issetStmt)
{
struct Symbol * thisSymbol = (thisSymbol = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol), thisSymbol->string = __ecereNameSpace__ecere__sys__CopyString("this"), thisSymbol->type = MkClassType(regClass->fullName), thisSymbol);
-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&prop->issetStmt->compound.context->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
+__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&prop->issetStmt->__anon1.compound.context->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
}
-curExternal = prop->symbol ? prop->symbol->externalIsSet : (((void *)0));
+curExternal = prop->symbol ? prop->symbol->__anon2.__anon2.externalIsSet : (((void *)0));
ProcessStatement(prop->issetStmt);
}
thisClass = (((void *)0));
}
-else if(def->type == 4 && def->propertyWatch)
+else if(def->type == 4 && def->__anon1.propertyWatch)
{
-struct PropertyWatch * propertyWatch = def->propertyWatch;
+struct PropertyWatch * propertyWatch = def->__anon1.propertyWatch;
thisClass = regClass;
if(propertyWatch->compound)
{
struct Symbol * thisSymbol = (thisSymbol = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol), thisSymbol->string = __ecereNameSpace__ecere__sys__CopyString("this"), thisSymbol->type = regClass ? MkClassType(regClass->fullName) : (((void *)0)), thisSymbol);
-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&propertyWatch->compound->compound.context->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
+__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&propertyWatch->compound->__anon1.compound.context->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
curExternal = (((void *)0));
ProcessStatement(propertyWatch->compound);
}
}
}
-void DeclareFunctionUtil(char * s)
+void DeclareFunctionUtil(const char * s)
{
struct __ecereNameSpace__ecere__com__GlobalFunction * function = __ecereNameSpace__ecere__com__eSystem_FindFunction(privateModule, s);
name[0] = (char)0;
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)function->module + structSize_Instance)))->importType != 1 && (!function->dataType || !function->dataType->dllExport))
strcpy(name, "__ecereFunction_");
-FullClassNameCat(name, s, 0x0);
+FullClassNameCat(name, s, 0);
DeclareFunction(function, name);
}
}
{
if(external->type == 1)
{
-struct Declaration * decl = external->declaration;
+struct Declaration * decl = external->__anon1.declaration;
if(decl)
{
-struct __ecereNameSpace__ecere__sys__OldList * decls = decl->declarators;
+struct __ecereNameSpace__ecere__sys__OldList * decls = decl->__anon1.__anon1.declarators;
if(decls)
{
if(declarator && declarator->type == 1)
{
-struct Identifier * id = declarator->identifier;
+struct Identifier * id = declarator->__anon1.identifier;
if(id && id->string)
{
}
}
}
+{
+struct External * e = MkExternalDeclaration(MkDeclaration(MkListOne(MkStructOrUnion(3, MkIdentifier("__ecereNameSpace__ecere__com__Instance"), (((void *)0)))), (((void *)0))));
+
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), after, e);
+after = e;
+}
temp->symbol = __extension__ ({
struct Symbol * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol);
DeclareFunctionUtil("eSystem_Renew0");
DeclareFunctionUtil("eSystem_Delete");
DeclareFunctionUtil("eClass_GetProperty");
+DeclareFunctionUtil("eClass_SetProperty");
DeclareFunctionUtil("eInstance_FireSelfWatchers");
-DeclareStruct("ecere::com::Class", 0x0);
-DeclareStruct("ecere::com::Instance", 0x0);
-DeclareStruct("ecere::com::Property", 0x0);
-DeclareStruct("ecere::com::DataMember", 0x0);
-DeclareStruct("ecere::com::Method", 0x0);
-DeclareStruct("ecere::com::SerialBuffer", 0x0);
-DeclareStruct("ecere::com::ClassTemplateArgument", 0x0);
+DeclareFunctionUtil("eInstance_SetMethod");
+DeclareFunctionUtil("eInstance_IncRef");
+DeclareFunctionUtil("eInstance_StopWatching");
+DeclareFunctionUtil("eInstance_Watch");
+DeclareFunctionUtil("eInstance_FireWatchers");
+DeclareStruct("ecere::com::Class", 0);
+DeclareStruct("ecere::com::Instance", 0);
+DeclareStruct("ecere::com::Property", 0);
+DeclareStruct("ecere::com::DataMember", 0);
+DeclareStruct("ecere::com::Method", 0);
+DeclareStruct("ecere::com::SerialBuffer", 0);
+DeclareStruct("ecere::com::ClassTemplateArgument", 0);
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*ast), temp);
for(external = (*ast).first; external; external = external->next)
{
afterExternal = curExternal = external;
if(external->type == 0)
{
-currentClass = external->function->_class;
-ProcessFunction(external->function);
+currentClass = external->__anon1.function->_class;
+ProcessFunction(external->__anon1.function);
}
else if(external->type == 1)
{
currentClass = (((void *)0));
-if(external->declaration)
-ProcessDeclaration(external->declaration);
+if(external->__anon1.declaration)
+ProcessDeclaration(external->__anon1.declaration);
}
else if(external->type == 2)
{
-struct ClassDefinition * _class = external->_class;
+struct ClassDefinition * _class = external->__anon1._class;
-currentClass = external->symbol->registered;
+currentClass = external->symbol->__anon1.registered;
if(_class->definitions)
{
ProcessClass(_class->definitions, _class->symbol);
if(inCompiler)
{
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*ast), external);
-((external ? (__ecereClass_External->Destructor ? __ecereClass_External->Destructor(external) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(external)) : 0), external = 0);
+((external ? (__ecereClass_External->Destructor ? __ecereClass_External->Destructor((void *)external) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(external)) : 0), external = 0);
}
}
else if(external->type == 4)
{
-thisNameSpace = external->id->string;
+thisNameSpace = external->__anon1.id->string;
}
}
currentClass = (((void *)0));
thisNameSpace = (((void *)0));
curExternal = (((void *)0));
-((temp->symbol ? (__ecereClass_Symbol->Destructor ? __ecereClass_Symbol->Destructor(temp->symbol) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(temp->symbol)) : 0), temp->symbol = 0);
-((temp ? (__ecereClass_External->Destructor ? __ecereClass_External->Destructor(temp) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(temp)) : 0), temp = 0);
+((temp->symbol ? (__ecereClass_Symbol->Destructor ? __ecereClass_Symbol->Destructor((void *)temp->symbol) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(temp->symbol)) : 0), temp->symbol = 0);
+((temp ? (__ecereClass_External->Destructor ? __ecereClass_External->Destructor((void *)temp) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(temp)) : 0), temp = 0);
}
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char * name, char * type, void * func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char * name, const char * type, void * func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char * name, char * baseName, int size, int sizeClass, unsigned int (* Constructor)(void * ), void (* Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char * name, const char * baseName, int size, int sizeClass, unsigned int (* Constructor)(void * ), void (* Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
void __ecereRegisterModule_pass15(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetYydebug", "void SetYydebug(bool b)", SetYydebug, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetThisClass", "void SetThisClass(ecere::com::Class c)", SetThisClass, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ComputeModuleClasses", "void ComputeModuleClasses(ecere::com::Module module)", ComputeModuleClasses, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ComputeTypeSize", "int ComputeTypeSize(Type type)", ComputeTypeSize, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("AddMembers", "int AddMembers(ecere::sys::OldList * declarations, ecere::com::Class _class, bool isMember, uint * retSize, ecere::com::Class topClass, bool * addedPadding)", AddMembers, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareStruct", "void DeclareStruct(char * name, bool skipNoHead)", DeclareStruct, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareStruct", "void DeclareStruct(const char * name, bool skipNoHead)", DeclareStruct, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareProperty", "void DeclareProperty(ecere::com::Property prop, char * setName, char * getName)", DeclareProperty, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("Dereference", "Type Dereference(Type source)", Dereference, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessMemberInitData", "void ProcessMemberInitData(MemberInit member, ecere::com::Class _class, ecere::com::Class * curClass, ecere::com::DataMember * curMember, ecere::com::DataMember * subMemberStack, int * subMemberStackPos)", ProcessMemberInitData, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FinishTemplatesContext", "void FinishTemplatesContext(Context context)", FinishTemplatesContext, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessMethodType", "void ProcessMethodType(ecere::com::Method method)", ProcessMethodType, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessPropertyType", "void ProcessPropertyType(ecere::com::Property prop)", ProcessPropertyType, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareMethod", "void DeclareMethod(ecere::com::Method method, char * name)", DeclareMethod, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareMethod", "void DeclareMethod(ecere::com::Method method, const char * name)", DeclareMethod, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ReplaceThisClass", "char * ReplaceThisClass(ecere::com::Class _class)", ReplaceThisClass, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ReplaceThisClassType", "Type ReplaceThisClassType(ecere::com::Class _class)", ReplaceThisClassType, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ReplaceThisClassSpecifiers", "void ReplaceThisClassSpecifiers(ecere::sys::OldList specs, ecere::com::Class _class)", ReplaceThisClassSpecifiers, module, 2);
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "Conversion", 0, sizeof(struct Conversion), 0, 0, 0, module, 2, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
__ecereClass_Conversion = class;
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MatchTypes", "bool MatchTypes(Type source, Type dest, ecere::sys::OldList conversions, ecere::com::Class owningClassSource, ecere::com::Class owningClassDest, bool doConversion, bool enumBaseType, bool acceptReversedParams, bool isConversionExploration)", MatchTypes, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MatchTypes", "bool MatchTypes(Type source, Type dest, ecere::sys::OldList conversions, ecere::com::Class owningClassSource, ecere::com::Class owningClassDest, bool doConversion, bool enumBaseType, bool acceptReversedParams, bool isConversionExploration, bool warnConst)", MatchTypes, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MatchWithEnums_NameSpace", "bool MatchWithEnums_NameSpace(ecere::com::NameSpace nameSpace, Expression sourceExp, Type dest, char * string, ecere::sys::OldList conversions)", MatchWithEnums_NameSpace, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ModuleVisibility", "bool ModuleVisibility(ecere::com::Module searchIn, ecere::com::Module searchFor)", ModuleVisibility, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MatchWithEnums_Module", "bool MatchWithEnums_Module(ecere::com::Module mainModule, Expression sourceExp, Type dest, char * string, ecere::sys::OldList conversions)", MatchWithEnums_Module, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MatchTypeExpression", "bool MatchTypeExpression(Expression sourceExp, Type dest, ecere::sys::OldList conversions, bool skipUnitBla)", MatchTypeExpression, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MatchTypeExpression", "bool MatchTypeExpression(Expression sourceExp, Type dest, ecere::sys::OldList conversions, bool skipUnitBla, bool warnConst)", MatchTypeExpression, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ReadString", "void ReadString(char * output, char * string)", ReadString, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("UnescapeString", "int UnescapeString(char * d, char * s, int len)", UnescapeString, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("OffsetEscapedString", "char * OffsetEscapedString(char * s, int len, int offset)", OffsetEscapedString, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("CallOperator", "void CallOperator(Expression exp, Expression exp1, Expression exp2, Operand op1, Operand op2)", CallOperator, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ComputeExpression", "void ComputeExpression(Expression exp)", ComputeExpression, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("CheckTemplateTypes", "void CheckTemplateTypes(Expression exp)", CheckTemplateTypes, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FindSymbol", "Symbol FindSymbol(char * name, Context startContext, Context endContext, bool isStruct, bool globalNameSpace)", FindSymbol, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FindSymbol", "Symbol FindSymbol(const char * name, Context startContext, Context endContext, bool isStruct, bool globalNameSpace)", FindSymbol, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("PrintType", "void PrintType(Type type, char * string, bool printName, bool fullName)", PrintType, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("PrintTypeNoConst", "void PrintTypeNoConst(Type type, char * string, bool printName, bool fullName)", PrintTypeNoConst, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FindMemberAndOffset", "Type FindMemberAndOffset(Type type, char * string, uint * offset)", FindMemberAndOffset, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ParseExpressionString", "Expression ParseExpressionString(char * expression)", ParseExpressionString, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ReplaceExpContents", "void ReplaceExpContents(Expression checkedExp, Expression newExp)", ReplaceExpContents, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ApplyAnyObjectLogic", "void ApplyAnyObjectLogic(Expression e)", ApplyAnyObjectLogic, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ApplyLocation", "void ApplyLocation(Expression exp, Location loc)", ApplyLocation, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessExpressionType", "void ProcessExpressionType(Expression exp)", ProcessExpressionType, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareFunctionUtil", "void DeclareFunctionUtil(String s)", DeclareFunctionUtil, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareFunctionUtil", "void DeclareFunctionUtil(const String s)", DeclareFunctionUtil, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ComputeDataTypes", "void ComputeDataTypes(void)", ComputeDataTypes, module, 1);
}