compiler/libec: (#99) Avoiding anon struct/unions in favor of supporting GCC 4.4...
authorJerome St-Louis <jerome@ecere.com>
Sun, 1 Jun 2014 21:28:27 +0000 (17:28 -0400)
committerJerome St-Louis <jerome@ecere.com>
Sun, 1 Jun 2014 21:28:27 +0000 (17:28 -0400)
57 files changed:
compiler/bootstrap/ecc/bootstrap/ecc.c
compiler/bootstrap/ecc/bootstrap/ecc.main.c
compiler/bootstrap/ecere/bootstrap/AVLTree.c
compiler/bootstrap/ecere/bootstrap/Array.c
compiler/bootstrap/ecere/bootstrap/BTNode.c
compiler/bootstrap/ecere/bootstrap/BinaryTree.c
compiler/bootstrap/ecere/bootstrap/BufferedFile.c
compiler/bootstrap/ecere/bootstrap/BuiltInContainer.c
compiler/bootstrap/ecere/bootstrap/Container.c
compiler/bootstrap/ecere/bootstrap/CustomAVLTree.c
compiler/bootstrap/ecere/bootstrap/DualPipe.c
compiler/bootstrap/ecere/bootstrap/File.c
compiler/bootstrap/ecere/bootstrap/LinkList.c
compiler/bootstrap/ecere/bootstrap/List.c
compiler/bootstrap/ecere/bootstrap/Map.c
compiler/bootstrap/ecere/bootstrap/OldList.c
compiler/bootstrap/ecere/bootstrap/System.c
compiler/bootstrap/ecere/bootstrap/TempFile.c
compiler/bootstrap/ecere/bootstrap/dataTypes.c
compiler/bootstrap/ecere/bootstrap/ecere.main.c
compiler/bootstrap/ecere/bootstrap/i18n.c
compiler/bootstrap/ecere/bootstrap/instance.c
compiler/bootstrap/ecere/bootstrap/memory.c
compiler/bootstrap/ecp/bootstrap/ecp.c
compiler/bootstrap/ecp/bootstrap/ecp.main.c
compiler/bootstrap/ecs/bootstrap/ecs.c
compiler/bootstrap/ecs/bootstrap/ecs.main.c
compiler/bootstrap/libec/bootstrap/ast.c
compiler/bootstrap/libec/bootstrap/copy.c
compiler/bootstrap/libec/bootstrap/dbpass.c
compiler/bootstrap/libec/bootstrap/ec.main.c
compiler/bootstrap/libec/bootstrap/ecdefs.c
compiler/bootstrap/libec/bootstrap/expression.c
compiler/bootstrap/libec/bootstrap/firstPass.c
compiler/bootstrap/libec/bootstrap/freeAst.c
compiler/bootstrap/libec/bootstrap/grammar.c
compiler/bootstrap/libec/bootstrap/lexer.c
compiler/bootstrap/libec/bootstrap/loadSymbols.c
compiler/bootstrap/libec/bootstrap/output.c
compiler/bootstrap/libec/bootstrap/pass0.c
compiler/bootstrap/libec/bootstrap/pass1.c
compiler/bootstrap/libec/bootstrap/pass15.c
compiler/bootstrap/libec/bootstrap/pass16.c
compiler/bootstrap/libec/bootstrap/pass2.c
compiler/bootstrap/libec/bootstrap/pass3.c
compiler/bootstrap/libec/bootstrap/shortcuts.c
compiler/bootstrap/libec/bootstrap/type.c
compiler/libec/precompiled/expression.c
compiler/libec/precompiled/grammar.c
compiler/libec/precompiled/type.c
compiler/libec/src/ast.ec
compiler/libec/src/ecdefs.ec
compiler/libec/src/pass1.ec
compiler/libec/src/pass15.ec
compiler/libec/src/pass16.ec
compiler/libec/src/pass2.ec
ecere/src/sys/System.ec

index b9eb5c4..c23d05f 100644 (file)
@@ -101,12 +101,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 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);
@@ -207,7 +207,7 @@ float f;
 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;
@@ -291,7 +291,7 @@ union
 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
@@ -300,20 +300,20 @@ struct
 {
 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;
@@ -474,7 +474,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -484,9 +484,9 @@ 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));
 
 static struct Context * globalContext;
index 5ddcb2f..3c9d745 100644 (file)
@@ -101,12 +101,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 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);
@@ -194,7 +194,7 @@ float f;
 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;
@@ -381,7 +381,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -391,9 +391,9 @@ 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));
 
 static struct __ecereNameSpace__ecere__com__Instance * __currentModule;
index 96891e9..1327cc1 100644 (file)
@@ -258,7 +258,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -271,7 +271,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -281,9 +281,9 @@ 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));
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__AVLTree;
@@ -301,7 +301,7 @@ uint64 key;
 
 uint64 __ecereMethod___ecereNameSpace__ecere__com__AVLTree_GetData(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__AVLNode * node)
 {
-return node ? ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->type == 1) ? (uint64)(((unsigned char *)&node->key) + __ENDIAN_PAD(sizeof(void *))) : node->key) : (uint64)0;
+return node ? ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 1) ? (uint64)(((unsigned char *)&node->key) + __ENDIAN_PAD(sizeof(void *))) : node->key) : (uint64)0;
 }
 
 extern void *  memcpy(void * , const void * , size_t size);
@@ -325,8 +325,8 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__AVLTree->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, node);
-if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->type == 1)
-memcpy((void *)(((unsigned char *)&node->key) + __ENDIAN_PAD(sizeof(void *))), (void *)value, ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->structSize);
+if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 1)
+memcpy((void *)(((unsigned char *)&node->key) + __ENDIAN_PAD(sizeof(void *))), (void *)value, ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->structSize);
 else
 node->key = value;
 ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__ecereClass___ecereNameSpace__ecere__com__AVLTree->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add])(this, (uint64)node);
@@ -343,10 +343,10 @@ struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__e
 {
 struct __ecereNameSpace__ecere__com__AVLNode * node;
 
-if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->type == 1)
+if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 1)
 {
-node = (struct __ecereNameSpace__ecere__com__AVLNode *)__ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (sizeof(struct __ecereNameSpace__ecere__com__AVLNode) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->structSize - sizeof node->key));
-memcpy((void *)(((unsigned char *)&node->key) + __ENDIAN_PAD(sizeof(void *))), (void *)value, ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->structSize);
+node = (struct __ecereNameSpace__ecere__com__AVLNode *)__ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (sizeof(struct __ecereNameSpace__ecere__com__AVLNode) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->structSize - sizeof node->key));
+memcpy((void *)(((unsigned char *)&node->key) + __ENDIAN_PAD(sizeof(void *))), (void *)value, ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->structSize);
 }
 else
 node = (struct __ecereNameSpace__ecere__com__AVLNode *)__extension__ ({
@@ -377,7 +377,7 @@ struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__e
 {
 struct __ecereNameSpace__ecere__com__AVLNode * root = ((struct __ecereNameSpace__ecere__com__AVLNode *)((struct __ecereNameSpace__ecere__com__CustomAVLTree *)(((char *)this + structSize_Instance)))->root);
 
-return root ? __ecereMethod___ecereNameSpace__ecere__com__AVLNode_Find(root, ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass, key) : (((void *)0));
+return root ? __ecereMethod___ecereNameSpace__ecere__com__AVLNode_Find(root, ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass, key) : (((void *)0));
 }
 
 struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__ecere__com__AVLNode_FindAll(struct __ecereNameSpace__ecere__com__AVLNode * this, const uint64 key);
index 3534a46..3523e5f 100644 (file)
@@ -257,7 +257,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -270,7 +270,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -280,9 +280,9 @@ 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));
 
 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Array_size, * __ecerePropM___ecereNameSpace__ecere__com__Array_size;
@@ -318,7 +318,7 @@ struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereName
 {
 struct __ecereNameSpace__ecere__com__Array * __ecerePointer___ecereNameSpace__ecere__com__Array = (struct __ecereNameSpace__ecere__com__Array *)(this ? (((char *)this) + structSize_Instance) : 0);
 
-return (struct __ecereNameSpace__ecere__com__IteratorPointer *)(__ecerePointer___ecereNameSpace__ecere__com__Array->array ? (((unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array) + ((__ecerePointer___ecereNameSpace__ecere__com__Array->count - 1) * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize))) : (((void *)0)));
+return (struct __ecereNameSpace__ecere__com__IteratorPointer *)(__ecerePointer___ecereNameSpace__ecere__com__Array->array ? (((unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array) + ((__ecerePointer___ecereNameSpace__ecere__com__Array->count - 1) * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize))) : (((void *)0)));
 }
 
 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Array_GetPrev(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * ip)
@@ -326,7 +326,7 @@ struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereName
 struct __ecereNameSpace__ecere__com__Array * __ecerePointer___ecereNameSpace__ecere__com__Array = (struct __ecereNameSpace__ecere__com__Array *)(this ? (((char *)this) + structSize_Instance) : 0);
 uint64 * item = (uint64 *)ip;
 
-return (struct __ecereNameSpace__ecere__com__IteratorPointer *)((item && item > __ecerePointer___ecereNameSpace__ecere__com__Array->array) ? (((unsigned char *)item) - (1 * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize))) : (((void *)0)));
+return (struct __ecereNameSpace__ecere__com__IteratorPointer *)((item && item > __ecerePointer___ecereNameSpace__ecere__com__Array->array) ? (((unsigned char *)item) - (1 * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize))) : (((void *)0)));
 }
 
 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Array_GetNext(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * ip)
@@ -334,7 +334,7 @@ struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereName
 struct __ecereNameSpace__ecere__com__Array * __ecerePointer___ecereNameSpace__ecere__com__Array = (struct __ecereNameSpace__ecere__com__Array *)(this ? (((char *)this) + structSize_Instance) : 0);
 uint64 * item = (uint64 *)ip;
 
-return (struct __ecereNameSpace__ecere__com__IteratorPointer *)((item && item < ((unsigned char *)((unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array) + (__ecerePointer___ecereNameSpace__ecere__com__Array->count * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize))) - (1 * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize))) ? (((unsigned char *)item) + (1 * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize))) : (((void *)0)));
+return (struct __ecereNameSpace__ecere__com__IteratorPointer *)((item && item < ((unsigned char *)((unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array) + (__ecerePointer___ecereNameSpace__ecere__com__Array->count * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize))) - (1 * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize))) ? (((unsigned char *)item) + (1 * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize))) : (((void *)0)));
 }
 
 uint64 __ecereMethod___ecereNameSpace__ecere__com__Array_GetData(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * ip)
@@ -342,7 +342,7 @@ uint64 __ecereMethod___ecereNameSpace__ecere__com__Array_GetData(struct __ecereN
 struct __ecereNameSpace__ecere__com__Array * __ecerePointer___ecereNameSpace__ecere__com__Array = (struct __ecereNameSpace__ecere__com__Array *)(this ? (((char *)this) + structSize_Instance) : 0);
 uint64 * item = (uint64 *)ip;
 
-return ((((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 1) ? ((uint64)item) : (((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? (uint64)*((void **)item) : ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize == 1) ? *((unsigned char *)item) : ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize == 2) ? *((unsigned short *)item) : ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize == 4) ? *((unsigned int *)item) : *(item)))))));
+return ((((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 1) ? ((uint64)item) : (((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? (uint64)*((void **)item) : ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize == 1) ? *((unsigned char *)item) : ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize == 2) ? *((unsigned short *)item) : ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize == 4) ? *((unsigned int *)item) : *(item)))))));
 }
 
 extern void *  memcpy(void * , const void * , size_t size);
@@ -352,7 +352,7 @@ unsigned int __ecereMethod___ecereNameSpace__ecere__com__Array_SetData(struct __
 struct __ecereNameSpace__ecere__com__Array * __ecerePointer___ecereNameSpace__ecere__com__Array = (struct __ecereNameSpace__ecere__com__Array *)(this ? (((char *)this) + structSize_Instance) : 0);
 uint64 * item = (uint64 *)ip;
 
-(memcpy(item, (char *)(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 1) ? value : ((char *)&value + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize)), (((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize));
+(memcpy(item, (char *)(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 1) ? value : ((char *)&value + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize)), (((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize));
 return 0x1;
 }
 
@@ -363,10 +363,10 @@ struct __ecereNameSpace__ecere__com__Array * __ecerePointer___ecereNameSpace__ec
 if((int)pos > __ecerePointer___ecereNameSpace__ecere__com__Array->count && create)
 {
 if((int)pos + 1 > __ecerePointer___ecereNameSpace__ecere__com__Array->minAllocSize)
-__ecerePointer___ecereNameSpace__ecere__com__Array->array = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize) * ((int)pos + 1));
+__ecerePointer___ecereNameSpace__ecere__com__Array->array = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize) * ((int)pos + 1));
 __ecerePointer___ecereNameSpace__ecere__com__Array->count = (int)pos + 1;
 }
-return ((int)pos < __ecerePointer___ecereNameSpace__ecere__com__Array->count && __ecerePointer___ecereNameSpace__ecere__com__Array->array) ? (struct __ecereNameSpace__ecere__com__IteratorPointer *)(((unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array) + ((int)pos * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize))) : (((void *)0));
+return ((int)pos < __ecerePointer___ecereNameSpace__ecere__com__Array->count && __ecerePointer___ecereNameSpace__ecere__com__Array->array) ? (struct __ecereNameSpace__ecere__com__IteratorPointer *)(((unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array) + ((int)pos * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize))) : (((void *)0));
 }
 
 extern void *  memmove(void * , const void * , size_t size);
@@ -374,18 +374,18 @@ extern void *  memmove(void * , const void * , size_t size);
 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Array_Insert(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * ip, uint64 value)
 {
 struct __ecereNameSpace__ecere__com__Array * __ecerePointer___ecereNameSpace__ecere__com__Array = (struct __ecereNameSpace__ecere__com__Array *)(this ? (((char *)this) + structSize_Instance) : 0);
-unsigned int tsize = ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize);
+unsigned int tsize = ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize);
 unsigned char * pos = ip ? ((unsigned char *)ip + tsize) : (unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array;
 
 if(__ecerePointer___ecereNameSpace__ecere__com__Array->count + 1 > __ecerePointer___ecereNameSpace__ecere__com__Array->minAllocSize)
 {
 int offset = pos - (unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array;
 
-__ecerePointer___ecereNameSpace__ecere__com__Array->array = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize) * (__ecerePointer___ecereNameSpace__ecere__com__Array->count + 1));
+__ecerePointer___ecereNameSpace__ecere__com__Array->array = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize) * (__ecerePointer___ecereNameSpace__ecere__com__Array->count + 1));
 pos = (unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array + offset;
 }
 memmove(pos + tsize, pos, (unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array + (__ecerePointer___ecereNameSpace__ecere__com__Array->count++) * tsize - pos);
-(memcpy((uint64 *)pos, (char *)(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 1) ? value : ((char *)&value + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize)), (((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize));
+(memcpy((uint64 *)pos, (char *)(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 1) ? value : ((char *)&value + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize)), (((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize));
 return (struct __ecereNameSpace__ecere__com__IteratorPointer *)pos;
 }
 
@@ -394,9 +394,9 @@ struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereName
 struct __ecereNameSpace__ecere__com__Array * __ecerePointer___ecereNameSpace__ecere__com__Array = (struct __ecereNameSpace__ecere__com__Array *)(this ? (((char *)this) + structSize_Instance) : 0);
 
 if(__ecerePointer___ecereNameSpace__ecere__com__Array->count + 1 > __ecerePointer___ecereNameSpace__ecere__com__Array->minAllocSize)
-__ecerePointer___ecereNameSpace__ecere__com__Array->array = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize) * (__ecerePointer___ecereNameSpace__ecere__com__Array->count + 1));
-(memcpy((char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array + (__ecerePointer___ecereNameSpace__ecere__com__Array->count * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void * ) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize)), (char *)(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 1) ? value : ((char *)&value + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize)), (((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize));
-return (struct __ecereNameSpace__ecere__com__IteratorPointer *)(((unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array) + ((__ecerePointer___ecereNameSpace__ecere__com__Array->count++) * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize)));
+__ecerePointer___ecereNameSpace__ecere__com__Array->array = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize) * (__ecerePointer___ecereNameSpace__ecere__com__Array->count + 1));
+(memcpy((char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array + (__ecerePointer___ecereNameSpace__ecere__com__Array->count * ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void * ) : ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize)), (char *)(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 1) ? value : ((char *)&value + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize)), (((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize));
+return (struct __ecereNameSpace__ecere__com__IteratorPointer *)(((unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array) + ((__ecerePointer___ecereNameSpace__ecere__com__Array->count++) * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize)));
 }
 
 void __ecereMethod___ecereNameSpace__ecere__com__Array_Remove(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * ip)
@@ -404,10 +404,10 @@ void __ecereMethod___ecereNameSpace__ecere__com__Array_Remove(struct __ecereName
 struct __ecereNameSpace__ecere__com__Array * __ecerePointer___ecereNameSpace__ecere__com__Array = (struct __ecereNameSpace__ecere__com__Array *)(this ? (((char *)this) + structSize_Instance) : 0);
 uint64 * it = (uint64 *)ip;
 
-memmove(it, ((unsigned char *)it) + (1 * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize)), (__ecerePointer___ecereNameSpace__ecere__com__Array->count - ((((unsigned char *)(it) - (unsigned char *)(__ecerePointer___ecereNameSpace__ecere__com__Array->array)) / ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize))) - 1) * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize));
+memmove(it, ((unsigned char *)it) + (1 * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize)), (__ecerePointer___ecereNameSpace__ecere__com__Array->count - ((((unsigned char *)(it) - (unsigned char *)(__ecerePointer___ecereNameSpace__ecere__com__Array->array)) / ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize))) - 1) * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize));
 __ecerePointer___ecereNameSpace__ecere__com__Array->count--;
 if(__ecerePointer___ecereNameSpace__ecere__com__Array->count + 1 > __ecerePointer___ecereNameSpace__ecere__com__Array->minAllocSize)
-__ecerePointer___ecereNameSpace__ecere__com__Array->array = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize) * (__ecerePointer___ecereNameSpace__ecere__com__Array->count));
+__ecerePointer___ecereNameSpace__ecere__com__Array->array = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize) * (__ecerePointer___ecereNameSpace__ecere__com__Array->count));
 }
 
 void __ecereMethod___ecereNameSpace__ecere__com__Array_Move(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * ip, struct __ecereNameSpace__ecere__com__IteratorPointer * afterIp)
@@ -420,7 +420,7 @@ void __ecereMethod___ecereNameSpace__ecere__com__Array_RemoveAll(struct __ecereN
 struct __ecereNameSpace__ecere__com__Array * __ecerePointer___ecereNameSpace__ecere__com__Array = (struct __ecereNameSpace__ecere__com__Array *)(this ? (((char *)this) + structSize_Instance) : 0);
 
 if(__ecerePointer___ecereNameSpace__ecere__com__Array->minAllocSize && __ecerePointer___ecereNameSpace__ecere__com__Array->array)
-__ecerePointer___ecereNameSpace__ecere__com__Array->array = __ecereNameSpace__ecere__com__eSystem_Renew0(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize) * (__ecerePointer___ecereNameSpace__ecere__com__Array->minAllocSize));
+__ecerePointer___ecereNameSpace__ecere__com__Array->array = __ecereNameSpace__ecere__com__eSystem_Renew0(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize) * (__ecerePointer___ecereNameSpace__ecere__com__Array->minAllocSize));
 else
 (__ecereNameSpace__ecere__com__eSystem_Delete(__ecerePointer___ecereNameSpace__ecere__com__Array->array), __ecerePointer___ecereNameSpace__ecere__com__Array->array = 0);
 __ecerePointer___ecereNameSpace__ecere__com__Array->count = 0;
@@ -449,9 +449,9 @@ struct __ecereNameSpace__ecere__com__Array * __ecerePointer___ecereNameSpace__ec
 if(__ecerePointer___ecereNameSpace__ecere__com__Array->count != value)
 {
 if(value > __ecerePointer___ecereNameSpace__ecere__com__Array->minAllocSize)
-__ecerePointer___ecereNameSpace__ecere__com__Array->array = __ecereNameSpace__ecere__com__eSystem_Renew0(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize) * (value));
+__ecerePointer___ecereNameSpace__ecere__com__Array->array = __ecereNameSpace__ecere__com__eSystem_Renew0(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize) * (value));
 else if(value > __ecerePointer___ecereNameSpace__ecere__com__Array->count)
-memset(((unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array) + (__ecerePointer___ecereNameSpace__ecere__com__Array->count * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize)), 0, (value - __ecerePointer___ecereNameSpace__ecere__com__Array->count) * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize));
+memset(((unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array) + (__ecerePointer___ecereNameSpace__ecere__com__Array->count * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize)), 0, (value - __ecerePointer___ecereNameSpace__ecere__com__Array->count) * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize));
 __ecerePointer___ecereNameSpace__ecere__com__Array->count = value;
 }
 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__com__Array_size), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__com__Array_size);
@@ -471,7 +471,7 @@ struct __ecereNameSpace__ecere__com__Array * __ecerePointer___ecereNameSpace__ec
 if(__ecerePointer___ecereNameSpace__ecere__com__Array->minAllocSize != value)
 {
 if(value > __ecerePointer___ecereNameSpace__ecere__com__Array->count)
-__ecerePointer___ecereNameSpace__ecere__com__Array->array = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize) * (value));
+__ecerePointer___ecereNameSpace__ecere__com__Array->array = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize) * (value));
 __ecerePointer___ecereNameSpace__ecere__com__Array->minAllocSize = value;
 }
 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__com__Array_minAllocSize), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__com__Array_minAllocSize);
@@ -511,10 +511,10 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = source;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount])(source);
 if(__ecerePointer___ecereNameSpace__ecere__com__Array->count > __ecerePointer___ecereNameSpace__ecere__com__Array->minAllocSize)
-__ecerePointer___ecereNameSpace__ecere__com__Array->array = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize) * (__ecerePointer___ecereNameSpace__ecere__com__Array->count));
+__ecerePointer___ecereNameSpace__ecere__com__Array->array = __ecereNameSpace__ecere__com__eSystem_Renew(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize) * (__ecerePointer___ecereNameSpace__ecere__com__Array->count));
 if((((struct __ecereNameSpace__ecere__com__Instance *)(char *)source)->_class == __ecereClass___ecereNameSpace__ecere__com__BuiltInContainer && (*((struct __ecereNameSpace__ecere__com__BuiltInContainer *)source)).type->type != 1) || __ecereNameSpace__ecere__com__eClass_IsDerived(((struct __ecereNameSpace__ecere__com__Instance *)(char *)source)->_class, __ecereClass___ecereNameSpace__ecere__com__Array))
 {
-memcpy(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((struct __ecereNameSpace__ecere__com__Array *)(((char *)((struct __ecereNameSpace__ecere__com__Instance *)source) + structSize_Instance)))->array, __ecerePointer___ecereNameSpace__ecere__com__Array->count * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize));
+memcpy(__ecerePointer___ecereNameSpace__ecere__com__Array->array, ((struct __ecereNameSpace__ecere__com__Array *)(((char *)((struct __ecereNameSpace__ecere__com__Instance *)source) + structSize_Instance)))->array, __ecerePointer___ecereNameSpace__ecere__com__Array->count * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize));
 }
 else
 {
@@ -537,7 +537,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = source;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(source, i);
 
-(memcpy((char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array + ((c) * ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void * ) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize)), (char *)(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 1) ? data : ((char *)&data + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->typeSize)), (((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize));
+(memcpy((char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array + ((c) * ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void * ) : ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize)), (char *)(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 1) ? data : ((char *)&data + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)), (((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize));
 }
 }
 }
@@ -551,9 +551,9 @@ int c;
 
 for(c = 0; c < __ecerePointer___ecereNameSpace__ecere__com__Array->count; c++)
 {
-uint64 data = ((((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 1) ? (uint64)(((unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array) + (c) * ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize) : (((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? (uint64)((void **)__ecerePointer___ecereNameSpace__ecere__com__Array->array)[c] : ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize == 1) ? ((unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array)[c] : ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize == 2) ? ((unsigned short *)__ecerePointer___ecereNameSpace__ecere__com__Array->array)[c] : ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize == 4) ? ((unsigned int *)__ecerePointer___ecereNameSpace__ecere__com__Array->array)[c] : (__ecerePointer___ecereNameSpace__ecere__com__Array->array)[c]))))));
+uint64 data = ((((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 1) ? (uint64)(((unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array) + (c) * ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize) : (((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? (uint64)((void **)__ecerePointer___ecereNameSpace__ecere__com__Array->array)[c] : ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize == 1) ? ((unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__Array->array)[c] : ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize == 2) ? ((unsigned short *)__ecerePointer___ecereNameSpace__ecere__com__Array->array)[c] : ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize == 4) ? ((unsigned int *)__ecerePointer___ecereNameSpace__ecere__com__Array->array)[c] : (__ecerePointer___ecereNameSpace__ecere__com__Array->array)[c]))))));
 
-(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass, data), data = 0);
+(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass, data), data = 0);
 }
 (__ecereNameSpace__ecere__com__eSystem_Delete(__ecerePointer___ecereNameSpace__ecere__com__Array->array), __ecerePointer___ecereNameSpace__ecere__com__Array->array = 0);
 __ecerePointer___ecereNameSpace__ecere__com__Array->count = 0;
@@ -565,9 +565,9 @@ int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove;
 void __ecereMethod___ecereNameSpace__ecere__com__Array_Delete(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * item)
 {
 struct __ecereNameSpace__ecere__com__Array * __ecerePointer___ecereNameSpace__ecere__com__Array = (struct __ecereNameSpace__ecere__com__Array *)(this ? (((char *)this) + structSize_Instance) : 0);
-uint64 data = ((((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 1) ? ((uint64)(uint64 * )item) : (((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->type == 5) ? (uint64)*((void **)(uint64 * )item) : ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize == 1) ? *((unsigned char *)(uint64 * )item) : ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize == 2) ? *((unsigned short *)(uint64 * )item) : ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->typeSize == 4) ? *((unsigned int *)(uint64 * )item) : *((uint64 *)item)))))));
+uint64 data = ((((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 1) ? ((uint64)(uint64 * )item) : (((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->type == 5) ? (uint64)*((void **)(uint64 * )item) : ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize == 1) ? *((unsigned char *)(uint64 * )item) : ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize == 2) ? *((unsigned short *)(uint64 * )item) : ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->typeSize == 4) ? *((unsigned int *)(uint64 * )item) : *((uint64 *)item)))))));
 
-(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].dataTypeClass, data), data = 0);
+(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[0].__anon1.__anon1.dataTypeClass, data), data = 0);
 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
index cd36c2d..b00f6c1 100644 (file)
@@ -262,7 +262,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -275,7 +275,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -285,9 +285,9 @@ 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));
 
 typedef __builtin_va_list va_list;
index b670b1c..a08900e 100644 (file)
@@ -264,7 +264,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -277,7 +277,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -287,9 +287,9 @@ 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));
 
 __attribute__((unused)) static struct __ecereNameSpace__ecere__sys__BinaryTree __ecereNameSpace__ecere__sys__dummy;
index e51fa65..276f757 100644 (file)
@@ -258,7 +258,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -271,7 +271,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -281,9 +281,9 @@ 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));
 
 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__BufferedFile_handle, * __ecerePropM___ecereNameSpace__ecere__sys__BufferedFile_handle;
index d7bd38e..d7f127b 100644 (file)
@@ -257,7 +257,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -270,7 +270,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -280,9 +280,9 @@ 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));
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IteratorPointer;
index 6bf4df5..defc824 100644 (file)
@@ -257,7 +257,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -270,7 +270,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -280,9 +280,9 @@ 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));
 
 int __ecereVMethodID_class_OnCompare;
@@ -657,7 +657,7 @@ else
 struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_Find(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 value)
 {
 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
-struct __ecereNameSpace__ecere__com__Class * Dclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass;
+struct __ecereNameSpace__ecere__com__Class * Dclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass;
 
 if(((Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3))
 {
@@ -676,7 +676,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, i);
-int result = ((int (*)(void *, const void *, const void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnCompare])(Dclass, ((char *)&value + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->typeSize)), ((char *)&data + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->typeSize)));
+int result = ((int (*)(void *, const void *, const void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnCompare])(Dclass, ((char *)&value + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)), ((char *)&data + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)));
 
 if(!result)
 return i;
@@ -754,7 +754,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, i);
 
-(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass, data), data = 0);
+(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass, data), data = 0);
 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
@@ -783,7 +783,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext])(this, i))
 {
-struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].dataTypeClass;
+struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].__anon1.__anon1.dataTypeClass;
 uint64 data = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
@@ -792,7 +792,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
 const char * result;
 
 itemString[0] = '\0';
-result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnGetString])(Dclass, ((Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3) ? ((char *)&data + __ENDIAN_PAD((class->templateArgs[2].dataTypeClass->type == 1 || class->templateArgs[2].dataTypeClass->type == 0 || class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[2].dataTypeClass->typeSize)) : (void *)data, itemString, (((void *)0)), (((void *)0)));
+result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnGetString])(Dclass, ((Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3) ? ((char *)&data + __ENDIAN_PAD((class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 1 || class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 0 || class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)) : (void *)data, itemString, (((void *)0)), (((void *)0)));
 if(!first)
 strcat(tempString, ", ");
 strcat(tempString, result);
@@ -834,7 +834,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount])(this);
 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
-struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].dataTypeClass;
+struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].__anon1.__anon1.dataTypeClass;
 unsigned int isNormalClass = (Dclass->type == 0) && Dclass->structSize;
 
 __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(channel, __ecereClass_uint, &count);
@@ -855,7 +855,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, i);
 struct __ecereNameSpace__ecere__com__Class * Eclass = isNormalClass ? ((struct __ecereNameSpace__ecere__com__Instance *)(char *)((struct __ecereNameSpace__ecere__com__Instance *)data))->_class : Dclass;
 
-((void (*)(void *, void *, void *))(void *)Eclass->_vTbl[__ecereVMethodID_class_OnSerialize])(Eclass, ((Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3) ? ((char *)&data + __ENDIAN_PAD((class->templateArgs[2].dataTypeClass->type == 1 || class->templateArgs[2].dataTypeClass->type == 0 || class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[2].dataTypeClass->typeSize)) : (void *)data, channel);
+((void (*)(void *, void *, void *))(void *)Eclass->_vTbl[__ecereVMethodID_class_OnSerialize])(Eclass, ((Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3) ? ((char *)&data + __ENDIAN_PAD((class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 1 || class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 0 || class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)) : (void *)data, channel);
 }
 }
 
@@ -871,7 +871,7 @@ void __ecereMethod___ecereNameSpace__ecere__com__Container_OnUnserialize(struct
 {
 struct __ecereNameSpace__ecere__com__Instance * container = __ecereNameSpace__ecere__com__eInstance_New(__ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_(class->fullName));
 unsigned int count, c;
-struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].dataTypeClass;
+struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[2].__anon1.__anon1.dataTypeClass;
 uint64 data;
 
 __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get(channel, __ecereClass_uint, &count);
@@ -879,7 +879,7 @@ if(Dclass->type == 1)
 data = (uint64)(__ecereNameSpace__ecere__com__eSystem_New(sizeof(unsigned char) * (Dclass->structSize)));
 for(c = 0; c < count; c++)
 {
-((void (*)(void *, void *, void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnUnserialize])(Dclass, (Dclass->type == 1) ? (void *)data : ((char *)&data + __ENDIAN_PAD((class->templateArgs[2].dataTypeClass->type == 1 || class->templateArgs[2].dataTypeClass->type == 0 || class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[2].dataTypeClass->typeSize)), channel);
+((void (*)(void *, void *, void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnUnserialize])(Dclass, (Dclass->type == 1) ? (void *)data : ((char *)&data + __ENDIAN_PAD((class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 1 || class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 0 || class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)), channel);
 ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = container;
 
@@ -887,7 +887,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add])(container, data);
 }
 if(Dclass->type == 1)
-(((void (* )(void *  _class, void *  data))class->templateArgs[2].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(class->templateArgs[2].dataTypeClass, data), data = 0);
+(((void (* )(void *  _class, void *  data))class->templateArgs[2].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(class->templateArgs[2].__anon1.__anon1.dataTypeClass, data), data = 0);
 (*this) = container;
 }
 
@@ -955,15 +955,33 @@ void __ecereRegisterModule_Container(struct __ecereNameSpace__ecere__com__Instan
 {
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct2 =
 {
+
+.__anon1 = {
+
+.__anon1 = {
 .dataTypeString = "T"
+}
+}
 };
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct1 =
 {
+
+.__anon1 = {
+
+.__anon1 = {
 .dataTypeString = "int"
+}
+}
 };
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct0 =
 {
+
+.__anon1 = {
+
+.__anon1 = {
 .dataTypeString = "int"
+}
+}
 };
 struct __ecereNameSpace__ecere__com__Class * class;
 
index 6036619..d5dc609 100644 (file)
@@ -260,7 +260,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -273,7 +273,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -283,9 +283,9 @@ 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));
 
 extern int __ecereVMethodID_class_OnCompare;
@@ -849,11 +849,11 @@ if(!__ecerePointer___ecereNameSpace__ecere__com__CustomAVLTree->root)
 __ecerePointer___ecereNameSpace__ecere__com__CustomAVLTree->root = node;
 else
 {
-struct __ecereNameSpace__ecere__com__Class * Tclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].dataTypeClass->templateArgs[0].dataTypeClass;
+struct __ecereNameSpace__ecere__com__Class * Tclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].__anon1.__anon1.dataTypeClass->templateArgs[0].__anon1.__anon1.dataTypeClass;
 
 if(!Tclass)
 {
-Tclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].dataTypeClass->templateArgs[0].dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application, ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].dataTypeClass->templateArgs[0].dataTypeString);
+Tclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].__anon1.__anon1.dataTypeClass->templateArgs[0].__anon1.__anon1.dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application, ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].__anon1.__anon1.dataTypeClass->templateArgs[0].__anon1.__anon1.dataTypeString);
 }
 if(__ecereMethod___ecereNameSpace__ecere__com__AVLNode_Add(__ecerePointer___ecereNameSpace__ecere__com__CustomAVLTree->root, Tclass, node))
 __ecerePointer___ecereNameSpace__ecere__com__CustomAVLTree->root = (uint64)(__ecereMethod___ecereNameSpace__ecere__com__AVLNode_Rebalance(node));
@@ -887,7 +887,7 @@ struct __ecereNameSpace__ecere__com__CustomAVLTree * __ecerePointer___ecereNameS
 struct __ecereNameSpace__ecere__com__AVLNode * item = (struct __ecereNameSpace__ecere__com__AVLNode *)_item;
 
 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__ecereClass___ecereNameSpace__ecere__com__CustomAVLTree->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, _item);
-(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].dataTypeClass, item), item = 0);
+(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[3].__anon1.__anon1.dataTypeClass, item), item = 0);
 }
 
 void __ecereMethod___ecereNameSpace__ecere__com__CustomAVLTree_Free(struct __ecereNameSpace__ecere__com__Instance * this)
@@ -898,7 +898,7 @@ struct __ecereNameSpace__ecere__com__AVLNode * item;
 while((item = __ecerePointer___ecereNameSpace__ecere__com__CustomAVLTree->root))
 {
 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__ecereClass___ecereNameSpace__ecere__com__CustomAVLTree->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, item);
-(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].dataTypeClass, item), item = 0);
+(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[3].__anon1.__anon1.dataTypeClass, item), item = 0);
 }
 }
 
@@ -929,7 +929,13 @@ void __ecereRegisterModule_CustomAVLTree(struct __ecereNameSpace__ecere__com__In
 {
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct0 =
 {
+
+.__anon1 = {
+
+.__anon1 = {
 .dataTypeString = "uint64"
+}
+}
 };
 struct __ecereNameSpace__ecere__com__Class * class;
 
index 8c88fc2..c8c12e1 100644 (file)
@@ -257,7 +257,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -270,7 +270,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -280,9 +280,9 @@ 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));
 
 typedef __builtin_va_list va_list;
index 691d465..071e3d1 100644 (file)
@@ -257,7 +257,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -270,7 +270,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -280,9 +280,9 @@ 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);
index 574bed6..e44961f 100644 (file)
@@ -258,7 +258,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -271,7 +271,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -281,9 +281,9 @@ 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));
 
 struct __ecereNameSpace__ecere__com__LinkElement
@@ -301,8 +301,8 @@ struct __ecereNameSpace__ecere__com__LinkElement link;
 struct
 {
 struct __ecereNameSpace__ecere__com__ListItem * prev, * next;
-} __attribute__ ((gcc_struct));
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ListItem;
@@ -333,14 +333,14 @@ void * __ecereMethod___ecereNameSpace__ecere__com__LinkList_GetPrev(struct __ece
 {
 struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace__ecere__com__LinkList = (struct __ecereNameSpace__ecere__com__LinkList *)(this ? (((char *)this) + structSize_Instance) : 0);
 
-return (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)item)) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev;
+return (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)item)) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev;
 }
 
 void * __ecereMethod___ecereNameSpace__ecere__com__LinkList_GetNext(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * item)
 {
 struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace__ecere__com__LinkList = (struct __ecereNameSpace__ecere__com__LinkList *)(this ? (((char *)this) + structSize_Instance) : 0);
 
-return (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)item)) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next;
+return (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)((void *)item)) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next;
 }
 
 void * __ecereMethod___ecereNameSpace__ecere__com__LinkList_GetData(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer)
@@ -356,7 +356,7 @@ struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace_
 int c;
 void * item;
 
-for(c = 0, item = __ecerePointer___ecereNameSpace__ecere__com__LinkList->first; c < (int)pos && item; c++, item = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next)
+for(c = 0, item = __ecerePointer___ecereNameSpace__ecere__com__LinkList->first; c < (int)pos && item; c++, item = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next)
 ;
 return (struct __ecereNameSpace__ecere__com__IteratorPointer *)item;
 }
@@ -374,15 +374,15 @@ struct __ecereNameSpace__ecere__com__LinkList * __ecerePointer___ecereNameSpace_
 
 if(item)
 {
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev = __ecerePointer___ecereNameSpace__ecere__com__LinkList->last;
-if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev)
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next = item;
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = __ecerePointer___ecereNameSpace__ecere__com__LinkList->last;
+if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev)
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = item;
 if(!__ecerePointer___ecereNameSpace__ecere__com__LinkList->first)
 __ecerePointer___ecereNameSpace__ecere__com__LinkList->first = item;
 __ecerePointer___ecereNameSpace__ecere__com__LinkList->last = item;
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next = (*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]) ? __ecerePointer___ecereNameSpace__ecere__com__LinkList->first : (uint64)(((uint64)(((uint64)((void *)0)))));
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = (*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]) ? __ecerePointer___ecereNameSpace__ecere__com__LinkList->first : (uint64)(((uint64)(((uint64)((void *)0)))));
 if((*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]))
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__LinkList->first) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev = item;
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)__ecerePointer___ecereNameSpace__ecere__com__LinkList->first) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = item;
 __ecerePointer___ecereNameSpace__ecere__com__LinkList->count++;
 }
 return (struct __ecereNameSpace__ecere__com__IteratorPointer *)item;
@@ -395,28 +395,28 @@ void * prevItem = (void *)_prevItem;
 
 if(item && prevItem != item)
 {
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev = prevItem ? prevItem : ((*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]) ? __ecerePointer___ecereNameSpace__ecere__com__LinkList->last : (uint64)(((uint64)(((uint64)((void *)0))))));
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = prevItem ? prevItem : ((*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]) ? __ecerePointer___ecereNameSpace__ecere__com__LinkList->last : (uint64)(((uint64)(((uint64)((void *)0))))));
 if(prevItem)
 {
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)prevItem) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next;
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)prevItem) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next = item;
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)prevItem) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next;
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)prevItem) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = item;
 }
 else
 {
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next = __ecerePointer___ecereNameSpace__ecere__com__LinkList->first;
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = __ecerePointer___ecereNameSpace__ecere__com__LinkList->first;
 __ecerePointer___ecereNameSpace__ecere__com__LinkList->first = item;
 if((*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]))
 {
-if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev)
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next = item;
+if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev)
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = item;
 else
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next = item;
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = item;
 }
 }
 if(prevItem == __ecerePointer___ecereNameSpace__ecere__com__LinkList->last)
 __ecerePointer___ecereNameSpace__ecere__com__LinkList->last = item;
-if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next)
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev = item;
+if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next)
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = item;
 __ecerePointer___ecereNameSpace__ecere__com__LinkList->count++;
 return (struct __ecereNameSpace__ecere__com__IteratorPointer *)item;
 }
@@ -430,21 +430,21 @@ void * item = (void *)_item;
 
 if(item)
 {
-if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev)
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next;
-if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next)
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev;
+if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev)
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next;
+if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next)
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev;
 if((*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]) && __ecerePointer___ecereNameSpace__ecere__com__LinkList->last == __ecerePointer___ecereNameSpace__ecere__com__LinkList->first)
 __ecerePointer___ecereNameSpace__ecere__com__LinkList->last = __ecerePointer___ecereNameSpace__ecere__com__LinkList->first = (uint64)(((uint64)(((uint64)((void *)0)))));
 else
 {
 if(__ecerePointer___ecereNameSpace__ecere__com__LinkList->last == item)
-__ecerePointer___ecereNameSpace__ecere__com__LinkList->last = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev;
+__ecerePointer___ecereNameSpace__ecere__com__LinkList->last = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev;
 if(__ecerePointer___ecereNameSpace__ecere__com__LinkList->first == item)
-__ecerePointer___ecereNameSpace__ecere__com__LinkList->first = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next;
+__ecerePointer___ecereNameSpace__ecere__com__LinkList->first = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next;
 }
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev = (uint64)(((uint64)(((uint64)((void *)0)))));
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next = (uint64)(((uint64)(((uint64)((void *)0)))));
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = (uint64)(((uint64)(((uint64)((void *)0)))));
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = (uint64)(((uint64)(((uint64)((void *)0)))));
 __ecerePointer___ecereNameSpace__ecere__com__LinkList->count--;
 }
 }
@@ -459,36 +459,36 @@ if(item)
 {
 if(prevItem != item && (__ecerePointer___ecereNameSpace__ecere__com__LinkList->first != item || prevItem))
 {
-if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev)
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next;
-if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next)
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev;
+if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev)
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next;
+if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next)
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev;
 if(item == __ecerePointer___ecereNameSpace__ecere__com__LinkList->first)
-__ecerePointer___ecereNameSpace__ecere__com__LinkList->first = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next;
+__ecerePointer___ecereNameSpace__ecere__com__LinkList->first = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next;
 if(item == __ecerePointer___ecereNameSpace__ecere__com__LinkList->last)
-__ecerePointer___ecereNameSpace__ecere__com__LinkList->last = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev;
+__ecerePointer___ecereNameSpace__ecere__com__LinkList->last = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev;
 if(prevItem == __ecerePointer___ecereNameSpace__ecere__com__LinkList->last)
 __ecerePointer___ecereNameSpace__ecere__com__LinkList->last = item;
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev = prevItem ? prevItem : ((*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]) ? __ecerePointer___ecereNameSpace__ecere__com__LinkList->last : (uint64)(((uint64)(((uint64)((void *)0))))));
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = prevItem ? prevItem : ((*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]) ? __ecerePointer___ecereNameSpace__ecere__com__LinkList->last : (uint64)(((uint64)(((uint64)((void *)0))))));
 if(prevItem)
 {
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)prevItem) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next;
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)prevItem) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next = item;
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = (*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)prevItem) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next;
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)prevItem) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = item;
 }
 else
 {
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next = __ecerePointer___ecereNameSpace__ecere__com__LinkList->first;
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = __ecerePointer___ecereNameSpace__ecere__com__LinkList->first;
 __ecerePointer___ecereNameSpace__ecere__com__LinkList->first = item;
 if((*(unsigned int *)&((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[4]))
 {
-if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev)
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next = item;
+if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev)
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = item;
 else
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next = item;
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next = item;
 }
 }
-if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next)
-(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).next) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].member->_class->offset)).prev = item;
+if((*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next)
+(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)(*(struct __ecereNameSpace__ecere__com__LinkElement *)(((unsigned char *)item) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).next) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->offset + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon2.__anon1.member->_class->offset)).prev = item;
 }
 }
 }
@@ -516,7 +516,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__LinkList->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, item);
-(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].dataTypeClass, item), item = 0);
+(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[3].__anon1.__anon1.dataTypeClass, item), item = 0);
 }
 }
 
@@ -529,7 +529,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__LinkList->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, item);
-(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].dataTypeClass, item), item = 0);
+(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[3].__anon1.__anon1.dataTypeClass, item), item = 0);
 }
 
 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);
@@ -596,19 +596,40 @@ void __ecereRegisterModule_LinkList(struct __ecereNameSpace__ecere__com__Instanc
 {
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct3 =
 {
+
+.__anon1 = {
+
+.__anon1 = {
 .dataTypeString = "LT::link"
+}
+}
 };
 struct __ecereNameSpace__ecere__com__DataValue __simpleStruct2 =
 {
+
+.__anon1 = {
 .c = 0
+}
 };
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct1 =
 {
-.expression = (__simpleStruct2.ui64 = 0LL, __simpleStruct2)
+
+.__anon1 = {
+
+.__anon1 = {
+.dataTypeString = 0
+}, .expression = (__simpleStruct2.__anon1.ui64 = 0LL, __simpleStruct2)
+}
 };
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct0 =
 {
+
+.__anon1 = {
+
+.__anon1 = {
 .dataTypeString = "ecere::com::ListItem"
+}
+}
 };
 struct __ecereNameSpace__ecere__com__Class * class;
 
index b94013d..3139032 100644 (file)
@@ -258,7 +258,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -271,7 +271,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -281,9 +281,9 @@ 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));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__LinkElement;
@@ -303,8 +303,8 @@ struct
 {
 struct __ecereNameSpace__ecere__com__Link * prev;
 struct __ecereNameSpace__ecere__com__Link * next;
-} __attribute__ ((gcc_struct));
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
+} __attribute__ ((gcc_struct)) __anon1;
 uint64 data;
 } __attribute__ ((gcc_struct));
 
@@ -314,15 +314,15 @@ static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 uint64 __ecereMethod___ecereNameSpace__ecere__com__List_GetData(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Link * link)
 {
-return link ? ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass && ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->type == 1) ? (uint64)&link->data : (uint64)link->data) : (uint64)0;
+return link ? ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass && ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->type == 1) ? (uint64)&link->data : (uint64)link->data) : (uint64)0;
 }
 
 extern void *  memcpy(void * , const void * , size_t size);
 
 unsigned int __ecereMethod___ecereNameSpace__ecere__com__List_SetData(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Link * link, uint64 value)
 {
-if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->type == 1)
-memcpy((void *)&link->data, (void *)value, ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->structSize);
+if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->type == 1)
+memcpy((void *)&link->data, (void *)value, ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->structSize);
 else
 link->data = value;
 return 0x1;
@@ -339,8 +339,8 @@ struct
 {
 struct __ecereNameSpace__ecere__com__ListItem * prev;
 struct __ecereNameSpace__ecere__com__ListItem * next;
-} __attribute__ ((gcc_struct));
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Insert;
@@ -351,10 +351,10 @@ struct __ecereNameSpace__ecere__com__Link * __ecereMethod___ecereNameSpace__ecer
 {
 struct __ecereNameSpace__ecere__com__Link * link;
 
-if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass && ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->type == 1)
+if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass && ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->type == 1)
 {
-link = (struct __ecereNameSpace__ecere__com__Link *)__ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (sizeof(struct __ecereNameSpace__ecere__com__ListItem) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->structSize));
-memcpy((void *)&link->data, (void *)value, ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->structSize);
+link = (struct __ecereNameSpace__ecere__com__Link *)__ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (sizeof(struct __ecereNameSpace__ecere__com__ListItem) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->structSize));
+memcpy((void *)&link->data, (void *)value, ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->structSize);
 }
 else
 link = __extension__ ({
@@ -404,7 +404,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__List->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, link);
 
-(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass, data), data = 0);
+(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass, data), data = 0);
 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
@@ -424,7 +424,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__List->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, item);
 
-(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass, data), data = 0);
+(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass, data), data = 0);
 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
index ec9d8fd..0808bd6 100644 (file)
@@ -258,7 +258,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -271,7 +271,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -281,9 +281,9 @@ 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));
 
 extern int __ecereVMethodID_class_OnCopy;
@@ -450,7 +450,7 @@ static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 uint64 __ecereMethod___ecereNameSpace__ecere__com__Map_GetKey(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__MapNode * node)
 {
-if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->type == 1)
+if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 1)
 return (uint64)(((unsigned char *)&node->key) + __ENDIAN_PAD(sizeof(void *)));
 return __ecereProp___ecereNameSpace__ecere__com__MapNode_Get_key(node);
 }
@@ -459,9 +459,9 @@ uint64 __ecereMethod___ecereNameSpace__ecere__com__Map_GetData(struct __ecereNam
 {
 if(node)
 {
-if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->type == 1)
-node = (struct __ecereNameSpace__ecere__com__MapNode *)(((unsigned char *)node) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->structSize - sizeof node->key);
-return (((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->type == 1) ? (uint64)&node->value : __ecereProp___ecereNameSpace__ecere__com__MapNode_Get_value(node);
+if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 1)
+node = (struct __ecereNameSpace__ecere__com__MapNode *)(((unsigned char *)node) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->structSize - sizeof node->key);
+return (((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->type == 1) ? (uint64)&node->value : __ecereProp___ecereNameSpace__ecere__com__MapNode_Get_value(node);
 }
 return (uint64)0;
 }
@@ -470,10 +470,10 @@ extern void *  memcpy(void * , const void * , size_t size);
 
 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Map_SetData(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__MapNode * node, uint64 value)
 {
-if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->type == 1)
-node = (struct __ecereNameSpace__ecere__com__MapNode *)(((unsigned char *)node) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->structSize - sizeof node->key);
-if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->type == 1)
-memcpy((void *)&node->value, (void *)value, ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->structSize);
+if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 1)
+node = (struct __ecereNameSpace__ecere__com__MapNode *)(((unsigned char *)node) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->structSize - sizeof node->key);
+if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->type == 1)
+memcpy((void *)&node->value, (void *)value, ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->structSize);
 else
 __ecereProp___ecereNameSpace__ecere__com__MapNode_Set_value(node, value);
 return 0x1;
@@ -497,7 +497,7 @@ struct __ecereNameSpace__ecere__com__MapNode * __ecereMethod___ecereNameSpace__e
 {
 struct __ecereNameSpace__ecere__com__MapNode * newNode = (struct __ecereNameSpace__ecere__com__MapNode *)_newNode;
 
-if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->type == 1)
+if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->type == 1)
 {
 struct __ecereNameSpace__ecere__com__MapNode * realNode = (struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 pos, unsigned int create))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
@@ -514,11 +514,11 @@ return newNode;
 }
 else
 {
-struct __ecereNameSpace__ecere__com__MapNode * node = ((struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__CustomAVLTree *)(((char *)this + structSize_Instance)))->root) ? __ecereMethod___ecereNameSpace__ecere__com__AVLNode_Find(((struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__CustomAVLTree *)(((char *)this + structSize_Instance)))->root), ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass, (uint64)__ecereProp___ecereNameSpace__ecere__com__MapNode_Get_key(newNode)) : (((void *)0));
+struct __ecereNameSpace__ecere__com__MapNode * node = ((struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__CustomAVLTree *)(((char *)this + structSize_Instance)))->root) ? __ecereMethod___ecereNameSpace__ecere__com__AVLNode_Find(((struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__CustomAVLTree *)(((char *)this + structSize_Instance)))->root), ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass, (uint64)__ecereProp___ecereNameSpace__ecere__com__MapNode_Get_key(newNode)) : (((void *)0));
 
 if(!node)
 {
-struct __ecereNameSpace__ecere__com__Class * Tclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass;
+struct __ecereNameSpace__ecere__com__Class * Tclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass;
 
 if((Tclass->type == 1000 && !Tclass->byValueSystemClass) || Tclass->type == 2 || Tclass->type == 4 || Tclass->type == 3)
 {
@@ -544,14 +544,14 @@ int __ecereVMethodID_class_OnFree;
 void __ecereMethod___ecereNameSpace__ecere__com__Map_Remove(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__MapNode * node)
 {
 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__ecereClass___ecereNameSpace__ecere__com__CustomAVLTree->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, node);
-if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->type == 1)
+if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 1)
 {
-struct __ecereNameSpace__ecere__com__Class * Tclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass;
+struct __ecereNameSpace__ecere__com__Class * Tclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass;
 
 ((void (*)(void *, void *))(void *)Tclass->_vTbl[__ecereVMethodID_class_OnFree])(Tclass, (((unsigned char *)&node->key) + __ENDIAN_PAD(sizeof(void *))));
 }
 else
-(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass, __ecereProp___ecereNameSpace__ecere__com__MapNode_Get_key(node)), __ecereProp___ecereNameSpace__ecere__com__MapNode_Set_key(node, 0));
+(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass, __ecereProp___ecereNameSpace__ecere__com__MapNode_Get_key(node)), __ecereProp___ecereNameSpace__ecere__com__MapNode_Set_key(node, 0));
 ((node ? (__ecereClass___ecereNameSpace__ecere__com__MapNode->Destructor ? __ecereClass___ecereNameSpace__ecere__com__MapNode->Destructor((void *)node) : 0, __ecereClass___ecereNameSpace__ecere__com__AVLNode->Destructor ? __ecereClass___ecereNameSpace__ecere__com__AVLNode->Destructor((void *)node) : 0, __ecereClass___ecereNameSpace__ecere__com__IteratorPointer->Destructor ? __ecereClass___ecereNameSpace__ecere__com__IteratorPointer->Destructor((void *)node) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(node)) : 0), node = 0);
 }
 
@@ -563,9 +563,9 @@ while((node = ((struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereN
 {
 struct __ecereNameSpace__ecere__com__MapNode * n = node;
 
-if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->type == 1)
-n = (struct __ecereNameSpace__ecere__com__MapNode *)(((unsigned char *)node) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->structSize - sizeof node->key);
-(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass, __ecereProp___ecereNameSpace__ecere__com__MapNode_Get_value(n)), __ecereProp___ecereNameSpace__ecere__com__MapNode_Set_value(n, 0));
+if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 1)
+n = (struct __ecereNameSpace__ecere__com__MapNode *)(((unsigned char *)node) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->structSize - sizeof node->key);
+(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass, __ecereProp___ecereNameSpace__ecere__com__MapNode_Get_value(n)), __ecereProp___ecereNameSpace__ecere__com__MapNode_Set_value(n, 0));
 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
@@ -578,9 +578,9 @@ void __ecereMethod___ecereNameSpace__ecere__com__Map_Delete(struct __ecereNameSp
 {
 struct __ecereNameSpace__ecere__com__MapNode * n = node;
 
-if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->type == 1)
-n = (struct __ecereNameSpace__ecere__com__MapNode *)(((unsigned char *)node) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->structSize - sizeof node->key);
-(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass, __ecereProp___ecereNameSpace__ecere__com__MapNode_Get_value(n)), __ecereProp___ecereNameSpace__ecere__com__MapNode_Set_value(n, 0));
+if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 1)
+n = (struct __ecereNameSpace__ecere__com__MapNode *)(((unsigned char *)node) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->structSize - sizeof node->key);
+(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass, __ecereProp___ecereNameSpace__ecere__com__MapNode_Get_value(n)), __ecereProp___ecereNameSpace__ecere__com__MapNode_Set_value(n, 0));
 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
@@ -597,20 +597,20 @@ return (struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace
 
 struct __ecereNameSpace__ecere__com__MapNode * __ecereMethod___ecereNameSpace__ecere__com__Map_GetAtPosition(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 pos, unsigned int create)
 {
-struct __ecereNameSpace__ecere__com__MapNode * node = ((struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__CustomAVLTree *)(((char *)this + structSize_Instance)))->root) ? __ecereMethod___ecereNameSpace__ecere__com__AVLNode_Find(((struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__CustomAVLTree *)(((char *)this + structSize_Instance)))->root), ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass, pos) : (((void *)0));
+struct __ecereNameSpace__ecere__com__MapNode * node = ((struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__CustomAVLTree *)(((char *)this + structSize_Instance)))->root) ? __ecereMethod___ecereNameSpace__ecere__com__AVLNode_Find(((struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__CustomAVLTree *)(((char *)this + structSize_Instance)))->root), ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass, pos) : (((void *)0));
 
 if(!node && create)
 {
-struct __ecereNameSpace__ecere__com__Class * Tclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass;
+struct __ecereNameSpace__ecere__com__Class * Tclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass;
 
-if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->type == 1)
+if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->type == 1)
 {
 unsigned int size = sizeof(struct __ecereNameSpace__ecere__com__MapNode);
 
-if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->type == 1)
-size += ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->typeSize - sizeof node->key;
-if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->type == 1)
-size += ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->typeSize - sizeof (((((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->type == 1) ? ((uint64)&node->value) : (((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->type == 5) ? (uint64)*((void **)&node->value) : ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->typeSize == 1) ? *((unsigned char *)&node->value) : ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->typeSize == 2) ? *((unsigned short *)&node->value) : ((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->typeSize == 4) ? *((unsigned int *)&node->value) : *(&node->value))))))));
+if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 1)
+size += ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].__anon1.__anon1.dataTypeClass->typeSize - sizeof node->key;
+if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->type == 1)
+size += ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->typeSize - sizeof (((((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->type == 1) ? ((uint64)&node->value) : (((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->type == 5) ? (uint64)*((void **)&node->value) : ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->typeSize == 1) ? *((unsigned char *)&node->value) : ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->typeSize == 2) ? *((unsigned short *)&node->value) : ((((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->typeSize == 4) ? *((unsigned int *)&node->value) : *(&node->value))))))));
 node = (struct __ecereNameSpace__ecere__com__MapNode *)__ecereNameSpace__ecere__com__eSystem_New0(sizeof(unsigned char) * (size));
 }
 else
@@ -747,8 +747,8 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount])(this);
 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
-struct __ecereNameSpace__ecere__com__Class * Kclass = class->templateArgs[5].dataTypeClass;
-struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[6].dataTypeClass;
+struct __ecereNameSpace__ecere__com__Class * Kclass = class->templateArgs[5].__anon1.__anon1.dataTypeClass;
+struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[6].__anon1.__anon1.dataTypeClass;
 unsigned int kIsNormalClass = (Kclass->type == 0) && Kclass->structSize;
 unsigned int dIsNormalClass = (Dclass->type == 0) && Dclass->structSize;
 
@@ -773,8 +773,8 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
 struct __ecereNameSpace__ecere__com__Class * kEclass = kIsNormalClass ? ((struct __ecereNameSpace__ecere__com__Instance *)(char *)((struct __ecereNameSpace__ecere__com__Instance *)key))->_class : Kclass;
 struct __ecereNameSpace__ecere__com__Class * dEclass = dIsNormalClass ? ((struct __ecereNameSpace__ecere__com__Instance *)(char *)((struct __ecereNameSpace__ecere__com__Instance *)data))->_class : Dclass;
 
-((void (*)(void *, void *, void *))(void *)kEclass->_vTbl[__ecereVMethodID_class_OnSerialize])(kEclass, ((Kclass->type == 1000 && !Kclass->byValueSystemClass) || Kclass->type == 2 || Kclass->type == 4 || Kclass->type == 3) ? ((char *)&key + __ENDIAN_PAD((class->templateArgs[5].dataTypeClass->type == 1 || class->templateArgs[5].dataTypeClass->type == 0 || class->templateArgs[5].dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[5].dataTypeClass->typeSize)) : (void *)key, channel);
-((void (*)(void *, void *, void *))(void *)dEclass->_vTbl[__ecereVMethodID_class_OnSerialize])(dEclass, ((Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3) ? ((char *)&data + __ENDIAN_PAD((class->templateArgs[2].dataTypeClass->type == 1 || class->templateArgs[2].dataTypeClass->type == 0 || class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[2].dataTypeClass->typeSize)) : (void *)data, channel);
+((void (*)(void *, void *, void *))(void *)kEclass->_vTbl[__ecereVMethodID_class_OnSerialize])(kEclass, ((Kclass->type == 1000 && !Kclass->byValueSystemClass) || Kclass->type == 2 || Kclass->type == 4 || Kclass->type == 3) ? ((char *)&key + __ENDIAN_PAD((class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 1 || class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 0 || class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[5].__anon1.__anon1.dataTypeClass->typeSize)) : (void *)key, channel);
+((void (*)(void *, void *, void *))(void *)dEclass->_vTbl[__ecereVMethodID_class_OnSerialize])(dEclass, ((Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3) ? ((char *)&data + __ENDIAN_PAD((class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 1 || class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 0 || class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)) : (void *)data, channel);
 }
 }
 
@@ -792,8 +792,8 @@ void __ecereMethod___ecereNameSpace__ecere__com__Map_OnUnserialize(struct __ecer
 {
 unsigned int c, count;
 struct __ecereNameSpace__ecere__com__Instance * container = __ecereNameSpace__ecere__com__eInstance_New(__ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_(class->fullName));
-struct __ecereNameSpace__ecere__com__Class * Kclass = class->templateArgs[5].dataTypeClass;
-struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[6].dataTypeClass;
+struct __ecereNameSpace__ecere__com__Class * Kclass = class->templateArgs[5].__anon1.__anon1.dataTypeClass;
+struct __ecereNameSpace__ecere__com__Class * Dclass = class->templateArgs[6].__anon1.__anon1.dataTypeClass;
 
 __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get(channel, __ecereClass_uint, &count);
 for(c = 0; c < count; c++)
@@ -802,8 +802,8 @@ struct __ecereNameSpace__ecere__com__MapNode * destNode;
 uint64 key;
 uint64 data;
 
-((void (*)(void *, void *, void *))(void *)Kclass->_vTbl[__ecereVMethodID_class_OnUnserialize])(Kclass, ((char *)&key + __ENDIAN_PAD((class->templateArgs[5].dataTypeClass->type == 1 || class->templateArgs[5].dataTypeClass->type == 0 || class->templateArgs[5].dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[5].dataTypeClass->typeSize)), channel);
-((void (*)(void *, void *, void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnUnserialize])(Dclass, ((char *)&data + __ENDIAN_PAD((class->templateArgs[2].dataTypeClass->type == 1 || class->templateArgs[2].dataTypeClass->type == 0 || class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[2].dataTypeClass->typeSize)), channel);
+((void (*)(void *, void *, void *))(void *)Kclass->_vTbl[__ecereVMethodID_class_OnUnserialize])(Kclass, ((char *)&key + __ENDIAN_PAD((class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 1 || class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 0 || class->templateArgs[5].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[5].__anon1.__anon1.dataTypeClass->typeSize)), channel);
+((void (*)(void *, void *, void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnUnserialize])(Dclass, ((char *)&data + __ENDIAN_PAD((class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 1 || class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 0 || class->templateArgs[2].__anon1.__anon1.dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[2].__anon1.__anon1.dataTypeClass->typeSize)), channel);
 destNode = (struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 pos, unsigned int create))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = container;
 
index e845b8a..0de9323 100644 (file)
@@ -256,7 +256,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -269,7 +269,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -279,9 +279,9 @@ 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));
 
 struct __ecereNameSpace__ecere__sys__Item
index ef936e8..0a7ef6f 100644 (file)
@@ -258,7 +258,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -271,7 +271,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -281,9 +281,9 @@ 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));
 
 typedef __builtin_va_list va_list;
@@ -503,6 +503,7 @@ unsigned int __ecereNameSpace__ecere__sys__ShellOpen(const char * fileName, ...)
 unsigned int result;
 va_list args;
 
+__builtin_va_start(args, fileName);
 result = System_ShellOpen(fileName, args);
 __builtin_va_end(args);
 return result;
index 150c062..277561d 100644 (file)
@@ -257,7 +257,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -270,7 +270,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -280,9 +280,9 @@ 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));
 
 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__TempFile_openMode, * __ecerePropM___ecereNameSpace__ecere__sys__TempFile_openMode;
index d61777f..af5546b 100644 (file)
@@ -247,7 +247,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -260,7 +260,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -270,9 +270,9 @@ 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));
 
 extern int runtimePlatform;
@@ -682,8 +682,8 @@ else
 {
 struct __ecereNameSpace__ecere__com__DataValue value1, value2;
 
-value1.i = *(int *)((unsigned char *)data1 + member->offset);
-value2.i = *(int *)((unsigned char *)data2 + member->offset);
+value1.__anon1.i = *(int *)((unsigned char *)data1 + member->offset);
+value2.__anon1.i = *(int *)((unsigned char *)data2 + member->offset);
 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, &value1, &value2);
 if(memberResult)
 return memberResult;
@@ -758,13 +758,13 @@ struct __ecereNameSpace__ecere__com__DataValue value1, value2;
 
 if(!strcmp(memberType->dataTypeString, "float"))
 {
-value1.f = ((float (*)(void *))(void *)prop->Get)(data1);
-value2.f = ((float (*)(void *))(void *)prop->Get)(data2);
+value1.__anon1.f = ((float (*)(void *))(void *)prop->Get)(data1);
+value2.__anon1.f = ((float (*)(void *))(void *)prop->Get)(data2);
 }
 else
 {
-value1.i = ((int (*)(void *))(void *)prop->Get)(data1);
-value2.i = ((int (*)(void *))(void *)prop->Get)(data2);
+value1.__anon1.i = ((int (*)(void *))(void *)prop->Get)(data1);
+value2.__anon1.i = ((int (*)(void *))(void *)prop->Get)(data2);
 }
 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, &value1, &value2);
 }
@@ -789,13 +789,13 @@ struct __ecereNameSpace__ecere__com__DataValue value1, value2;
 
 if(memberType->typeSize == 8)
 {
-value1.ui64 = *(uint64 *)((unsigned char *)data1 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
-value2.ui64 = *(uint64 *)((unsigned char *)data2 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
+value1.__anon1.ui64 = *(uint64 *)((unsigned char *)data1 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
+value2.__anon1.ui64 = *(uint64 *)((unsigned char *)data2 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
 }
 else
 {
-value1.i = *(int *)((unsigned char *)data1 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
-value2.i = *(int *)((unsigned char *)data2 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
+value1.__anon1.i = *(int *)((unsigned char *)data1 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
+value2.__anon1.i = *(int *)((unsigned char *)data2 + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
 }
 memberResult = ((int (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnCompare])(memberType, &value1, &value2);
 }
@@ -1009,13 +1009,16 @@ if(memberType->type != 1 && (memberType->type != 0 || !strcmp(memberType->dataTy
 {
 struct __ecereNameSpace__ecere__com__DataValue value =
 {
+
+.__anon1 = {
 .c = 0
+}
 };
 
 if(!strcmp(prop->dataTypeString, "float"))
 {
-value.f = ((float (*)(void *))(void *)prop->Get)(data);
-if(value.f)
+value.__anon1.f = ((float (*)(void *))(void *)prop->Get)(data);
+if(value.__anon1.f)
 {
 unsigned int needClass = 0x1;
 const char * result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, (((void *)0)), &needClass);
@@ -1028,11 +1031,11 @@ strcat(memberString, "f");
 }
 else if(memberType->type == 0 || memberType->type == 5)
 {
-value.p = ((void * (*)(void *))(void *)prop->Get)(data);
-if(value.p || prop->IsSet)
+value.__anon1.p = ((void * (*)(void *))(void *)prop->Get)(data);
+if(value.__anon1.p || prop->IsSet)
 {
 unsigned int needClass = 0x1;
-const char * result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, (memberType->type == 0) ? value.p : &value, memberString, (((void *)0)), &needClass);
+const char * result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, (memberType->type == 0) ? value.__anon1.p : &value, memberString, (((void *)0)), &needClass);
 
 if(result && result != memberString)
 strcpy(memberString, result);
@@ -1040,8 +1043,8 @@ strcpy(memberString, result);
 }
 else
 {
-value.i = ((int (*)(void *))(void *)prop->Get)(data);
-if(value.i || prop->IsSet)
+value.__anon1.i = ((int (*)(void *))(void *)prop->Get)(data);
+if(value.__anon1.i || prop->IsSet)
 {
 unsigned int needClass = 0x1;
 const char * result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, (((void *)0)), &needClass);
@@ -1091,15 +1094,18 @@ else
 {
 struct __ecereNameSpace__ecere__com__DataValue value =
 {
+
+.__anon1 = {
 .c = 0
+}
 };
 
 if(_class->type == 2)
 {
 struct __ecereNameSpace__ecere__com__BitMember * bitMember = (struct __ecereNameSpace__ecere__com__BitMember *)member;
 
-value.ui64 = ((*(unsigned int *)data & bitMember->mask) >> bitMember->pos);
-if(value.ui64)
+value.__anon1.ui64 = ((*(unsigned int *)data & bitMember->mask) >> bitMember->pos);
+if(value.__anon1.ui64)
 {
 unsigned int needClass = 0x1;
 char internalMemberString[1024];
@@ -1120,8 +1126,8 @@ else if(!memberType->noExpansion)
 {
 if(memberType->typeSize <= 4)
 {
-value.i = *(int *)((unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
-if(value.i)
+value.__anon1.i = *(int *)((unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset));
+if(value.__anon1.i)
 {
 unsigned int needClass = 0x1;
 const char * result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, (((void *)0)), &needClass);
@@ -1450,7 +1456,10 @@ else
 {
 struct __ecereNameSpace__ecere__com__DataValue value =
 {
+
+.__anon1 = {
 .c = 0
+}
 };
 
 if(memberType->_vTbl[__ecereVMethodID_class_OnGetDataFromString] == _class->_vTbl[__ecereVMethodID_class_OnGetDataFromString])
@@ -1466,17 +1475,17 @@ if(_class->type == 2)
 {
 struct __ecereNameSpace__ecere__com__BitMember * bitMember = (struct __ecereNameSpace__ecere__com__BitMember *)thisMember;
 
-*(unsigned int *)data = (unsigned int)(((*(unsigned int *)data & ~bitMember->mask)) | ((value.ui64 << bitMember->pos) & bitMember->mask));
+*(unsigned int *)data = (unsigned int)(((*(unsigned int *)data & ~bitMember->mask)) | ((value.__anon1.ui64 << bitMember->pos) & bitMember->mask));
 }
 else
-*(int *)((unsigned char *)data + (((thisMember->_class->type == 0) ? thisMember->_class->offset : 0) + thisMember->offset)) = value.i;
+*(int *)((unsigned char *)data + (((thisMember->_class->type == 0) ? thisMember->_class->offset : 0) + thisMember->offset)) = value.__anon1.i;
 }
 else if(thisMember->isProperty && ((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)
 {
 if(memberType->type == 5 || memberType->type == 0 || memberType->type == 1)
-((void (*)(void *, void *))(void *)((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)(data, value.p);
+((void (*)(void *, void *))(void *)((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)(data, value.__anon1.p);
 else
-((void (*)(void *, int))(void *)((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)(data, value.i);
+((void (*)(void *, int))(void *)((struct __ecereNameSpace__ecere__com__Property *)thisMember)->Set)(data, value.__anon1.i);
 }
 }
 }
@@ -1531,7 +1540,7 @@ else
 {
 struct __ecereNameSpace__ecere__com__DataValue value;
 
-value.i = *(int *)((unsigned char *)data + member->offset);
+value.__anon1.i = *(int *)((unsigned char *)data + member->offset);
 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnSerialize])(memberType, &value, channel);
 }
 }
@@ -1630,7 +1639,7 @@ else
 struct __ecereNameSpace__ecere__com__DataValue value;
 
 ((void (*)(void *, void *, void *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnUnserialize])(memberType, &value, channel);
-*(int *)((unsigned char *)data + member->offset) = value.i;
+*(int *)((unsigned char *)data + member->offset) = value.__anon1.i;
 }
 }
 else
@@ -2783,7 +2792,7 @@ return result;
 
 const char * __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__StaticString * this, char * tempString, void * fieldData, unsigned int * needClass)
 {
-return (const char *)(this ? this->string : (((void *)0)));
+return this ? this->string : (((void *)0));
 }
 
 void __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnFree(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__StaticString * this)
index 12d8c8b..562ad57 100644 (file)
@@ -247,7 +247,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -260,7 +260,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -270,9 +270,9 @@ 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));
 
 static struct __ecereNameSpace__ecere__com__Instance * __currentModule;
index 58d8b9b..f5d4b6b 100644 (file)
@@ -257,7 +257,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -270,7 +270,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -280,9 +280,9 @@ 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));
 
 static struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__moduleMaps;
index 0cea2ae..238ff17 100644 (file)
@@ -245,7 +245,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
@@ -258,7 +258,7 @@ struct
 {
 const char * dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -268,9 +268,9 @@ 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));
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -537,7 +537,7 @@ union
 {
 const char * dataTypeString;
 int memberType;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg;
 void * param;
 } __attribute__ ((gcc_struct));
@@ -1956,10 +1956,10 @@ static void __ecereNameSpace__ecere__com__FreeTemplateArg(struct __ecereNameSpac
 switch(param->type)
 {
 case 0:
-(__ecereNameSpace__ecere__com__eSystem_Delete((void *)template->templateArgs[id].dataTypeString), template->templateArgs[id].dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)template->templateArgs[id].__anon1.__anon1.dataTypeString), template->templateArgs[id].__anon1.__anon1.dataTypeString = 0);
 break;
 case 1:
-(__ecereNameSpace__ecere__com__eSystem_Delete((void *)template->templateArgs[id].memberString), template->templateArgs[id].memberString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)template->templateArgs[id].__anon1.__anon2.memberString), template->templateArgs[id].__anon1.__anon2.memberString = 0);
 break;
 case 2:
 break;
@@ -1993,10 +1993,10 @@ for(param = _class->templateParams.first; param; param = param->next)
 switch(param->type)
 {
 case 0:
-(__ecereNameSpace__ecere__com__eSystem_Delete((void *)template->templateArgs[id].dataTypeString), template->templateArgs[id].dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)template->templateArgs[id].__anon1.__anon1.dataTypeString), template->templateArgs[id].__anon1.__anon1.dataTypeString = 0);
 break;
 case 1:
-(__ecereNameSpace__ecere__com__eSystem_Delete((void *)template->templateArgs[id].memberString), template->templateArgs[id].memberString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)template->templateArgs[id].__anon1.__anon2.memberString), template->templateArgs[id].__anon1.__anon2.memberString = 0);
 break;
 case 2:
 break;
@@ -2144,16 +2144,16 @@ while((param = _class->templateParams.first))
 switch(param->type)
 {
 case 0:
-(__ecereNameSpace__ecere__com__eSystem_Delete((void *)param->defaultArg.dataTypeString), param->defaultArg.dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)param->defaultArg.__anon1.__anon1.dataTypeString), param->defaultArg.__anon1.__anon1.dataTypeString = 0);
 break;
 case 1:
-(__ecereNameSpace__ecere__com__eSystem_Delete((void *)param->defaultArg.memberString), param->defaultArg.memberString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)param->defaultArg.__anon1.__anon2.memberString), param->defaultArg.__anon1.__anon2.memberString = 0);
 break;
 case 2:
 break;
 }
 if(param->type != 1)
-(__ecereNameSpace__ecere__com__eSystem_Delete((void *)param->dataTypeString), param->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)param->__anon1.dataTypeString), param->__anon1.dataTypeString = 0);
 (__ecereNameSpace__ecere__com__eSystem_Delete((void *)param->name), param->name = 0);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Delete(&_class->templateParams, param);
 }
@@ -2457,12 +2457,12 @@ static void __ecereNameSpace__ecere__com__CopyTemplateArg(struct __ecereNameSpac
 switch(param->type)
 {
 case 0:
-arg->dataTypeString = __ecereNameSpace__ecere__sys__CopyString(arg->dataTypeString);
+arg->__anon1.__anon1.dataTypeString = __ecereNameSpace__ecere__sys__CopyString(arg->__anon1.__anon1.dataTypeString);
 break;
 case 2:
 break;
 case 1:
-arg->memberString = __ecereNameSpace__ecere__sys__CopyString(arg->memberString);
+arg->__anon1.__anon2.memberString = __ecereNameSpace__ecere__sys__CopyString(arg->__anon1.__anon2.memberString);
 break;
 }
 }
@@ -2638,7 +2638,13 @@ if(curParam)
 {
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument argument =
 {
-.member = 0
+
+.__anon1 = {
+
+.__anon1 = {
+.dataTypeString = 0
+}
+}
 };
 char value[1024];
 
@@ -2659,22 +2665,22 @@ __ecereNameSpace__ecere__sys__TrimRSpaces(value, value);
 switch(curParam->type)
 {
 case 0:
-argument.dataTypeString = __ecereNameSpace__ecere__sys__CopyString(value);
-argument.dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, value);
-if(!argument.dataTypeClass)
-argument.dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(((struct __ecereNameSpace__ecere__com__Module *)(((char *)_class->module + structSize_Instance)))->application, value);
-if(!argument.dataTypeClass)
-argument.dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(findModule, value);
+argument.__anon1.__anon1.dataTypeString = __ecereNameSpace__ecere__sys__CopyString(value);
+argument.__anon1.__anon1.dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, value);
+if(!argument.__anon1.__anon1.dataTypeClass)
+argument.__anon1.__anon1.dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(((struct __ecereNameSpace__ecere__com__Module *)(((char *)_class->module + structSize_Instance)))->application, value);
+if(!argument.__anon1.__anon1.dataTypeClass)
+argument.__anon1.__anon1.dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(findModule, value);
 break;
 case 2:
 {
-struct __ecereNameSpace__ecere__com__Class * expClass = __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, curParam->dataTypeString);
+struct __ecereNameSpace__ecere__com__Class * expClass = __ecereNameSpace__ecere__com__eSystem_FindClass(_class->module, curParam->__anon1.dataTypeString);
 
 if(!expClass)
-expClass = __ecereNameSpace__ecere__com__eSystem_FindClass(((struct __ecereNameSpace__ecere__com__Module *)(((char *)_class->module + structSize_Instance)))->application, curParam->dataTypeString);
+expClass = __ecereNameSpace__ecere__com__eSystem_FindClass(((struct __ecereNameSpace__ecere__com__Module *)(((char *)_class->module + structSize_Instance)))->application, curParam->__anon1.dataTypeString);
 if(expClass)
 {
-((unsigned int (*)(void *, void *, const char *))(void *)expClass->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(expClass, &argument.expression, value);
+((unsigned int (*)(void *, void *, const char *))(void *)expClass->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(expClass, &argument.__anon1.expression, value);
 }
 else if(value[0] == '\"')
 {
@@ -2683,59 +2689,59 @@ char * endQuote = value + strlen(value) - 1;
 if(*endQuote != '\"')
 endQuote++;
 *endQuote = '\0';
-argument.expression.p = __ecereNameSpace__ecere__sys__CopyString(value + 1);
+argument.__anon1.expression.__anon1.p = __ecereNameSpace__ecere__sys__CopyString(value + 1);
 }
 else if(value[0] == '\'')
 {
 int nb;
 unsigned int ch = __ecereNameSpace__ecere__sys__UTF8GetChar(value + 1, &nb);
 
-argument.expression.ui = ch;
+argument.__anon1.expression.__anon1.ui = ch;
 }
-else if(!strcmp(curParam->dataTypeString, "uint"))
+else if(!strcmp(curParam->__anon1.dataTypeString, "uint"))
 {
-argument.expression.ui = strtoul(value, (((void *)0)), 0);
+argument.__anon1.expression.__anon1.ui = strtoul(value, (((void *)0)), 0);
 }
-else if(!strcmp(curParam->dataTypeString, "char"))
+else if(!strcmp(curParam->__anon1.dataTypeString, "char"))
 {
-argument.expression.c = (char)strtol(value, (((void *)0)), 0);
+argument.__anon1.expression.__anon1.c = (char)strtol(value, (((void *)0)), 0);
 }
-else if(!strcmp(curParam->dataTypeString, "byte"))
+else if(!strcmp(curParam->__anon1.dataTypeString, "byte"))
 {
-argument.expression.uc = (unsigned char)strtoul(value, (((void *)0)), 0);
+argument.__anon1.expression.__anon1.uc = (unsigned char)strtoul(value, (((void *)0)), 0);
 }
-else if(!strcmp(curParam->dataTypeString, "short"))
+else if(!strcmp(curParam->__anon1.dataTypeString, "short"))
 {
-argument.expression.s = (short)strtol(value, (((void *)0)), 0);
+argument.__anon1.expression.__anon1.s = (short)strtol(value, (((void *)0)), 0);
 }
-else if(!strcmp(curParam->dataTypeString, "uint16"))
+else if(!strcmp(curParam->__anon1.dataTypeString, "uint16"))
 {
-argument.expression.us = (unsigned short)strtoul(value, (((void *)0)), 0);
+argument.__anon1.expression.__anon1.us = (unsigned short)strtoul(value, (((void *)0)), 0);
 }
-else if(!strcmp(curParam->dataTypeString, "int64"))
+else if(!strcmp(curParam->__anon1.dataTypeString, "int64"))
 {
-argument.expression.i64 = __ecereNameSpace__ecere__com___strtoi64(value, (((void *)0)), 0);
+argument.__anon1.expression.__anon1.i64 = __ecereNameSpace__ecere__com___strtoi64(value, (((void *)0)), 0);
 }
-else if(!strcmp(curParam->dataTypeString, "uint64"))
+else if(!strcmp(curParam->__anon1.dataTypeString, "uint64"))
 {
-argument.expression.ui64 = __ecereNameSpace__ecere__com___strtoui64(value, (((void *)0)), 0);
+argument.__anon1.expression.__anon1.ui64 = __ecereNameSpace__ecere__com___strtoui64(value, (((void *)0)), 0);
 }
-else if(!strcmp(curParam->dataTypeString, "float"))
+else if(!strcmp(curParam->__anon1.dataTypeString, "float"))
 {
-argument.expression.f = (float)strtod(value, (((void *)0)));
+argument.__anon1.expression.__anon1.f = (float)strtod(value, (((void *)0)));
 }
-else if(!strcmp(curParam->dataTypeString, "double"))
+else if(!strcmp(curParam->__anon1.dataTypeString, "double"))
 {
-argument.expression.d = strtod(value, (((void *)0)));
+argument.__anon1.expression.__anon1.d = strtod(value, (((void *)0)));
 }
 else
 {
-argument.expression.i = strtol(value, (((void *)0)), 0);
+argument.__anon1.expression.__anon1.i = strtol(value, (((void *)0)), 0);
 }
 break;
 }
 case 1:
-argument.memberString = __ecereNameSpace__ecere__sys__CopyString(value);
+argument.__anon1.__anon2.memberString = __ecereNameSpace__ecere__sys__CopyString(value);
 break;
 }
 __ecereNameSpace__ecere__com__FreeTemplateArg(templatedClass, curParam, curParamID);
@@ -2758,17 +2764,17 @@ curParamID += nextClass->templateParams.count;
 }
 for(param = sClass->templateParams.first; param; param = param->next)
 {
-if(!templatedClass->templateArgs[curParamID].dataTypeString)
+if(!templatedClass->templateArgs[curParamID].__anon1.__anon1.dataTypeString)
 {
 templatedClass->templateArgs[curParamID] = param->defaultArg;
 __ecereNameSpace__ecere__com__CopyTemplateArg(param, &templatedClass->templateArgs[curParamID]);
-if(param->type == 0 && param->defaultArg.dataTypeString)
+if(param->type == 0 && param->defaultArg.__anon1.__anon1.dataTypeString)
 {
-templatedClass->templateArgs[curParamID].dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(templatedClass->module, param->defaultArg.dataTypeString);
-if(!templatedClass->templateArgs[curParamID].dataTypeClass)
-templatedClass->templateArgs[curParamID].dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(((struct __ecereNameSpace__ecere__com__Module *)(((char *)templatedClass->module + structSize_Instance)))->application, param->defaultArg.dataTypeString);
-if(!templatedClass->templateArgs[curParamID].dataTypeClass)
-templatedClass->templateArgs[curParamID].dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(findModule, param->defaultArg.dataTypeString);
+templatedClass->templateArgs[curParamID].__anon1.__anon1.dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(templatedClass->module, param->defaultArg.__anon1.__anon1.dataTypeString);
+if(!templatedClass->templateArgs[curParamID].__anon1.__anon1.dataTypeClass)
+templatedClass->templateArgs[curParamID].__anon1.__anon1.dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(((struct __ecereNameSpace__ecere__com__Module *)(((char *)templatedClass->module + structSize_Instance)))->application, param->defaultArg.__anon1.__anon1.dataTypeString);
+if(!templatedClass->templateArgs[curParamID].__anon1.__anon1.dataTypeClass)
+templatedClass->templateArgs[curParamID].__anon1.__anon1.dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(findModule, param->defaultArg.__anon1.__anon1.dataTypeString);
 }
 }
 curParamID++;
@@ -2789,15 +2795,15 @@ for(param = sClass->templateParams.last; param; param = param->prev)
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * arg = &templatedClass->templateArgs[c];
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * baseArg = &templatedClass->base->templateArgs[c];
 
-if(!(*arg).dataTypeString)
+if(!(*arg).__anon1.__anon1.dataTypeString)
 {
 *arg = templatedClass->base->templateArgs[c];
 __ecereNameSpace__ecere__com__CopyTemplateArg(param, arg);
 if(param->type == 0)
 {
-if((*arg).dataTypeClass && strchr((*arg).dataTypeString, '<') && (*arg).dataTypeClass->templateArgs)
+if((*arg).__anon1.__anon1.dataTypeClass && strchr((*arg).__anon1.__anon1.dataTypeString, '<') && (*arg).__anon1.__anon1.dataTypeClass->templateArgs)
 {
-struct __ecereNameSpace__ecere__com__Class * expClass = (*arg).dataTypeClass;
+struct __ecereNameSpace__ecere__com__Class * expClass = (*arg).__anon1.__anon1.dataTypeClass;
 struct __ecereNameSpace__ecere__com__Class * cClass = (((void *)0));
 int paramCount = 0;
 int lastParam = -1;
@@ -2824,10 +2830,10 @@ int p = numParams - _class->templateParams.count;
 
 for(cParam = _class->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))
 {
-arg.dataTypeString = templatedClass->templateArgs[p].dataTypeString;
-arg.dataTypeClass = templatedClass->templateArgs[p].dataTypeClass;
+arg.__anon1.__anon1.dataTypeString = templatedClass->templateArgs[p].__anon1.__anon1.dataTypeString;
+arg.__anon1.__anon1.dataTypeClass = templatedClass->templateArgs[p].__anon1.__anon1.dataTypeClass;
 break;
 }
 }
@@ -2844,13 +2850,13 @@ break;
 }
 case 1:
 {
-strcat(argument, arg.member->name);
+strcat(argument, arg.__anon1.__anon2.__anon1.member->name);
 break;
 }
 case 0:
 {
-if(arg.dataTypeString)
-strcat(argument, arg.dataTypeString);
+if(arg.__anon1.__anon1.dataTypeString)
+strcat(argument, arg.__anon1.__anon1.dataTypeString);
 break;
 }
 }
@@ -2880,10 +2886,10 @@ templateString[len++] = '>';
 templateString[len++] = '\0';
 }
 __ecereNameSpace__ecere__com__FreeTemplateArg(templatedClass, param, c);
-(*arg).dataTypeString = __ecereNameSpace__ecere__sys__CopyString(templateString);
-(*arg).dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(templatedClass->module, templateString);
-if(!(*arg).dataTypeClass)
-(*arg).dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(((struct __ecereNameSpace__ecere__com__Module *)(((char *)templatedClass->module + structSize_Instance)))->application, templateString);
+(*arg).__anon1.__anon1.dataTypeString = __ecereNameSpace__ecere__sys__CopyString(templateString);
+(*arg).__anon1.__anon1.dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(templatedClass->module, templateString);
+if(!(*arg).__anon1.__anon1.dataTypeClass)
+(*arg).__anon1.__anon1.dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(((struct __ecereNameSpace__ecere__com__Module *)(((char *)templatedClass->module + structSize_Instance)))->application, templateString);
 }
 else
 {
@@ -2892,11 +2898,11 @@ int p = numParams - _class->templateParams.count;
 
 for(cParam = _class->templateParams.first; cParam; cParam = cParam->next, p++)
 {
-if(cParam->type == 0 && (*baseArg).dataTypeString && !strcmp(cParam->name, (*baseArg).dataTypeString))
+if(cParam->type == 0 && (*baseArg).__anon1.__anon1.dataTypeString && !strcmp(cParam->name, (*baseArg).__anon1.__anon1.dataTypeString))
 {
 __ecereNameSpace__ecere__com__FreeTemplateArg(templatedClass, param, c);
-(*arg).dataTypeString = templatedClass->templateArgs[p].dataTypeString;
-(*arg).dataTypeClass = templatedClass->templateArgs[p].dataTypeClass;
+(*arg).__anon1.__anon1.dataTypeString = templatedClass->templateArgs[p].__anon1.__anon1.dataTypeString;
+(*arg).__anon1.__anon1.dataTypeClass = templatedClass->templateArgs[p].__anon1.__anon1.dataTypeClass;
 __ecereNameSpace__ecere__com__CopyTemplateArg(cParam, arg);
 break;
 }
@@ -2927,17 +2933,17 @@ curParamID += nextClass->templateParams.count;
 }
 for(param = sClass->templateParams.first; param; param = param->next)
 {
-if(!templatedClass->templateArgs[curParamID].dataTypeString)
+if(!templatedClass->templateArgs[curParamID].__anon1.__anon1.dataTypeString)
 {
 templatedClass->templateArgs[curParamID] = param->defaultArg;
 __ecereNameSpace__ecere__com__CopyTemplateArg(param, &templatedClass->templateArgs[curParamID]);
-if(param->type == 0 && param->defaultArg.dataTypeString)
+if(param->type == 0 && param->defaultArg.__anon1.__anon1.dataTypeString)
 {
-templatedClass->templateArgs[curParamID].dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(templatedClass->module, param->defaultArg.dataTypeString);
-if(!templatedClass->templateArgs[curParamID].dataTypeClass)
-templatedClass->templateArgs[curParamID].dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(((struct __ecereNameSpace__ecere__com__Module *)(((char *)templatedClass->module + structSize_Instance)))->application, param->defaultArg.dataTypeString);
-if(!templatedClass->templateArgs[curParamID].dataTypeClass)
-templatedClass->templateArgs[curParamID].dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(findModule, param->defaultArg.dataTypeString);
+templatedClass->templateArgs[curParamID].__anon1.__anon1.dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(templatedClass->module, param->defaultArg.__anon1.__anon1.dataTypeString);
+if(!templatedClass->templateArgs[curParamID].__anon1.__anon1.dataTypeClass)
+templatedClass->templateArgs[curParamID].__anon1.__anon1.dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(((struct __ecereNameSpace__ecere__com__Module *)(((char *)templatedClass->module + structSize_Instance)))->application, param->defaultArg.__anon1.__anon1.dataTypeString);
+if(!templatedClass->templateArgs[curParamID].__anon1.__anon1.dataTypeClass)
+templatedClass->templateArgs[curParamID].__anon1.__anon1.dataTypeClass = __ecereNameSpace__ecere__com__eSystem_FindClass(findModule, param->defaultArg.__anon1.__anon1.dataTypeString);
 }
 }
 curParamID++;
@@ -2968,13 +2974,13 @@ if(dClass->templateClass)
 dClass = dClass->templateClass;
 for(cParam = dClass->templateParams.last; cParam; cParam = cParam->prev, 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(templatedClass->templateArgs[p].dataTypeString && c != p)
+if(templatedClass->templateArgs[p].__anon1.__anon1.dataTypeString && c != p)
 {
 __ecereNameSpace__ecere__com__FreeTemplateArg(templatedClass, param, c);
-(*arg).dataTypeString = templatedClass->templateArgs[p].dataTypeString;
-(*arg).dataTypeClass = templatedClass->templateArgs[p].dataTypeClass;
+(*arg).__anon1.__anon1.dataTypeString = templatedClass->templateArgs[p].__anon1.__anon1.dataTypeString;
+(*arg).__anon1.__anon1.dataTypeClass = templatedClass->templateArgs[p].__anon1.__anon1.dataTypeClass;
 __ecereNameSpace__ecere__com__CopyTemplateArg(cParam, arg);
 }
 }
@@ -2999,10 +3005,10 @@ for(param = tClass->templateParams.last; param; param = param->prev)
 {
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * arg = &templatedClass->templateArgs[c];
 
-if(param->type == 1 && (*arg).memberString)
+if(param->type == 1 && (*arg).__anon1.__anon2.memberString)
 {
 struct __ecereNameSpace__ecere__com__Class * memberClass = templatedClass;
-const char * memberString = (*arg).memberString;
+const char * memberString = (*arg).__anon1.__anon2.memberString;
 const char * colon = strstr(memberString, "::");
 const char * memberName = memberString;
 
@@ -3010,7 +3016,7 @@ if(colon)
 memberName = colon + 2;
 if(!colon)
 {
-memberString = param->defaultArg.memberString;
+memberString = param->defaultArg.__anon1.__anon2.memberString;
 colon = memberString ? strstr(memberString, "::") : (((void *)0));
 }
 if(colon)
@@ -3036,9 +3042,9 @@ id += nextClass->templateParams.count;
 }
 for(cParam = sClass->templateParams.first; cParam; cParam = cParam->next)
 {
-if(cParam->type == 0 && !strcmp(cParam->name, className) && templatedClass->templateArgs[id].dataTypeString)
+if(cParam->type == 0 && !strcmp(cParam->name, className) && templatedClass->templateArgs[id].__anon1.__anon1.dataTypeString)
 {
-strcpy(className, templatedClass->templateArgs[id].dataTypeString);
+strcpy(className, templatedClass->templateArgs[id].__anon1.__anon1.dataTypeString);
 }
 id++;
 }
@@ -3051,16 +3057,16 @@ memberClass = __ecereNameSpace__ecere__com__eSystem_FindClass(((struct __ecereNa
 }
 if(memberClass)
 {
-switch(param->memberType)
+switch(param->__anon1.memberType)
 {
 case 0:
-(*arg).member = __ecereNameSpace__ecere__com__eClass_FindDataMember(memberClass, memberName, memberClass->module, (((void *)0)), (((void *)0)));
+(*arg).__anon1.__anon2.__anon1.member = __ecereNameSpace__ecere__com__eClass_FindDataMember(memberClass, memberName, memberClass->module, (((void *)0)), (((void *)0)));
 break;
 case 1:
-(*arg).method = __ecereNameSpace__ecere__com__eClass_FindMethod(memberClass, memberName, memberClass->module);
+(*arg).__anon1.__anon2.__anon1.method = __ecereNameSpace__ecere__com__eClass_FindMethod(memberClass, memberName, memberClass->module);
 break;
 case 2:
-(*arg).prop = __ecereNameSpace__ecere__com__eClass_FindProperty(memberClass, memberName, memberClass->module);
+(*arg).__anon1.__anon2.__anon1.prop = __ecereNameSpace__ecere__com__eClass_FindProperty(memberClass, memberName, memberClass->module);
 break;
 }
 }
@@ -3109,17 +3115,17 @@ struct __ecereNameSpace__ecere__com__ClassTemplateArgument * fArg = &from->templ
 
 if(param->type == 0)
 {
-if((*arg).dataTypeString != (*fArg).dataTypeString && (*arg).dataTypeString && (*fArg).dataTypeString && strcmp((*arg).dataTypeString, (*fArg).dataTypeString))
+if((*arg).__anon1.__anon1.dataTypeString != (*fArg).__anon1.__anon1.dataTypeString && (*arg).__anon1.__anon1.dataTypeString && (*fArg).__anon1.__anon1.dataTypeString && strcmp((*arg).__anon1.__anon1.dataTypeString, (*fArg).__anon1.__anon1.dataTypeString))
 break;
 }
 else if(param->type == 1)
 {
-if((*arg).member != (*fArg).member)
+if((*arg).__anon1.__anon2.__anon1.member != (*fArg).__anon1.__anon2.__anon1.member)
 break;
 }
 else if(param->type == 2)
 {
-if((*arg).expression.ui64 != (*fArg).expression.ui64)
+if((*arg).__anon1.expression.__anon1.ui64 != (*fArg).__anon1.expression.__anon1.ui64)
 break;
 }
 }
@@ -5444,7 +5450,7 @@ return param;
 param = __extension__ ({
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereInstance1 = __ecereNameSpace__ecere__com__eSystem_New0(structSize_ClassTemplateParameter);
 
-__ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(name), __ecereInstance1->type = type, __ecereInstance1->dataTypeString = (type == 1) ? info : __ecereNameSpace__ecere__sys__CopyString(info), __ecereInstance1;
+__ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(name), __ecereInstance1->type = type, __ecereInstance1->__anon1.dataTypeString = (type == 1) ? info : __ecereNameSpace__ecere__sys__CopyString(info), __ecereInstance1;
 });
 if(defaultArg != (((void *)0)))
 {
@@ -5477,10 +5483,10 @@ base->templateParams.count = count;
 }
 for(param = base->templateParams.first; param; param = param->next)
 {
-if(param->type == 1 && param->defaultArg.memberString)
+if(param->type == 1 && param->defaultArg.__anon1.__anon2.memberString)
 {
 struct __ecereNameSpace__ecere__com__Class * memberClass = base;
-const char * colon = strstr(param->defaultArg.memberString, "::");
+const char * colon = strstr(param->defaultArg.__anon1.__anon2.memberString, "::");
 const char * memberName;
 
 if(colon)
@@ -5488,8 +5494,8 @@ if(colon)
 char className[1024];
 struct __ecereNameSpace__ecere__com__Class * sClass;
 
-memcpy(className, param->defaultArg.memberString, colon - param->defaultArg.memberString);
-className[colon - param->defaultArg.memberString] = '\0';
+memcpy(className, param->defaultArg.__anon1.__anon2.memberString, colon - param->defaultArg.__anon1.__anon2.memberString);
+className[colon - param->defaultArg.__anon1.__anon2.memberString] = '\0';
 memberName = colon + 2;
 for(sClass = base; sClass; sClass = sClass->base)
 {
@@ -5504,7 +5510,7 @@ if(sClass == base || base->templateArgs)
 for(cParam = sClass->templateParams.first; cParam; cParam = cParam->next)
 {
 if(cParam->type == 0 && !strcmp(cParam->name, className))
-strcpy(className, (sClass == base) ? cParam->defaultArg.dataTypeString : base->templateArgs[id].dataTypeString);
+strcpy(className, (sClass == base) ? cParam->defaultArg.__anon1.__anon1.dataTypeString : base->templateArgs[id].__anon1.__anon1.dataTypeString);
 id++;
 }
 }
@@ -5514,19 +5520,19 @@ if(!memberClass)
 memberClass = __ecereNameSpace__ecere__com__eSystem_FindClass(((struct __ecereNameSpace__ecere__com__Module *)(((char *)base->module + structSize_Instance)))->application, className);
 }
 else
-memberName = param->defaultArg.memberString;
+memberName = param->defaultArg.__anon1.__anon2.memberString;
 if(memberClass)
 {
-switch(param->memberType)
+switch(param->__anon1.memberType)
 {
 case 0:
-param->defaultArg.member = __ecereNameSpace__ecere__com__eClass_FindDataMember(memberClass, memberName, memberClass->module, (((void *)0)), (((void *)0)));
+param->defaultArg.__anon1.__anon2.__anon1.member = __ecereNameSpace__ecere__com__eClass_FindDataMember(memberClass, memberName, memberClass->module, (((void *)0)), (((void *)0)));
 break;
 case 1:
-param->defaultArg.method = __ecereNameSpace__ecere__com__eClass_FindMethod(memberClass, memberName, memberClass->module);
+param->defaultArg.__anon1.__anon2.__anon1.method = __ecereNameSpace__ecere__com__eClass_FindMethod(memberClass, memberName, memberClass->module);
 break;
 case 2:
-param->defaultArg.prop = __ecereNameSpace__ecere__com__eClass_FindProperty(memberClass, memberName, memberClass->module);
+param->defaultArg.__anon1.__anon2.__anon1.prop = __ecereNameSpace__ecere__com__eClass_FindProperty(memberClass, memberName, memberClass->module);
 break;
 }
 }
index d41cc38..180167a 100644 (file)
@@ -247,7 +247,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
@@ -260,7 +260,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -270,9 +270,9 @@ 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));
 
 extern void *  memmove(void * , const void * , size_t size);
index 6bee900..3d2657e 100644 (file)
@@ -102,12 +102,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 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);
@@ -218,14 +218,14 @@ struct
 {
 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;
@@ -260,7 +260,7 @@ float f;
 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;
@@ -277,14 +277,14 @@ struct
 {
 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
 {
@@ -363,7 +363,7 @@ 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;
@@ -402,7 +402,7 @@ union
 struct Expression * expression;
 struct Identifier * identifier;
 struct TemplateDatatype * templateDatatype;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
@@ -418,7 +418,7 @@ union
 {
 struct TemplateDatatype * dataType;
 int memberType;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct TemplateArgument * defaultArgument;
 const char *  dataTypeString;
 struct Type * baseType;
@@ -441,7 +441,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -451,11 +451,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -507,7 +507,7 @@ struct
 {
 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;
@@ -551,7 +551,7 @@ struct Declaration * declaration;
 char *  importString;
 struct Identifier * id;
 struct DBTableDef * table;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 int importType;
 } __attribute__ ((gcc_struct));
 
@@ -578,7 +578,7 @@ union
 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
@@ -587,20 +587,20 @@ struct
 {
 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;
@@ -643,7 +643,7 @@ struct
 {
 struct __ecereNameSpace__ecere__sys__OldList members;
 char *  enumName;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Type * returnType;
@@ -651,13 +651,13 @@ struct __ecereNameSpace__ecere__sys__OldList params;
 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;
@@ -665,10 +665,10 @@ int arraySize;
 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;
@@ -822,7 +822,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -832,9 +832,9 @@ 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));
 
 enum yytokentype
@@ -962,7 +962,7 @@ struct
 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;
@@ -990,8 +990,8 @@ struct
 {
 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));
@@ -1270,7 +1270,7 @@ for(def = definitions->first; def; def = def->next)
 {
 if(def->type == 2)
 {
-struct Declaration * decl = def->decl;
+struct Declaration * decl = def->__anon1.decl;
 struct __ecereNameSpace__ecere__com__DataMember * dataMember;
 struct Type * dataType;
 struct DataMemberDefine * dataMemberDefine;
@@ -1279,9 +1279,9 @@ if(decl->type == 0)
 {
 struct Declarator * d;
 
-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 Identifier * declId = GetDeclId(d);
 
@@ -1295,7 +1295,7 @@ __ecereInstance1->isProperty = 3, __ecereInstance1->memberType = 0, __ecereInsta
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&parentMemberDefine->dataMembers, dataMemberDefine);
 if(regClass && regClass->type == 2)
 {
-struct Expression * sizeExp = d->structDecl.exp, * posExp = d->structDecl.posExp;
+struct Expression * sizeExp = d->__anon1.structDecl.exp, * posExp = d->__anon1.structDecl.posExp;
 int bitSize = 0, bitPos = -1;
 char dataTypeString[1024];
 
@@ -1305,7 +1305,7 @@ if(sizeExp)
 ProcessExpressionType(sizeExp);
 ComputeExpression(sizeExp);
 if(sizeExp->isConstant)
-bitSize = strtol(sizeExp->constant, (((void *)0)), 0);
+bitSize = strtol(sizeExp->__anon1.__anon1.constant, (((void *)0)), 0);
 FreeExpression(sizeExp);
 }
 if(posExp)
@@ -1313,12 +1313,12 @@ if(posExp)
 ProcessExpressionType(posExp);
 ComputeExpression(posExp);
 if(posExp->isConstant)
-bitPos = strtol(posExp->constant, (((void *)0)), 0);
+bitPos = strtol(posExp->__anon1.__anon1.constant, (((void *)0)), 0);
 FreeExpression(posExp);
 }
-d->structDecl.exp = (((void *)0));
-d->structDecl.posExp = (((void *)0));
-dataType = ProcessType(decl->specifiers, d);
+d->__anon1.structDecl.exp = (((void *)0));
+d->__anon1.structDecl.posExp = (((void *)0));
+dataType = ProcessType(decl->__anon1.__anon1.specifiers, d);
 PrintType(dataType, dataTypeString, 0x0, 0x1);
 {
 struct __ecereNameSpace__ecere__com__BitMember * member = __ecereNameSpace__ecere__com__eClass_AddBitMember(regClass, declId->string, dataTypeString, 0, 0, def->memberAccess);
@@ -1339,7 +1339,7 @@ else
 char typeString[1024];
 
 typeString[0] = '\0';
-dataType = ProcessType(decl->specifiers, d);
+dataType = ProcessType(decl->__anon1.__anon1.specifiers, d);
 PrintType(dataType, typeString, 0x0, 0x1);
 if(member)
 dataMember = __ecereNameSpace__ecere__com__eMember_AddDataMember(member, declId->string, typeString, 0, 0, def->memberAccess);
@@ -1354,15 +1354,15 @@ dataMemberDefine->memberAccess = def->memberAccess;
 }
 }
 }
-else if(decl->specifiers)
+else if(decl->__anon1.__anon1.specifiers)
 {
 struct Specifier * spec;
 
-for(spec = (*decl->specifiers).first; spec; spec = spec->next)
+for(spec = (*decl->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
 {
 if(spec->type == 3 || spec->type == 4)
 {
-if(spec->definitions && !spec->id)
+if(spec->__anon1.__anon2.definitions && !spec->__anon1.__anon2.id)
 {
 struct __ecereNameSpace__ecere__com__DataMember * dataMember = __ecereNameSpace__ecere__com__eMember_New((spec->type == 4) ? 1 : 2, def->memberAccess);
 
@@ -1372,22 +1372,22 @@ struct DataMemberDefine * __ecereInstance1 = __ecereNameSpace__ecere__com__eInst
 __ecereInstance1->isProperty = 3, __ecereInstance1->memberType = (spec->type == 4) ? 1 : 2, __ecereInstance1;
 });
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&parentMemberDefine->dataMembers, dataMemberDefine);
-AddDefinitions((((void *)0)), dataMemberDefine, (((void *)0)), dataMember, spec->definitions);
+AddDefinitions((((void *)0)), dataMemberDefine, (((void *)0)), dataMember, spec->__anon1.__anon2.definitions);
 if(member)
 __ecereNameSpace__ecere__com__eMember_AddMember(member, dataMember);
 else
 __ecereNameSpace__ecere__com__eClass_AddMember(regClass, dataMember);
 }
-else if(spec->definitions && spec->id && (*spec->definitions).count)
+else if(spec->__anon1.__anon2.definitions && spec->__anon1.__anon2.id && (*spec->__anon1.__anon2.definitions).count)
 {
 {
-struct Identifier * id = spec->id;
+struct Identifier * id = spec->__anon1.__anon2.id;
 char typeString[1024];
 
 typeString[0] = '\0';
-spec->id = (((void *)0));
-decl->declarators = MkListOne(MkDeclaratorIdentifier(id));
-dataType = ProcessType(decl->specifiers, (((void *)0)));
+spec->__anon1.__anon2.id = (((void *)0));
+decl->__anon1.__anon1.declarators = MkListOne(MkDeclaratorIdentifier(id));
+dataType = ProcessType(decl->__anon1.__anon1.specifiers, (((void *)0)));
 PrintType(dataType, typeString, 0x0, 0x1);
 if(member)
 dataMember = __ecereNameSpace__ecere__com__eMember_AddDataMember(member, id->string, typeString, 0, 0, def->memberAccess);
@@ -1403,37 +1403,37 @@ dataMember->dataType = dataType;
 }
 else if(decl->type == 2)
 {
-struct Instantiation * inst = decl->inst;
+struct Instantiation * inst = decl->__anon1.inst;
 struct Expression * exp = inst->exp;
 
 if(exp)
 {
 {
-char * string = exp->identifier->string;
+char * string = exp->__anon1.__anon1.identifier->string;
 
 {
-struct Type * dataType = (dataType = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type), dataType->kind = 8, dataType->_class = inst->_class->symbol, dataType->refCount = 1, dataType);
+struct Type * dataType = (dataType = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type), dataType->kind = 8, dataType->__anon1._class = inst->_class->__anon1.__anon1.symbol, dataType->refCount = 1, dataType);
 
 if(member)
-dataMember = __ecereNameSpace__ecere__com__eMember_AddDataMember(member, string, inst->_class->name, 0, 0, def->memberAccess);
+dataMember = __ecereNameSpace__ecere__com__eMember_AddDataMember(member, string, inst->_class->__anon1.__anon1.name, 0, 0, def->memberAccess);
 else
-dataMember = __ecereNameSpace__ecere__com__eClass_AddDataMember(regClass, string, inst->_class->name, 0, 0, def->memberAccess);
+dataMember = __ecereNameSpace__ecere__com__eClass_AddDataMember(regClass, string, inst->_class->__anon1.__anon1.name, 0, 0, def->memberAccess);
 if(dataMember)
 dataMember->dataType = dataType;
 }
 dataMemberDefine = __extension__ ({
 struct DataMemberDefine * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_DataMemberDefine);
 
-__ecereInstance1->isProperty = 3, __ecereInstance1->memberType = 0, __ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(string), __ecereInstance1->type = __ecereNameSpace__ecere__sys__CopyString(inst->_class->name), __ecereInstance1;
+__ecereInstance1->isProperty = 3, __ecereInstance1->memberType = 0, __ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(string), __ecereInstance1->type = __ecereNameSpace__ecere__sys__CopyString(inst->_class->__anon1.__anon1.name), __ecereInstance1;
 });
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&parentMemberDefine->dataMembers, dataMemberDefine);
 }
 }
 }
 }
-else if(def->type == 3 && def->propertyDef)
+else if(def->type == 3 && def->__anon1.propertyDef)
 {
-struct PropertyDef * propertyDef = def->propertyDef;
+struct PropertyDef * propertyDef = def->__anon1.propertyDef;
 
 {
 struct __ecereNameSpace__ecere__com__Property * prop;
@@ -1442,7 +1442,7 @@ struct PropertyDefine * propDefine;
 {
 char * dataTypeString = StringFromSpecDecl(propertyDef->specifiers, propertyDef->declarator);
 
-prop = __ecereNameSpace__ecere__com__eClass_AddProperty(regClass, propertyDef->conversion ? (((void *)0)) : propertyDef->id->string, dataTypeString, propertyDef->setStmt, propertyDef->getStmt, def->memberAccess);
+prop = __ecereNameSpace__ecere__com__eClass_AddProperty(regClass, propertyDef->__anon1.conversion ? (((void *)0)) : propertyDef->id->string, dataTypeString, propertyDef->setStmt, propertyDef->getStmt, def->memberAccess);
 if(prop)
 {
 prop->IsSet = (void *)propertyDef->issetStmt;
@@ -1462,15 +1462,15 @@ propertyDef->symbol->type->refCount++;
 propDefine = __extension__ ({
 struct PropertyDefine * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_PropertyDefine);
 
-__ecereInstance1->isProperty = 1, __ecereInstance1->name = prop->conversion ? (((void *)0)) : __ecereNameSpace__ecere__sys__CopyString(prop->name), __ecereInstance1->type = __ecereNameSpace__ecere__sys__CopyString(prop->dataTypeString), __ecereInstance1->isVirtual = 0x0, __ecereInstance1->memberAccess = def->memberAccess, __ecereInstance1->hasSet = propertyDef->setStmt ? 0x1 : 0x0, __ecereInstance1->hasGet = propertyDef->getStmt ? 0x1 : 0x0, __ecereInstance1->isWatchable = propertyDef->isWatchable, __ecereInstance1;
+__ecereInstance1->isProperty = 1, __ecereInstance1->name = prop->conversion ? (((void *)0)) : __ecereNameSpace__ecere__sys__CopyString(prop->name), __ecereInstance1->type = __ecereNameSpace__ecere__sys__CopyString(prop->dataTypeString), __ecereInstance1->isVirtual = 0x0, __ecereInstance1->memberAccess = def->memberAccess, __ecereInstance1->hasSet = propertyDef->setStmt ? 0x1 : 0x0, __ecereInstance1->hasGet = propertyDef->getStmt ? 0x1 : 0x0, __ecereInstance1->isWatchable = propertyDef->__anon1.isWatchable, __ecereInstance1;
 });
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&classDefine->propertiesAndMembers, propDefine);
 }
 }
 }
-else if(def->type == 10 && def->propertyDef)
+else if(def->type == 10 && def->__anon1.propertyDef)
 {
-struct PropertyDef * propertyDef = def->propertyDef;
+struct PropertyDef * propertyDef = def->__anon1.propertyDef;
 
 {
 struct __ecereNameSpace__ecere__com__ClassProperty * prop;
@@ -1509,11 +1509,11 @@ struct __ecereNameSpace__ecere__com__DataMember * member;
 struct __ecereNameSpace__ecere__com__Property * prop;
 struct __ecereNameSpace__ecere__com__Method * method;
 
-if((prop = __ecereNameSpace__ecere__com__eClass_FindProperty(regClass, def->id->string, privateModule)))
+if((prop = __ecereNameSpace__ecere__com__eClass_FindProperty(regClass, def->__anon1.__anon1.id->string, privateModule)))
 {
 struct PropertyDefine * propDefine;
 
-prop = __ecereNameSpace__ecere__com__eClass_AddProperty(regClass, def->id->string, (((void *)0)), (((void *)0)), (((void *)0)), def->memberAccess);
+prop = __ecereNameSpace__ecere__com__eClass_AddProperty(regClass, def->__anon1.__anon1.id->string, (((void *)0)), (((void *)0)), (((void *)0)), def->memberAccess);
 if(prop)
 {
 propDefine = __extension__ ({
@@ -1524,15 +1524,15 @@ __ecereInstance1->isProperty = 1, __ecereInstance1->name = __ecereNameSpace__ece
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&classDefine->propertiesAndMembers, propDefine);
 }
 }
-else if((member = __ecereNameSpace__ecere__com__eClass_FindDataMember(regClass, def->id->string, privateModule, (((void *)0)), (((void *)0)))))
+else if((member = __ecereNameSpace__ecere__com__eClass_FindDataMember(regClass, def->__anon1.__anon1.id->string, privateModule, (((void *)0)), (((void *)0)))))
 {
 struct DataMemberDefine * dataMemberDefine;
 
-member = __ecereNameSpace__ecere__com__eClass_AddDataMember(regClass, def->id->string, (((void *)0)), 0, 0, def->memberAccess);
+member = __ecereNameSpace__ecere__com__eClass_AddDataMember(regClass, def->__anon1.__anon1.id->string, (((void *)0)), 0, 0, def->memberAccess);
 dataMemberDefine = __extension__ ({
 struct DataMemberDefine * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_DataMemberDefine);
 
-__ecereInstance1->isProperty = 3, __ecereInstance1->memberType = 0, __ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(def->id->string), __ecereInstance1->memberAccess = def->memberAccess, __ecereInstance1;
+__ecereInstance1->isProperty = 3, __ecereInstance1->memberType = 0, __ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(def->__anon1.__anon1.id->string), __ecereInstance1->memberAccess = def->memberAccess, __ecereInstance1;
 });
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&parentMemberDefine->dataMembers, dataMemberDefine);
 }
@@ -1615,7 +1615,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct OpTable ops;
 } __attribute__ ((gcc_struct));
 
@@ -1633,7 +1633,7 @@ union
 {
 const char *  dataTypeString;
 int memberType;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg;
 void *  param;
 } __attribute__ ((gcc_struct));
@@ -1658,15 +1658,15 @@ struct Type * baseType = ProcessType(baseSpecs, (((void *)0)));
 PrintType(baseType, baseName, 0x0, 0x1);
 if(baseType->kind == 8)
 {
-if(baseType->_class->registered && classType == 0)
+if(baseType->__anon1._class->__anon1.registered && classType == 0)
 {
-if(baseType->_class->registered->type == 3)
+if(baseType->__anon1._class->__anon1.registered->type == 3)
 classType = 3;
-else if(baseType->_class->registered->type == 2)
+else if(baseType->__anon1._class->__anon1.registered->type == 2)
 classType = 2;
-else if(baseType->_class->registered->type == 5)
+else if(baseType->__anon1._class->__anon1.registered->type == 5)
 classType = 5;
-else if(baseType->_class->registered->type == 4)
+else if(baseType->__anon1._class->__anon1.registered->type == 4)
 {
 wouldBeEnum = 0x1;
 }
@@ -1680,7 +1680,7 @@ baseName[0] = '\0';
 else
 unitType = 0x1;
 FreeType(baseType);
-if(((struct Specifier *)baseSpecs->first)->type == 0 && ((struct Specifier *)baseSpecs->first)->specifier == PRIVATE)
+if(((struct Specifier *)baseSpecs->first)->type == 0 && ((struct Specifier *)baseSpecs->first)->__anon1.specifier == PRIVATE)
 inheritanceAccess = 2;
 }
 if(classType == 0)
@@ -1693,7 +1693,7 @@ for(def = definitions->first; def; def = def->next)
 {
 if(def->type == 2)
 {
-struct Declaration * decl = def->decl;
+struct Declaration * decl = def->__anon1.decl;
 
 if(decl->type == 0)
 {
@@ -1702,13 +1702,13 @@ if(unitType)
 classType = 2;
 break;
 }
-if(decl->declarators)
+if(decl->__anon1.__anon1.declarators)
 {
 struct Declarator * d;
 
-for(d = (*decl->declarators).first; d; d = d->next)
+for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
 {
-if(d->structDecl.exp)
+if(d->__anon1.structDecl.exp)
 {
 classType = 2;
 break;
@@ -1724,7 +1724,7 @@ break;
 }
 if(classType == 0 && wouldBeEnum)
 classType = 4;
-regClass = symbol->registered = __ecereNameSpace__ecere__com__eSystem_RegisterClass((classType == 6) ? 1 : classType, symbol->string, baseName[0] ? baseName : (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), privateModule, 1, inheritanceAccess);
+regClass = symbol->__anon1.registered = __ecereNameSpace__ecere__com__eSystem_RegisterClass((classType == 6) ? 1 : classType, symbol->string, baseName[0] ? baseName : (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), privateModule, 1, inheritanceAccess);
 if(regClass)
 regClass->symbol = symbol;
 classDefine = __extension__ ({
@@ -1755,7 +1755,7 @@ for(def = definitions->first; def; def = def->next)
 {
 if(def->type == 0)
 {
-struct ClassFunction * func = def->function;
+struct ClassFunction * func = def->__anon1.function;
 
 if(!func->dontMangle && func->declarator)
 {
@@ -1781,7 +1781,7 @@ __ecereInstance1->string = __ecereNameSpace__ecere__sys__CopyString(func->declar
 });
 if(func->declarator->symbol->type)
 func->declarator->symbol->type->refCount++;
-((struct Symbol *)method->symbol)->method = method;
+((struct Symbol *)method->symbol)->__anon1.method = method;
 func->declarator->symbol = (((void *)0));
 if(method->type != 1 || method->_class == regClass)
 {
@@ -1799,11 +1799,11 @@ else if(def->type == 13)
 {
 struct __ecereNameSpace__ecere__com__Method * method;
 
-if((method = __ecereNameSpace__ecere__com__eClass_FindMethod(regClass, def->id->string, privateModule)))
+if((method = __ecereNameSpace__ecere__com__eClass_FindMethod(regClass, def->__anon1.__anon1.id->string, privateModule)))
 {
 struct MethodDefine * methodDefine;
 
-method = __ecereNameSpace__ecere__com__eClass_AddMethod(regClass, def->id->string, (((void *)0)), (((void *)0)), def->memberAccess);
+method = __ecereNameSpace__ecere__com__eClass_AddMethod(regClass, def->__anon1.__anon1.id->string, (((void *)0)), (((void *)0)), def->memberAccess);
 methodDefine = __extension__ ({
 struct MethodDefine * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_MethodDefine);
 
@@ -1822,7 +1822,13 @@ for(param = (*symbol->templateParams).first; param; param = param->next)
 {
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg =
 {
-.member = 0
+
+.__anon1 = {
+
+.__anon1 = {
+.dataTypeString = 0
+}
+}
 };
 
 if(param->defaultArgument)
@@ -1830,47 +1836,47 @@ if(param->defaultArgument)
 switch(param->type)
 {
 case 0:
-defaultArg.dataTypeString = StringFromSpecDecl(param->defaultArgument->templateDatatype->specifiers, param->defaultArgument->templateDatatype->decl);
+defaultArg.__anon1.__anon1.dataTypeString = StringFromSpecDecl(param->defaultArgument->__anon1.templateDatatype->specifiers, param->defaultArgument->__anon1.templateDatatype->decl);
 break;
 case 1:
 {
 char memberString[1024];
 
 memberString[0] = '\0';
-if(param->defaultArgument->identifier->_class && param->defaultArgument->identifier->_class->name)
+if(param->defaultArgument->__anon1.identifier->_class && param->defaultArgument->__anon1.identifier->_class->__anon1.__anon1.name)
 {
-if(param->defaultArgument->identifier->_class->type == 8)
-strcpy(memberString, param->defaultArgument->identifier->_class->templateParameter->identifier->string);
+if(param->defaultArgument->__anon1.identifier->_class->type == 8)
+strcpy(memberString, param->defaultArgument->__anon1.identifier->_class->__anon1.templateParameter->identifier->string);
 else
-strcpy(memberString, param->defaultArgument->identifier->_class->name);
+strcpy(memberString, param->defaultArgument->__anon1.identifier->_class->__anon1.__anon1.name);
 }
 if(memberString[0])
 {
 strcat(memberString, "::");
 }
-strcat(memberString, param->defaultArgument->identifier->string);
-defaultArg.memberString = __ecereNameSpace__ecere__sys__CopyString(memberString);
+strcat(memberString, param->defaultArgument->__anon1.identifier->string);
+defaultArg.__anon1.__anon2.memberString = __ecereNameSpace__ecere__sys__CopyString(memberString);
 break;
 }
 case 2:
 {
 struct Operand op;
 
-ProcessExpressionType(param->defaultArgument->expression);
-ComputeExpression(param->defaultArgument->expression);
-op = GetOperand(param->defaultArgument->expression);
-defaultArg.expression.ui64 = op.ui64;
+ProcessExpressionType(param->defaultArgument->__anon1.expression);
+ComputeExpression(param->defaultArgument->__anon1.expression);
+op = GetOperand(param->defaultArgument->__anon1.expression);
+defaultArg.__anon1.expression.__anon1.ui64 = op.__anon1.ui64;
 break;
 }
 }
 }
 if(param->type == 1)
 {
-__ecereNameSpace__ecere__com__eClass_AddTemplateParameter(regClass, param->identifier->string, param->type, (void *)param->memberType, &defaultArg);
+__ecereNameSpace__ecere__com__eClass_AddTemplateParameter(regClass, param->identifier->string, param->type, (void *)param->__anon1.memberType, &defaultArg);
 }
 else
 {
-char * typeString = param->dataType ? StringFromSpecDecl(param->dataType->specifiers, param->dataType->decl) : (((void *)0));
+char * typeString = param->__anon1.dataType ? StringFromSpecDecl(param->__anon1.dataType->specifiers, param->__anon1.dataType->decl) : (((void *)0));
 
 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(regClass, param->identifier->string, param->type, typeString, &defaultArg);
 }
@@ -1925,7 +1931,7 @@ struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
 
 static void ProcessClassEnumValues(int classType, struct __ecereNameSpace__ecere__sys__OldList * definitions, struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs, struct __ecereNameSpace__ecere__sys__OldList * enumValues)
 {
-struct __ecereNameSpace__ecere__com__Class * regClass = symbol->registered;
+struct __ecereNameSpace__ecere__com__Class * regClass = symbol->__anon1.registered;
 
 if(regClass && enumValues)
 {
@@ -1944,17 +1950,17 @@ SetParsingType(0x0);
 if(!e->exp->expType)
 {
 destType->kind = 8;
-destType->_class = symbol;
+destType->__anon1._class = symbol;
 ProcessExpressionType(e->exp);
 }
 if(e->exp->isConstant)
 {
-if(e->exp->type == 0 && e->exp->expType && e->exp->identifier && e->exp->identifier->string && e->exp->expType->kind == 15)
+if(e->exp->type == 0 && e->exp->expType && e->exp->__anon1.__anon1.identifier && e->exp->__anon1.__anon1.identifier->string && e->exp->expType->kind == 15)
 {
 struct __ecereNameSpace__ecere__sys__NamedLink * l;
-char * string = e->exp->identifier->string;
+char * string = e->exp->__anon1.__anon1.identifier->string;
 
-for(l = e->exp->expType->members.first; l; l = l->next)
+for(l = e->exp->expType->__anon1.__anon1.members.first; l; l = l->next)
 {
 if(!strcmp(l->name, string))
 {
@@ -1962,7 +1968,7 @@ if(l->data)
 {
 FreeExpContents(e->exp);
 e->exp->type = 2;
-e->exp->constant = PrintUInt((unsigned int)l->data);
+e->exp->__anon1.__anon1.constant = PrintUInt((unsigned int)l->data);
 FreeType(e->exp->expType);
 e->exp->expType = ProcessTypeString("uint", 0x0);
 }
@@ -1981,13 +1987,13 @@ int value;
 switch(op.kind)
 {
 case 1:
-value = op.type->isSigned ? (int)op.c : (int)op.uc;
+value = op.type->isSigned ? (int)op.__anon1.c : (int)op.__anon1.uc;
 break;
 case 2:
-value = op.type->isSigned ? (int)op.s : (int)op.us;
+value = op.type->isSigned ? (int)op.__anon1.s : (int)op.__anon1.us;
 break;
 default:
-value = op.i;
+value = op.__anon1.i;
 }
 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(regClass, e->id->string, value);
 }
@@ -2026,7 +2032,7 @@ for(external = (*ast).first; external; external = next)
 next = external->next;
 if(external->type == 2)
 {
-struct ClassDefinition * _class = external->_class;
+struct ClassDefinition * _class = external->__anon1._class;
 
 if(_class->declMode == 1 || _class->declMode == 2 || _class->declMode == 3)
 {
@@ -2038,21 +2044,21 @@ ProcessClass(0, _class->definitions, _class->symbol, _class->baseSpecs, (((void
 }
 else if(external->type == 1)
 {
-struct Declaration * declaration = external->declaration;
+struct Declaration * declaration = external->__anon1.declaration;
 
 if(declaration->type == 1)
 {
-if(external->declaration->declMode == 1 || external->declaration->declMode == 2 || external->declaration->declMode == 3)
+if(external->__anon1.declaration->declMode == 1 || external->__anon1.declaration->declMode == 2 || external->__anon1.declaration->declMode == 3)
 {
-if(declaration->specifiers)
+if(declaration->__anon1.__anon1.specifiers)
 {
 struct Specifier * specifier;
 
-for(specifier = (*declaration->specifiers).first; specifier; specifier = specifier->next)
+for(specifier = (*declaration->__anon1.__anon1.specifiers).first; specifier; specifier = specifier->next)
 {
-if((specifier->type == 2 || specifier->type == 3 || specifier->type == 4) && specifier->id && specifier->id->string && (declaration->declMode || specifier->baseSpecs || (specifier->type == 2 && specifier->definitions)))
+if((specifier->type == 2 || specifier->type == 3 || specifier->type == 4) && specifier->__anon1.__anon2.id && specifier->__anon1.__anon2.id->string && (declaration->declMode || specifier->__anon1.__anon2.baseSpecs || (specifier->type == 2 && specifier->__anon1.__anon2.definitions)))
 {
-struct Symbol * symbol = FindClass(specifier->id->string);
+struct Symbol * symbol = FindClass(specifier->__anon1.__anon2.id->string);
 
 if(symbol)
 {
@@ -2064,18 +2070,18 @@ else if(specifier->type == 4)
 classType = 6;
 else
 classType = 1;
-ProcessClass(classType, specifier->definitions, symbol, specifier->baseSpecs, specifier->list, 0x0, external->declaration->declMode);
+ProcessClass(classType, specifier->__anon1.__anon2.definitions, symbol, specifier->__anon1.__anon2.baseSpecs, specifier->__anon1.__anon2.list, 0x0, external->__anon1.declaration->declMode);
 }
 }
 }
 }
-if(external->declaration->declMode == 1 || external->declaration->declMode == 2)
+if(external->__anon1.declaration->declMode == 1 || external->__anon1.declaration->declMode == 2)
 {
-if(declaration->declarators)
+if(declaration->__anon1.__anon1.declarators)
 {
 struct InitDeclarator * d;
 
-for(d = (*declaration->declarators).first; d; d = d->next)
+for(d = (*declaration->__anon1.__anon1.declarators).first; d; d = d->next)
 {
 if(d->declarator)
 {
@@ -2103,9 +2109,9 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&precompDefines, dataDef
 }
 else if(declaration->type == 2)
 {
-if(external->declaration->declMode == 1 || external->declaration->declMode == 2)
+if(external->__anon1.declaration->declMode == 1 || external->__anon1.declaration->declMode == 2)
 {
-struct Symbol * symbol = declaration->inst->symbol;
+struct Symbol * symbol = declaration->__anon1.inst->symbol;
 
 if(symbol)
 {
@@ -2126,17 +2132,17 @@ globalInstance = 0x1;
 }
 else if(declaration->type == 3)
 {
-if(external->declaration->declMode == 1 || external->declaration->declMode == 2)
+if(external->__anon1.declaration->declMode == 1 || external->__anon1.declaration->declMode == 2)
 {
-struct Define * definition = (definition = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Define), definition->type = 2, definition->name = __ecereNameSpace__ecere__sys__CopyString(declaration->id->string), definition->exp = declaration->exp, definition);
+struct Define * definition = (definition = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Define), definition->type = 2, definition->name = __ecereNameSpace__ecere__sys__CopyString(declaration->__anon1.__anon2.id->string), definition->exp = declaration->__anon1.__anon2.exp, definition);
 
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&precompDefines, definition);
 }
 }
 }
-else if(external->type == 0 && (external->function->declMode == 1 || external->function->declMode == 2))
+else if(external->type == 0 && (external->__anon1.function->declMode == 1 || external->__anon1.function->declMode == 2))
 {
-struct FunctionDefinition * function = external->function;
+struct FunctionDefinition * function = external->__anon1.function;
 struct FunctionDefine * functionDefine;
 char typeString[1024];
 
@@ -2151,32 +2157,32 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&precompDefines, functio
 }
 else if(external->type == 4)
 {
-SetCurrentNameSpace(external->id->string);
+SetCurrentNameSpace(external->__anon1.id->string);
 }
 }
 ComputeModuleClasses(privateModule);
 for(external = (*ast).first; external; external = next)
 {
 next = external->next;
-if(external->type == 1 && (external->declaration->declMode == 1 || external->declaration->declMode == 2))
+if(external->type == 1 && (external->__anon1.declaration->declMode == 1 || external->__anon1.declaration->declMode == 2))
 {
-struct Declaration * declaration = external->declaration;
+struct Declaration * declaration = external->__anon1.declaration;
 
 if(declaration->type == 1)
 {
-if(declaration->specifiers)
+if(declaration->__anon1.__anon1.specifiers)
 {
 struct Specifier * specifier;
 
-for(specifier = (*declaration->specifiers).first; specifier; specifier = specifier->next)
+for(specifier = (*declaration->__anon1.__anon1.specifiers).first; specifier; specifier = specifier->next)
 {
-if((specifier->type == 2) && specifier->id && specifier->id->string && (declaration->declMode || specifier->baseSpecs || (specifier->type == 2 && specifier->definitions)))
+if((specifier->type == 2) && specifier->__anon1.__anon2.id && specifier->__anon1.__anon2.id->string && (declaration->declMode || specifier->__anon1.__anon2.baseSpecs || (specifier->type == 2 && specifier->__anon1.__anon2.definitions)))
 {
-struct Symbol * symbol = FindClass(specifier->id->string);
+struct Symbol * symbol = FindClass(specifier->__anon1.__anon2.id->string);
 
 if(symbol)
 {
-ProcessClassEnumValues(4, specifier->definitions, symbol, specifier->baseSpecs, specifier->list);
+ProcessClassEnumValues(4, specifier->__anon1.__anon2.definitions, symbol, specifier->__anon1.__anon2.baseSpecs, specifier->__anon1.__anon2.list);
 }
 }
 }
@@ -2421,18 +2427,18 @@ switch(param->type)
 {
 case 0:
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "               [Type]\n");
-__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "               %s\n", param->dataTypeString ? param->dataTypeString : "[None]");
-__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "               %s\n", param->defaultArg.dataTypeString ? param->defaultArg.dataTypeString : "[None]");
+__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "               %s\n", param->__anon1.dataTypeString ? param->__anon1.dataTypeString : "[None]");
+__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "               %s\n", param->defaultArg.__anon1.__anon1.dataTypeString ? param->defaultArg.__anon1.__anon1.dataTypeString : "[None]");
 break;
 case 2:
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "               [Expression]\n");
-__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "               %s\n", param->dataTypeString ? param->dataTypeString : "[None]");
-if(tp->defaultArgument && tp->defaultArgument->expression)
+__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "               %s\n", param->__anon1.dataTypeString ? param->__anon1.dataTypeString : "[None]");
+if(tp->defaultArgument && tp->defaultArgument->__anon1.expression)
 {
 char temp[8192];
 
 temp[0] = (char)0;
-PrintExpression(tp->defaultArgument->expression, temp);
+PrintExpression(tp->defaultArgument->__anon1.expression, temp);
 __ecereNameSpace__ecere__sys__ChangeCh(temp, '\n', ' ');
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "               ");
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
@@ -2451,19 +2457,19 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "               [None
 break;
 case 1:
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "               [Identifier]\n");
-__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "               %s\n", (param->memberType == 0) ? "[Data member]" : ((param->memberType == 1) ? "[Method]" : "[Property]"));
-if(tp->defaultArgument && tp->defaultArgument->identifier)
+__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "               %s\n", (param->__anon1.memberType == 0) ? "[Data member]" : ((param->__anon1.memberType == 1) ? "[Method]" : "[Property]"));
+if(tp->defaultArgument && tp->defaultArgument->__anon1.identifier)
 {
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "               ");
-if(tp->defaultArgument->identifier->_class && tp->defaultArgument->identifier->_class->type == 1 && tp->defaultArgument->identifier->_class->name)
+if(tp->defaultArgument->__anon1.identifier->_class && tp->defaultArgument->__anon1.identifier->_class->type == 1 && tp->defaultArgument->__anon1.identifier->_class->__anon1.__anon1.name)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "%s::", tp->defaultArgument->identifier->_class->name);
+__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "%s::", tp->defaultArgument->__anon1.identifier->_class->__anon1.__anon1.name);
 }
-else if(tp->defaultArgument->identifier->_class && tp->defaultArgument->identifier->_class->type == 8 && tp->defaultArgument->identifier->_class->templateParameter->identifier)
+else if(tp->defaultArgument->__anon1.identifier->_class && tp->defaultArgument->__anon1.identifier->_class->type == 8 && tp->defaultArgument->__anon1.identifier->_class->__anon1.templateParameter->identifier)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "%s::", tp->defaultArgument->identifier->_class->templateParameter->identifier->string);
+__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "%s::", tp->defaultArgument->__anon1.identifier->_class->__anon1.templateParameter->identifier->string);
 }
-__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "%s\n", tp->defaultArgument->identifier->string);
+__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "%s\n", tp->defaultArgument->__anon1.identifier->string);
 }
 else
 {
index 3162d50..bd156bc 100644 (file)
@@ -101,12 +101,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 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);
@@ -194,7 +194,7 @@ float f;
 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;
@@ -381,7 +381,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -391,9 +391,9 @@ 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));
 
 static struct __ecereNameSpace__ecere__com__Instance * __currentModule;
index 4c576ae..c664f99 100644 (file)
@@ -101,12 +101,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 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);
@@ -194,7 +194,7 @@ float f;
 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;
@@ -278,7 +278,7 @@ union
 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
@@ -287,20 +287,20 @@ struct
 {
 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;
@@ -343,7 +343,7 @@ struct
 {
 struct __ecereNameSpace__ecere__sys__OldList members;
 char *  enumName;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Type * returnType;
@@ -351,13 +351,13 @@ struct __ecereNameSpace__ecere__sys__OldList params;
 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;
@@ -365,10 +365,10 @@ int arraySize;
 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;
@@ -522,7 +522,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -532,9 +532,9 @@ 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));
 
 
@@ -1795,7 +1795,7 @@ if(method->dataType && method->dataType->name)
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "         case %d:\n", vid - _class->base->vTblSize);
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "         {\n");
 {
-if(method->dataType->returnType->kind != 0)
+if(method->dataType->__anon1.__anon2.returnType->kind != 0)
 {
 struct TypeName * resultType;
 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
@@ -1804,11 +1804,11 @@ char type[1024] = "";
 char className[1024];
 struct Symbol * classSym;
 
-if(method->dataType->returnType->kind == 8)
-classSym = method->dataType->returnType->_class;
+if(method->dataType->__anon1.__anon2.returnType->kind == 8)
+classSym = method->dataType->__anon1.__anon2.returnType->__anon1._class;
 else
 {
-PrintTypeNoConst(method->dataType->returnType, type, 0x0, 0x1);
+PrintTypeNoConst(method->dataType->__anon1.__anon2.returnType, type, 0x0, 0x1);
 classSym = FindClass(type);
 type[0] = (char)0;
 }
@@ -1816,16 +1816,16 @@ strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
 MangleClassName(className);
 DeclareClass(classSym, className);
-PrintType(method->dataType->returnType, type, 0x1, 0x1);
+PrintType(method->dataType->__anon1.__anon2.returnType, type, 0x1, 0x1);
 decl = SpecDeclFromString(type, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereResult")));
 resultType = MkTypeName(specs, decl);
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            ");
 OutputTypeName(resultType, f, 0x0);
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, ";\n");
 }
-for(param = method->dataType->params.first; param; param = param->next)
+for(param = method->dataType->__anon1.__anon2.params.first; param; param = param->next)
 {
-if(param->kind == 8 && !strcmp(param->_class->string, "String"))
+if(param->kind == 8 && !strcmp(param->__anon1._class->string, "String"))
 {
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            char %s[1024];\n", param->name);
 DeclareClass(FindClass("StaticString"), "__ecereClass_StaticString");
@@ -1841,7 +1841,7 @@ char className[1024];
 struct Symbol * classSym;
 
 if(param->kind == 8)
-classSym = param->_class;
+classSym = param->__anon1._class;
 else
 {
 PrintTypeNoConst(param, type, 0x0, 0x1);
@@ -1861,10 +1861,10 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, ";\n");
 }
 }
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n");
-for(param = method->dataType->params.first; param; param = param->next)
+for(param = method->dataType->__anon1.__anon2.params.first; param; param = param->next)
 {
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            __ecereBuffer.Unserialize(");
-if(param->kind == 8 && !strcmp(param->_class->string, "String"))
+if(param->kind == 8 && !strcmp(param->__anon1._class->string, "String"))
 {
 DeclareClass(FindClass("StaticString"), "__ecereClass_StaticString");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "(StaticString)");
@@ -1877,21 +1877,21 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, ");\n");
 }
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            ");
-if(method->dataType->returnType->kind != 0)
+if(method->dataType->__anon1.__anon2.returnType->kind != 0)
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "__ecereResult = ");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "%s(", method->name);
-for(param = method->dataType->params.first; param; param = param->next)
+for(param = method->dataType->__anon1.__anon2.params.first; param; param = param->next)
 {
 if(param->prev)
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, ", ");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "%s", param->name);
 }
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, ");\n");
-for(param = method->dataType->params.first; param; param = param->next)
+for(param = method->dataType->__anon1.__anon2.params.first; param; param = param->next)
 {
-if(param->kind == 8 && ((param->_class && param->_class->registered && param->_class->registered->type == 1) || !strcmp(param->_class->string, "String")) && !param->constant)
+if(param->kind == 8 && ((param->__anon1._class && param->__anon1._class->__anon1.registered && param->__anon1._class->__anon1.registered->type == 1) || !strcmp(param->__anon1._class->string, "String")) && !param->constant)
 {
-if(!strcmp(param->_class->string, "String"))
+if(!strcmp(param->__anon1._class->string, "String"))
 {
 DeclareClass(FindClass("StaticString"), "__ecereClass_StaticString");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            __ecereBuffer.Serialize((StaticString)%s);\n", param->name);
@@ -1900,18 +1900,18 @@ else
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            __ecereBuffer.Serialize(%s);\n", param->name);
 }
 }
-if(method->dataType->returnType->kind != 0)
+if(method->dataType->__anon1.__anon2.returnType->kind != 0)
 {
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            __ecereBuffer.Serialize(__ecereResult);\n");
 }
-for(param = method->dataType->params.first; param; param = param->next)
+for(param = method->dataType->__anon1.__anon2.params.first; param; param = param->next)
 {
-if(param->kind == 8 && strcmp(param->_class->string, "String") && param->_class->registered && (param->_class->registered->type == 0 || param->_class->registered->type == 5))
+if(param->kind == 8 && strcmp(param->__anon1._class->string, "String") && param->__anon1._class->__anon1.registered && (param->__anon1._class->__anon1.registered->type == 0 || param->__anon1._class->__anon1.registered->type == 5))
 {
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            delete %s;\n", param->name);
 }
 }
-if(method->dataType->returnType->kind == 8 && strcmp(method->dataType->returnType->_class->string, "String") && method->dataType->returnType->_class->registered && (method->dataType->returnType->_class->registered->type == 0 || method->dataType->returnType->_class->registered->type == 5))
+if(method->dataType->__anon1.__anon2.returnType->kind == 8 && strcmp(method->dataType->__anon1.__anon2.returnType->__anon1._class->string, "String") && method->dataType->__anon1.__anon2.returnType->__anon1._class->__anon1.registered && (method->dataType->__anon1.__anon2.returnType->__anon1._class->__anon1.registered->type == 0 || method->dataType->__anon1.__anon2.returnType->__anon1._class->__anon1.registered->type == 5))
 {
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            delete __ecereResult;\n");
 }
@@ -1967,7 +1967,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "%s\n", method->dataT
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "   {\n");
 if(method->dataType)
 {
-if(method->dataType->returnType->kind != 0)
+if(method->dataType->__anon1.__anon2.returnType->kind != 0)
 {
 struct TypeName * resultType;
 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
@@ -1976,11 +1976,11 @@ char type[1024] = "";
 char className[1024];
 struct Symbol * classSym;
 
-if(method->dataType->returnType->kind == 8)
-classSym = method->dataType->returnType->_class;
+if(method->dataType->__anon1.__anon2.returnType->kind == 8)
+classSym = method->dataType->__anon1.__anon2.returnType->__anon1._class;
 else
 {
-PrintTypeNoConst(method->dataType->returnType, type, 0x0, 0x1);
+PrintTypeNoConst(method->dataType->__anon1.__anon2.returnType, type, 0x0, 0x1);
 classSym = FindClass(type);
 type[0] = (char)0;
 }
@@ -1988,28 +1988,28 @@ strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
 MangleClassName(className);
 DeclareClass(classSym, className);
-PrintType(method->dataType->returnType, type, 0x1, 0x1);
+PrintType(method->dataType->__anon1.__anon2.returnType, type, 0x1, 0x1);
 decl = SpecDeclFromString(type, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereResult")));
 resultType = MkTypeName(specs, decl);
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      ");
 OutputTypeName(resultType, f, 0x0);
-if(method->dataType->returnType->kind == 9)
+if(method->dataType->__anon1.__anon2.returnType->kind == 9)
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " = { 0 }");
-else if(method->dataType->returnType->kind == 8 && method->dataType->returnType->_class->registered && method->dataType->returnType->_class->registered->type == 1)
+else if(method->dataType->__anon1.__anon2.returnType->kind == 8 && method->dataType->__anon1.__anon2.returnType->__anon1._class->__anon1.registered && method->dataType->__anon1.__anon2.returnType->__anon1._class->__anon1.registered->type == 1)
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " { }");
 else
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " = 0");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, ";\n\n");
 }
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      incref this;\n");
-for(param = method->dataType->params.first; param; param = param->next)
+for(param = method->dataType->__anon1.__anon2.params.first; param; param = param->next)
 {
 char type[1024] = "";
 char className[1024];
 struct Symbol * classSym;
 
 if(param->kind == 8)
-classSym = param->_class;
+classSym = param->__anon1._class;
 else
 {
 PrintTypeNoConst(param, type, 0x0, 0x1);
@@ -2020,7 +2020,7 @@ strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
 MangleClassName(className);
 DeclareClass(classSym, className);
-if(param->kind == 8 && !strcmp(param->_class->string, "String"))
+if(param->kind == 8 && !strcmp(param->__anon1._class->string, "String"))
 {
 DeclareClass(FindClass("StaticString"), "__ecereClass_StaticString");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      __ecereBuffer.Serialize((StaticString)%s);\n", param->name);
@@ -2031,11 +2031,11 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      __ecereBuffer.
 DeclareMethod(__ecereNameSpace__ecere__com__eClass_FindMethod(__ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "ecere::net::DCOMClientObject"), "CallMethod", privateModule), "__ecereMethod___ecereNameSpace__ecere__net__DCOMClientObject_CallMethod");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      if(DCOMClientObject::CallMethod(%d))\n", id++);
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      {\n");
-for(param = method->dataType->params.first; param; param = param->next)
+for(param = method->dataType->__anon1.__anon2.params.first; param; param = param->next)
 {
-if(param->kind == 8 && ((param->_class && param->_class->registered && param->_class->registered->type == 1) || !strcmp(param->_class->string, "String")) && !param->constant)
+if(param->kind == 8 && ((param->__anon1._class && param->__anon1._class->__anon1.registered && param->__anon1._class->__anon1.registered->type == 1) || !strcmp(param->__anon1._class->string, "String")) && !param->constant)
 {
-if(!strcmp(param->_class->string, "String"))
+if(!strcmp(param->__anon1._class->string, "String"))
 {
 DeclareClass(FindClass("StaticString"), "__ecereClass_StaticString");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "         __ecereBuffer.Unserialize((StaticString)%s);\n", param->name);
@@ -2044,9 +2044,9 @@ else
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "         __ecereBuffer.Unserialize(%s);\n", param->name);
 }
 }
-if(method->dataType->returnType->kind != 0)
+if(method->dataType->__anon1.__anon2.returnType->kind != 0)
 {
-if(method->dataType->returnType->kind == 8 && !strcmp(method->dataType->returnType->_class->string, "String"))
+if(method->dataType->__anon1.__anon2.returnType->kind == 8 && !strcmp(method->dataType->__anon1.__anon2.returnType->__anon1._class->string, "String"))
 {
 DeclareClass(FindClass("StaticString"), "__ecereClass_StaticString");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "         __ecereBuffer.Unserialize((StaticString)__ecereResult);\n");
@@ -2057,7 +2057,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "         __ecereBuff
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      }\n");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      __ecereBuffer.Free();\n");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      delete this;\n");
-if(method->dataType->returnType->kind != 0)
+if(method->dataType->__anon1.__anon2.returnType->kind != 0)
 {
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      return __ecereResult;\n");
 }
@@ -2133,7 +2133,7 @@ if(method->dataType && method->dataType->name)
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "         case %d:\n", id++);
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "         {\n");
 {
-if(method->dataType->returnType->kind != 0)
+if(method->dataType->__anon1.__anon2.returnType->kind != 0)
 {
 struct TypeName * resultType;
 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
@@ -2142,11 +2142,11 @@ char type[1024] = "";
 char className[1024];
 struct Symbol * classSym;
 
-if(method->dataType->returnType->kind == 8)
-classSym = method->dataType->returnType->_class;
+if(method->dataType->__anon1.__anon2.returnType->kind == 8)
+classSym = method->dataType->__anon1.__anon2.returnType->__anon1._class;
 else
 {
-PrintTypeNoConst(method->dataType->returnType, type, 0x0, 0x1);
+PrintTypeNoConst(method->dataType->__anon1.__anon2.returnType, type, 0x0, 0x1);
 classSym = FindClass(type);
 type[0] = (char)0;
 }
@@ -2154,16 +2154,16 @@ strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
 MangleClassName(className);
 DeclareClass(classSym, className);
-PrintType(method->dataType->returnType, type, 0x1, 0x1);
+PrintType(method->dataType->__anon1.__anon2.returnType, type, 0x1, 0x1);
 decl = SpecDeclFromString(type, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereResult")));
 resultType = MkTypeName(specs, decl);
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            ");
 OutputTypeName(resultType, f, 0x0);
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, ";\n");
 }
-for(param = method->dataType->params.first; param; param = param->next)
+for(param = method->dataType->__anon1.__anon2.params.first; param; param = param->next)
 {
-if(param->kind == 8 && !strcmp(param->_class->string, "String"))
+if(param->kind == 8 && !strcmp(param->__anon1._class->string, "String"))
 {
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            char %s[1024];\n", param->name);
 DeclareClass(FindClass("StaticString"), "__ecereClass_StaticString");
@@ -2179,7 +2179,7 @@ char className[1024];
 struct Symbol * classSym;
 
 if(param->kind == 8)
-classSym = param->_class;
+classSym = param->__anon1._class;
 else
 {
 PrintTypeNoConst(param, type, 0x0, 0x1);
@@ -2199,10 +2199,10 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, ";\n");
 }
 }
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n");
-for(param = method->dataType->params.first; param; param = param->next)
+for(param = method->dataType->__anon1.__anon2.params.first; param; param = param->next)
 {
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            __ecereBuffer.Unserialize(");
-if(param->kind == 8 && !strcmp(param->_class->string, "String"))
+if(param->kind == 8 && !strcmp(param->__anon1._class->string, "String"))
 {
 DeclareClass(FindClass("StaticString"), "__ecereClass_StaticString");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "(StaticString)");
@@ -2215,21 +2215,21 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, ");\n");
 }
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            ");
-if(method->dataType->returnType->kind != 0)
+if(method->dataType->__anon1.__anon2.returnType->kind != 0)
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "__ecereResult = ");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "((%s)instance).%s(", _class->fullName, method->name);
-for(param = method->dataType->params.first; param; param = param->next)
+for(param = method->dataType->__anon1.__anon2.params.first; param; param = param->next)
 {
 if(param->prev)
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, ", ");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "%s", param->name);
 }
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, ");\n");
-for(param = method->dataType->params.first; param; param = param->next)
+for(param = method->dataType->__anon1.__anon2.params.first; param; param = param->next)
 {
-if(param->kind == 8 && ((param->_class && param->_class->registered && param->_class->registered->type == 1) || !strcmp(param->_class->string, "String")) && !param->constant)
+if(param->kind == 8 && ((param->__anon1._class && param->__anon1._class->__anon1.registered && param->__anon1._class->__anon1.registered->type == 1) || !strcmp(param->__anon1._class->string, "String")) && !param->constant)
 {
-if(!strcmp(param->_class->string, "String"))
+if(!strcmp(param->__anon1._class->string, "String"))
 {
 DeclareClass(FindClass("StaticString"), "__ecereClass_StaticString");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            __ecereBuffer.Serialize((StaticString)%s);\n", param->name);
@@ -2238,18 +2238,18 @@ else
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            __ecereBuffer.Serialize(%s);\n", param->name);
 }
 }
-if(method->dataType->returnType->kind != 0)
+if(method->dataType->__anon1.__anon2.returnType->kind != 0)
 {
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            __ecereBuffer.Serialize(__ecereResult);\n");
 }
-for(param = method->dataType->params.first; param; param = param->next)
+for(param = method->dataType->__anon1.__anon2.params.first; param; param = param->next)
 {
-if(param->kind == 8 && strcmp(param->_class->string, "String") && param->_class->registered && (param->_class->registered->type == 0 || param->_class->registered->type == 5))
+if(param->kind == 8 && strcmp(param->__anon1._class->string, "String") && param->__anon1._class->__anon1.registered && (param->__anon1._class->__anon1.registered->type == 0 || param->__anon1._class->__anon1.registered->type == 5))
 {
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            delete %s;\n", param->name);
 }
 }
-if(method->dataType->returnType->kind == 8 && strcmp(method->dataType->returnType->_class->string, "String") && method->dataType->returnType->_class->registered && (method->dataType->returnType->_class->registered->type == 0 || method->dataType->returnType->_class->registered->type == 5))
+if(method->dataType->__anon1.__anon2.returnType->kind == 8 && strcmp(method->dataType->__anon1.__anon2.returnType->__anon1._class->string, "String") && method->dataType->__anon1.__anon2.returnType->__anon1._class->__anon1.registered && (method->dataType->__anon1.__anon2.returnType->__anon1._class->__anon1.registered->type == 0 || method->dataType->__anon1.__anon2.returnType->__anon1._class->__anon1.registered->type == 5))
 {
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "            delete __ecereResult;\n");
 }
@@ -2288,7 +2288,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "   {\n");
 if(method->dataType)
 {
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      DCOM%s __ecereObject = (void *)_vTbl[-1];\n", _class->fullName);
-if(method->dataType->returnType->kind != 0)
+if(method->dataType->__anon1.__anon2.returnType->kind != 0)
 {
 struct TypeName * resultType;
 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
@@ -2297,11 +2297,11 @@ char type[1024] = "";
 char className[1024];
 struct Symbol * classSym;
 
-if(method->dataType->returnType->kind == 8)
-classSym = method->dataType->returnType->_class;
+if(method->dataType->__anon1.__anon2.returnType->kind == 8)
+classSym = method->dataType->__anon1.__anon2.returnType->__anon1._class;
 else
 {
-PrintTypeNoConst(method->dataType->returnType, type, 0x0, 0x1);
+PrintTypeNoConst(method->dataType->__anon1.__anon2.returnType, type, 0x0, 0x1);
 classSym = FindClass(type);
 type[0] = (char)0;
 }
@@ -2309,14 +2309,14 @@ strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
 MangleClassName(className);
 DeclareClass(classSym, className);
-PrintType(method->dataType->returnType, type, 0x1, 0x1);
+PrintType(method->dataType->__anon1.__anon2.returnType, type, 0x1, 0x1);
 decl = SpecDeclFromString(type, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereResult")));
 resultType = MkTypeName(specs, decl);
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      ");
 OutputTypeName(resultType, f, 0x0);
-if(method->dataType->returnType->kind == 9)
+if(method->dataType->__anon1.__anon2.returnType->kind == 9)
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " = { 0 }");
-else if(method->dataType->returnType->kind == 8 && method->dataType->returnType->_class->registered && method->dataType->returnType->_class->registered->type == 1)
+else if(method->dataType->__anon1.__anon2.returnType->kind == 8 && method->dataType->__anon1.__anon2.returnType->__anon1._class->__anon1.registered && method->dataType->__anon1.__anon2.returnType->__anon1._class->__anon1.registered->type == 1)
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " { }");
 else
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " = 0");
@@ -2324,14 +2324,14 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, ";\n\n");
 }
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      incref __ecereObject;\n");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      __ecereMethod___ecereNameSpace__ecere__sys__Mutex_Wait(__ecereObject.mutex);\n");
-for(param = method->dataType->params.first; param; param = param->next)
+for(param = method->dataType->__anon1.__anon2.params.first; param; param = param->next)
 {
 char type[1024] = "";
 char className[1024];
 struct Symbol * classSym;
 
 if(param->kind == 8)
-classSym = param->_class;
+classSym = param->__anon1._class;
 else
 {
 PrintTypeNoConst(param, type, 0x0, 0x1);
@@ -2342,7 +2342,7 @@ strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
 MangleClassName(className);
 DeclareClass(classSym, className);
-if(param->kind == 8 && !strcmp(param->_class->string, "String"))
+if(param->kind == 8 && !strcmp(param->__anon1._class->string, "String"))
 {
 DeclareClass(FindClass("StaticString"), "__ecereClass_StaticString");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      __ecereObject.argsBuffer.Serialize((StaticString)%s);\n", param->name);
@@ -2352,13 +2352,13 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      __ecereObject.
 }
 DeclareMethod(__ecereNameSpace__ecere__com__eClass_FindMethod(__ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "ecere::net::DCOMServerObject"), "CallVirtualMethod", privateModule), "__ecereMethod___ecereNameSpace__ecere__net__DCOMServerObject_CallVirtualMethod");
 {
-unsigned int hasReturnValue = method->dataType->returnType->kind != 0;
+unsigned int hasReturnValue = method->dataType->__anon1.__anon2.returnType->kind != 0;
 
 if(!hasReturnValue)
 {
-for(param = method->dataType->params.first; param; param = param->next)
+for(param = method->dataType->__anon1.__anon2.params.first; param; param = param->next)
 {
-if(param->kind == 8 && ((param->_class && param->_class->registered && param->_class->registered->type == 1) || !strcmp(param->_class->string, "String")) && !param->constant)
+if(param->kind == 8 && ((param->__anon1._class && param->__anon1._class->__anon1.registered && param->__anon1._class->__anon1.registered->type == 1) || !strcmp(param->__anon1._class->string, "String")) && !param->constant)
 {
 hasReturnValue = 0x1;
 break;
@@ -2368,11 +2368,11 @@ break;
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      if(__ecereObject.CallVirtualMethod(%d, %s))\n", vid - _class->base->vTblSize, hasReturnValue ? "true" : "false");
 }
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      {\n");
-for(param = method->dataType->params.first; param; param = param->next)
+for(param = method->dataType->__anon1.__anon2.params.first; param; param = param->next)
 {
-if(param->kind == 8 && ((param->_class && param->_class->registered && param->_class->registered->type == 1) || !strcmp(param->_class->string, "String")) && !param->constant)
+if(param->kind == 8 && ((param->__anon1._class && param->__anon1._class->__anon1.registered && param->__anon1._class->__anon1.registered->type == 1) || !strcmp(param->__anon1._class->string, "String")) && !param->constant)
 {
-if(!strcmp(param->_class->string, "String"))
+if(!strcmp(param->__anon1._class->string, "String"))
 {
 DeclareClass(FindClass("StaticString"), "__ecereClass_StaticString");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "         __ecereObject.returnBuffer.Unserialize((StaticString)%s);\n", param->name);
@@ -2381,9 +2381,9 @@ else
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "         __ecereObject.returnBuffer.Unserialize(%s);\n", param->name);
 }
 }
-if(method->dataType->returnType->kind != 0)
+if(method->dataType->__anon1.__anon2.returnType->kind != 0)
 {
-if(method->dataType->returnType->kind == 8 && !strcmp(method->dataType->returnType->_class->string, "String"))
+if(method->dataType->__anon1.__anon2.returnType->kind == 8 && !strcmp(method->dataType->__anon1.__anon2.returnType->__anon1._class->string, "String"))
 {
 DeclareClass(FindClass("StaticString"), "__ecereClass_StaticString");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "         __ecereObject.returnBuffer.Unserialize((StaticString)__ecereResult);\n");
@@ -2394,7 +2394,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "         __ecereObje
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      }\n");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      else\n");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "         ((%s)this).%s::%s(", _class->fullName, _class->fullName, method->name);
-for(param = method->dataType->params.first; param; param = param->next)
+for(param = method->dataType->__anon1.__anon2.params.first; param; param = param->next)
 {
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "%s", param->name);
 if(param->next)
@@ -2404,7 +2404,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, ");\n");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      __ecereObject.returnBuffer.Free();\n");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      __ecereMethod___ecereNameSpace__ecere__sys__Mutex_Release(__ecereObject.mutex);\n");
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      delete __ecereObject;\n");
-if(method->dataType->returnType->kind != 0)
+if(method->dataType->__anon1.__anon2.returnType->kind != 0)
 {
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "      return __ecereResult;\n");
 }
index 9d91f6f..6d84c80 100644 (file)
@@ -101,12 +101,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 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);
@@ -194,7 +194,7 @@ float f;
 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;
@@ -381,7 +381,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -391,9 +391,9 @@ 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));
 
 static struct __ecereNameSpace__ecere__com__Instance * __currentModule;
index b12ad3d..3c32a61 100644 (file)
@@ -161,7 +161,7 @@ union
 {
 char * s;
 struct Attrib * attr;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefinition;
@@ -232,14 +232,14 @@ struct
 {
 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;
@@ -327,7 +327,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -355,7 +355,7 @@ union
 {
 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));
@@ -377,7 +377,7 @@ float f;
 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;
@@ -394,14 +394,14 @@ struct
 {
 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
 {
@@ -480,7 +480,7 @@ 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;
@@ -519,7 +519,7 @@ union
 struct Expression * expression;
 struct Identifier * identifier;
 struct TemplateDatatype * templateDatatype;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
@@ -535,7 +535,7 @@ union
 {
 struct TemplateDatatype * dataType;
 int memberType;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct TemplateArgument * defaultArgument;
 const char *  dataTypeString;
 struct Type * baseType;
@@ -558,7 +558,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -568,11 +568,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -635,7 +635,7 @@ struct
 {
 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;
@@ -685,7 +685,7 @@ struct Declaration * declaration;
 char *  importString;
 struct Identifier * id;
 struct DBTableDef * table;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 int importType;
 } __attribute__ ((gcc_struct));
 
@@ -721,7 +721,7 @@ union
 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
@@ -730,20 +730,20 @@ struct
 {
 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;
@@ -786,7 +786,7 @@ struct
 {
 struct __ecereNameSpace__ecere__sys__OldList members;
 char *  enumName;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Type * returnType;
@@ -794,13 +794,13 @@ struct __ecereNameSpace__ecere__sys__OldList params;
 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;
@@ -808,10 +808,10 @@ int arraySize;
 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;
@@ -965,7 +965,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -975,9 +975,9 @@ 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));
 
 enum yytokentype
@@ -1108,7 +1108,7 @@ union
 {
 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;
@@ -1146,7 +1146,7 @@ struct
 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;
@@ -1182,8 +1182,8 @@ struct
 {
 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));
@@ -1202,9 +1202,9 @@ struct
 {
 struct TypeName * dataType;
 char *  name;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__sys__OldList *  items;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBIndexItem;
@@ -1383,7 +1383,7 @@ if(templatedType)
 id->_class = __extension__ ({
 struct Specifier * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Specifier);
 
-__ecereInstance1->type = 8, __ecereInstance1->templateParameter = templatedType->param, __ecereInstance1;
+__ecereInstance1->type = 8, __ecereInstance1->__anon1.templateParameter = templatedType->param, __ecereInstance1;
 });
 id->string = __ecereNameSpace__ecere__sys__CopyString(namePart);
 }
@@ -1419,7 +1419,7 @@ struct TemplateParameter * MkTypeTemplateParameter(struct Identifier * identifie
 {
 if(identifier->string)
 {
-struct TemplateParameter * param = (param = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TemplateParameter), param->type = 0, param->identifier = identifier, param->dataType = baseTplDatatype, param->defaultArgument = defaultArgument, param);
+struct TemplateParameter * param = (param = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TemplateParameter), param->type = 0, param->identifier = identifier, param->__anon1.dataType = baseTplDatatype, param->defaultArgument = defaultArgument, param);
 struct TemplatedType * type = (type = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TemplatedType), type->key = (uintptr_t)identifier->string, type->param = param, type);
 
 if(!__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&curContext->templateTypes, (struct __ecereNameSpace__ecere__sys__BTNode *)type))
@@ -1433,7 +1433,7 @@ struct TemplateParameter * MkIdentifierTemplateParameter(struct Identifier * ide
 {
 if(identifier->string)
 {
-struct TemplateParameter * param = (param = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TemplateParameter), param->type = 1, param->identifier = identifier, param->memberType = memberType, param->defaultArgument = defaultArgument, param);
+struct TemplateParameter * param = (param = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TemplateParameter), param->type = 1, param->identifier = identifier, param->__anon1.memberType = memberType, param->defaultArgument = defaultArgument, param);
 
 return param;
 }
@@ -1444,7 +1444,7 @@ struct TemplateParameter * MkExpressionTemplateParameter(struct Identifier * ide
 {
 if(identifier->string)
 {
-struct TemplateParameter * param = (param = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TemplateParameter), param->type = 2, param->identifier = identifier, param->dataType = dataType, param->defaultArgument = defaultArgument, param);
+struct TemplateParameter * param = (param = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TemplateParameter), param->type = 2, param->identifier = identifier, param->__anon1.dataType = dataType, param->defaultArgument = defaultArgument, param);
 
 return param;
 }
@@ -1460,21 +1460,21 @@ return datatype;
 
 struct TemplateArgument * MkTemplateTypeArgument(struct TemplateDatatype * tplDatatype)
 {
-struct TemplateArgument * argument = (argument = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TemplateArgument), argument->type = 0, argument->templateDatatype = tplDatatype, argument);
+struct TemplateArgument * argument = (argument = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TemplateArgument), argument->type = 0, argument->__anon1.templateDatatype = tplDatatype, argument);
 
 return argument;
 }
 
 struct TemplateArgument * MkTemplateExpressionArgument(struct Expression * expr)
 {
-struct TemplateArgument * argument = (argument = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TemplateArgument), argument->type = 2, argument->expression = expr, argument);
+struct TemplateArgument * argument = (argument = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TemplateArgument), argument->type = 2, argument->__anon1.expression = expr, argument);
 
 return argument;
 }
 
 struct TemplateArgument * MkTemplateIdentifierArgument(struct Identifier * ident)
 {
-struct TemplateArgument * argument = (argument = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TemplateArgument), argument->type = 1, argument->identifier = ident, argument);
+struct TemplateArgument * argument = (argument = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TemplateArgument), argument->type = 1, argument->__anon1.identifier = ident, argument);
 
 return argument;
 }
@@ -1484,7 +1484,7 @@ struct Expression * MkExpExtensionCompound(struct Statement * compound)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 23, __ecereInstance1->compound = compound, __ecereInstance1;
+__ecereInstance1->type = 23, __ecereInstance1->__anon1.compound = compound, __ecereInstance1;
 });
 }
 
@@ -1493,7 +1493,7 @@ struct Expression * MkExpExtensionExpression(struct __ecereNameSpace__ecere__sys
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 32, __ecereInstance1->list = expressions, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 32, __ecereInstance1->__anon1.list = expressions, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1502,7 +1502,7 @@ struct Expression * MkExpExtensionInitializer(struct TypeName * typeName, struct
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 33, __ecereInstance1->initializer.typeName = typeName, __ecereInstance1->initializer.initializer = initializer, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 33, __ecereInstance1->__anon1.initializer.typeName = typeName, __ecereInstance1->__anon1.initializer.initializer = initializer, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1511,7 +1511,7 @@ struct Expression * MkExpIdentifier(struct Identifier * id)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 0, __ecereInstance1->identifier = id, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 0, __ecereInstance1->__anon1.__anon1.identifier = id, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1527,7 +1527,7 @@ struct Expression * MkExpConstant(const char * string)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 2, __ecereInstance1->constant = __ecereNameSpace__ecere__sys__CopyString(string), __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 2, __ecereInstance1->__anon1.__anon1.constant = __ecereNameSpace__ecere__sys__CopyString(string), __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1536,7 +1536,7 @@ struct Expression * MkExpString(const char * string)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 3, __ecereInstance1->string = __ecereNameSpace__ecere__sys__CopyString(string), __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 3, __ecereInstance1->__anon1.__anon2.string = __ecereNameSpace__ecere__sys__CopyString(string), __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1684,14 +1684,14 @@ else
 {
 struct Expression * e = MkExpString(string);
 
-e->intlString = 0x1;
+e->__anon1.__anon2.intlString = 0x1;
 return e;
 }
 }
 
 struct Expression * MkExpOp(struct Expression * exp1, int op, struct Expression * exp2)
 {
-struct Expression * exp = (exp = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression), exp->type = 4, exp->op.op = op, exp->op.exp1 = exp1, exp->op.exp2 = exp2, exp);
+struct Expression * exp = (exp = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression), exp->type = 4, exp->__anon1.op.op = op, exp->__anon1.op.exp1 = exp1, exp->__anon1.op.exp2 = exp2, exp);
 
 if(exp1 || exp2)
 {
@@ -1703,7 +1703,7 @@ return exp;
 
 struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions)
 {
-struct Expression * exp = (exp = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression), exp->type = 5, exp->list = expressions, exp);
+struct Expression * exp = (exp = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression), exp->type = 5, exp->__anon1.list = expressions, exp);
 
 if(expressions && expressions->first)
 {
@@ -1718,7 +1718,7 @@ struct Expression * MkExpIndex(struct Expression * expression, struct __ecereNam
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 6, __ecereInstance1->index.exp = expression, __ecereInstance1->index.index = index, __ecereInstance1;
+__ecereInstance1->type = 6, __ecereInstance1->__anon1.index.exp = expression, __ecereInstance1->__anon1.index.index = index, __ecereInstance1;
 });
 }
 
@@ -1727,7 +1727,7 @@ struct Expression * MkExpCall(struct Expression * expression, struct __ecereName
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 7, __ecereInstance1->call.exp = expression, __ecereInstance1->call.arguments = arguments, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 7, __ecereInstance1->__anon1.call.exp = expression, __ecereInstance1->__anon1.call.arguments = arguments, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1736,7 +1736,7 @@ struct Expression * MkExpMember(struct Expression * expression, struct Identifie
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 8, __ecereInstance1->member.exp = expression, __ecereInstance1->member.member = member, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 8, __ecereInstance1->__anon1.member.exp = expression, __ecereInstance1->__anon1.member.member = member, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1745,7 +1745,7 @@ struct Expression * MkExpPointer(struct Expression * expression, struct Identifi
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 9, __ecereInstance1->member.exp = expression, __ecereInstance1->member.member = member, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 9, __ecereInstance1->__anon1.member.exp = expression, __ecereInstance1->__anon1.member.member = member, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1754,7 +1754,7 @@ struct Expression * MkExpTypeSize(struct TypeName * typeName)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 10, __ecereInstance1->typeName = typeName, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 10, __ecereInstance1->__anon1.typeName = typeName, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1763,7 +1763,7 @@ struct Expression * MkExpTypeAlign(struct TypeName * typeName)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 36, __ecereInstance1->typeName = typeName, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 36, __ecereInstance1->__anon1.typeName = typeName, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1772,7 +1772,7 @@ struct Expression * MkExpClassSize(struct Specifier * _class)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 15, __ecereInstance1->_class = _class, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 15, __ecereInstance1->__anon1._class = _class, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1781,7 +1781,7 @@ struct Expression * MkExpCast(struct TypeName * typeName, struct Expression * ex
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 11, __ecereInstance1->cast.typeName = typeName, __ecereInstance1->cast.exp = expression, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 11, __ecereInstance1->__anon1.cast.typeName = typeName, __ecereInstance1->__anon1.cast.exp = expression, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1790,7 +1790,7 @@ struct Expression * MkExpCondition(struct Expression * cond, struct __ecereNameS
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 12, __ecereInstance1->cond.cond = cond, __ecereInstance1->cond.exp = expressions, __ecereInstance1->cond.elseExp = elseExp, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 12, __ecereInstance1->__anon1.cond.cond = cond, __ecereInstance1->__anon1.cond.exp = expressions, __ecereInstance1->__anon1.cond.elseExp = elseExp, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1799,7 +1799,7 @@ struct Expression * MkExpRenew(struct Expression * memExp, struct TypeName * typ
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 14, __ecereInstance1->_renew.exp = memExp, __ecereInstance1->_renew.typeName = type, __ecereInstance1->_renew.size = size, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 14, __ecereInstance1->__anon1._renew.exp = memExp, __ecereInstance1->__anon1._renew.typeName = type, __ecereInstance1->__anon1._renew.size = size, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1808,7 +1808,7 @@ struct Expression * MkExpRenew0(struct Expression * memExp, struct TypeName * ty
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 27, __ecereInstance1->_renew.exp = memExp, __ecereInstance1->_renew.typeName = type, __ecereInstance1->_renew.size = size, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 27, __ecereInstance1->__anon1._renew.exp = memExp, __ecereInstance1->__anon1._renew.typeName = type, __ecereInstance1->__anon1._renew.size = size, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1817,7 +1817,7 @@ struct Expression * MkExpNew(struct TypeName * type, struct Expression * size)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 13, __ecereInstance1->_new.typeName = type, __ecereInstance1->_new.size = size, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 13, __ecereInstance1->__anon1._new.typeName = type, __ecereInstance1->__anon1._new.size = size, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1826,7 +1826,7 @@ struct Expression * MkExpNew0(struct TypeName * type, struct Expression * size)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 26, __ecereInstance1->_new.typeName = type, __ecereInstance1->_new.size = size, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 26, __ecereInstance1->__anon1._new.typeName = type, __ecereInstance1->__anon1._new.size = size, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1835,7 +1835,7 @@ struct Expression * MkExpVaArg(struct Expression * exp, struct TypeName * type)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 34, __ecereInstance1->vaArg.exp = exp, __ecereInstance1->vaArg.typeName = type, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 34, __ecereInstance1->__anon1.vaArg.exp = exp, __ecereInstance1->__anon1.vaArg.typeName = type, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1847,13 +1847,13 @@ else if(specifier == _BOOL || specifier == BOOL)
 return __extension__ ({
 struct Specifier * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Specifier);
 
-__ecereInstance1->type = 0, __ecereInstance1->specifier = specifier, __ecereInstance1;
+__ecereInstance1->type = 0, __ecereInstance1->__anon1.specifier = specifier, __ecereInstance1;
 });
 else
 return __extension__ ({
 struct Specifier * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Specifier);
 
-__ecereInstance1->type = 0, __ecereInstance1->specifier = specifier, __ecereInstance1;
+__ecereInstance1->type = 0, __ecereInstance1->__anon1.specifier = specifier, __ecereInstance1;
 });
 }
 
@@ -1862,7 +1862,7 @@ struct Specifier * MkSpecifierTypeOf(struct Expression * expression)
 return __extension__ ({
 struct Specifier * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Specifier);
 
-__ecereInstance1->type = 6, __ecereInstance1->expression = expression, __ecereInstance1;
+__ecereInstance1->type = 6, __ecereInstance1->__anon1.expression = expression, __ecereInstance1;
 });
 }
 
@@ -1871,7 +1871,7 @@ struct Specifier * MkSpecifierSubClass(struct Specifier * _class)
 return __extension__ ({
 struct Specifier * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Specifier);
 
-__ecereInstance1->type = 7, __ecereInstance1->_class = _class, __ecereInstance1;
+__ecereInstance1->type = 7, __ecereInstance1->__anon1._class = _class, __ecereInstance1;
 });
 }
 
@@ -1880,7 +1880,7 @@ struct Specifier * MkSpecifierExtended(struct ExtDecl * extDecl)
 return __extension__ ({
 struct Specifier * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Specifier);
 
-__ecereInstance1->type = 5, __ecereInstance1->extDecl = extDecl, __ecereInstance1;
+__ecereInstance1->type = 5, __ecereInstance1->__anon1.__anon1.extDecl = extDecl, __ecereInstance1;
 });
 }
 
@@ -1894,7 +1894,7 @@ extern void FreeType(struct Type * type);
 
 struct Specifier * MkEnum(struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * list)
 {
-struct Specifier * spec = (spec = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Specifier), spec->type = 2, spec->id = id, spec->list = list, spec);
+struct Specifier * spec = (spec = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Specifier), spec->type = 2, spec->__anon1.__anon2.id = id, spec->__anon1.__anon2.list = list, spec);
 
 if(list && (!declMode || !id))
 {
@@ -1936,11 +1936,11 @@ struct Symbol * FindType(struct Context * ctx, const char *  name);
 
 struct Specifier * MkStructOrUnion(int type, struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * definitions)
 {
-struct Specifier * spec = (spec = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Specifier), spec->type = type, spec->id = id, spec);
+struct Specifier * spec = (spec = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Specifier), spec->type = type, spec->__anon1.__anon2.id = id, spec);
 
 if(id && FindType(curContext, id->string))
 structDeclMode = 0;
-spec->definitions = definitions;
+spec->__anon1.__anon2.definitions = definitions;
 if(definitions && id && structDeclMode == 0)
 {
 struct __ecereNameSpace__ecere__sys__OldList specs =
@@ -1963,8 +1963,8 @@ return spec;
 
 void AddStructDefinitions(struct Specifier * spec, struct __ecereNameSpace__ecere__sys__OldList * definitions)
 {
-spec->definitions = definitions;
-if(definitions && spec->id && !declMode)
+spec->__anon1.__anon2.definitions = definitions;
+if(definitions && spec->__anon1.__anon2.id && !declMode)
 {
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList specs =
@@ -1976,7 +1976,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&specs, spec);
 symbol = __extension__ ({
 struct Symbol * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol);
 
-__ecereInstance1->string = __ecereNameSpace__ecere__sys__CopyString(spec->id->string), __ecereInstance1->type = ProcessType(&specs, (((void *)0))), __ecereInstance1->isStruct = 0x1, __ecereInstance1;
+__ecereInstance1->string = __ecereNameSpace__ecere__sys__CopyString(spec->__anon1.__anon2.id->string), __ecereInstance1->type = ProcessType(&specs, (((void *)0))), __ecereInstance1->isStruct = 0x1, __ecereInstance1;
 });
 if(!__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&curContext->parent->structSymbols, (struct __ecereNameSpace__ecere__sys__BTNode *)symbol))
 FreeSymbol(symbol);
@@ -2006,7 +2006,7 @@ struct ExtDecl * MkExtDeclString(char * s)
 return __extension__ ({
 struct ExtDecl * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ExtDecl);
 
-__ecereInstance1->type = 0, __ecereInstance1->s = s, __ecereInstance1;
+__ecereInstance1->type = 0, __ecereInstance1->__anon1.s = s, __ecereInstance1;
 });
 }
 
@@ -2015,7 +2015,7 @@ struct ExtDecl * MkExtDeclAttrib(struct Attrib * attr)
 return __extension__ ({
 struct ExtDecl * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ExtDecl);
 
-__ecereInstance1->type = 1, __ecereInstance1->attr = attr, __ecereInstance1;
+__ecereInstance1->type = 1, __ecereInstance1->__anon1.attr = attr, __ecereInstance1;
 });
 }
 
@@ -2024,7 +2024,7 @@ struct Declarator * MkDeclaratorIdentifier(struct Identifier * id)
 return __extension__ ({
 struct Declarator * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declarator);
 
-__ecereInstance1->type = 1, __ecereInstance1->identifier = id, __ecereInstance1;
+__ecereInstance1->type = 1, __ecereInstance1->__anon1.identifier = id, __ecereInstance1;
 });
 }
 
@@ -2033,7 +2033,7 @@ struct Declarator * MkDeclaratorFunction(struct Declarator * declarator, struct
 return __extension__ ({
 struct Declarator * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declarator);
 
-__ecereInstance1->type = 4, __ecereInstance1->declarator = declarator, __ecereInstance1->function.parameters = parameters, __ecereInstance1;
+__ecereInstance1->type = 4, __ecereInstance1->declarator = declarator, __ecereInstance1->__anon1.function.parameters = parameters, __ecereInstance1;
 });
 }
 
@@ -2042,7 +2042,7 @@ struct Declarator * MkDeclaratorExtended(struct ExtDecl * extended, struct Decla
 return __extension__ ({
 struct Declarator * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declarator);
 
-__ecereInstance1->type = 6, __ecereInstance1->declarator = declarator, __ecereInstance1->extended.extended = extended, __ecereInstance1;
+__ecereInstance1->type = 6, __ecereInstance1->declarator = declarator, __ecereInstance1->__anon1.extended.extended = extended, __ecereInstance1;
 });
 }
 
@@ -2051,7 +2051,7 @@ struct Declarator * MkDeclaratorExtendedEnd(struct ExtDecl * extended, struct De
 return __extension__ ({
 struct Declarator * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declarator);
 
-__ecereInstance1->type = 7, __ecereInstance1->declarator = declarator, __ecereInstance1->extended.extended = extended, __ecereInstance1;
+__ecereInstance1->type = 7, __ecereInstance1->declarator = declarator, __ecereInstance1->__anon1.extended.extended = extended, __ecereInstance1;
 });
 }
 
@@ -2060,7 +2060,7 @@ struct Declarator * MkStructDeclarator(struct Declarator * declarator, struct Ex
 return __extension__ ({
 struct Declarator * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declarator);
 
-__ecereInstance1->type = 0, __ecereInstance1->declarator = declarator, __ecereInstance1->structDecl.exp = exp, __ecereInstance1;
+__ecereInstance1->type = 0, __ecereInstance1->declarator = declarator, __ecereInstance1->__anon1.structDecl.exp = exp, __ecereInstance1;
 });
 }
 
@@ -2078,7 +2078,7 @@ struct Declarator * MkDeclaratorArray(struct Declarator * declarator, struct Exp
 return __extension__ ({
 struct Declarator * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declarator);
 
-__ecereInstance1->type = 3, __ecereInstance1->declarator = declarator, __ecereInstance1->array.exp = exp, __ecereInstance1;
+__ecereInstance1->type = 3, __ecereInstance1->declarator = declarator, __ecereInstance1->__anon1.array.exp = exp, __ecereInstance1;
 });
 }
 
@@ -2087,7 +2087,7 @@ struct Declarator * MkDeclaratorEnumArray(struct Declarator * declarator, struct
 return __extension__ ({
 struct Declarator * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declarator);
 
-__ecereInstance1->type = 3, __ecereInstance1->declarator = declarator, __ecereInstance1->array.enumClass = _class, __ecereInstance1;
+__ecereInstance1->type = 3, __ecereInstance1->declarator = declarator, __ecereInstance1->__anon1.array.enumClass = _class, __ecereInstance1;
 });
 }
 
@@ -2096,7 +2096,7 @@ struct Declarator * MkDeclaratorPointer(struct Pointer * pointer, struct Declara
 return __extension__ ({
 struct Declarator * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declarator);
 
-__ecereInstance1->type = 5, __ecereInstance1->declarator = declarator, __ecereInstance1->pointer.pointer = pointer, __ecereInstance1;
+__ecereInstance1->type = 5, __ecereInstance1->declarator = declarator, __ecereInstance1->__anon1.pointer.pointer = pointer, __ecereInstance1;
 });
 }
 
@@ -2123,7 +2123,7 @@ struct Initializer * MkInitializerAssignment(struct Expression * exp)
 return __extension__ ({
 struct Initializer * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Initializer);
 
-__ecereInstance1->type = 0, __ecereInstance1->exp = exp, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 0, __ecereInstance1->__anon1.exp = exp, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -2132,7 +2132,7 @@ struct Initializer * MkInitializerList(struct __ecereNameSpace__ecere__sys__OldL
 return __extension__ ({
 struct Initializer * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Initializer);
 
-__ecereInstance1->type = 1, __ecereInstance1->list = list, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 1, __ecereInstance1->__anon1.list = list, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -2158,7 +2158,7 @@ struct Declarator * decl = declarator;
 
 while(decl && decl->type == 3)
 decl = decl->declarator;
-if(decl && decl->type == 1 && decl->identifier->string && CheckType(decl->identifier->string) == TYPE_NAME)
+if(decl && decl->type == 1 && decl->__anon1.identifier->string && CheckType(decl->__anon1.identifier->string) == TYPE_NAME)
 {
 struct Specifier * spec;
 
@@ -2166,7 +2166,7 @@ for(spec = qualifiers->first; spec; spec = spec->next)
 {
 if(spec->type == 0)
 {
-if(spec->specifier == CONST || spec->specifier == VOLATILE || spec->specifier == EXTERN || spec->specifier == STATIC || spec->specifier == AUTO || spec->specifier == REGISTER)
+if(spec->__anon1.specifier == CONST || spec->__anon1.specifier == VOLATILE || spec->__anon1.specifier == EXTERN || spec->__anon1.specifier == STATIC || spec->__anon1.specifier == AUTO || spec->__anon1.specifier == REGISTER)
 continue;
 break;
 }
@@ -2175,7 +2175,7 @@ break;
 }
 if(!spec)
 {
-ListAdd(qualifiers, MkSpecifierName(decl->identifier->string));
+ListAdd(qualifiers, MkSpecifierName(decl->__anon1.identifier->string));
 FreeDeclarator(decl);
 parentDecl->declarator = (((void *)0));
 }
@@ -2205,19 +2205,19 @@ struct Specifier * spec, * next;
 for(spec = qualifiers->first; spec; spec = next)
 {
 next = spec->next;
-if(gotType && !declarator && ((spec->type == 1 && spec->name) || (spec->type == 0 && gotFullType)))
+if(gotType && !declarator && ((spec->type == 1 && spec->__anon1.__anon1.name) || (spec->type == 0 && gotFullType)))
 {
 const char * s = (((void *)0));
 
 if(spec->type == 1)
 {
-char * colon = __ecereNameSpace__ecere__sys__RSearchString(spec->name, "::", strlen(spec->name), 0x1, 0x0);
+char * colon = __ecereNameSpace__ecere__sys__RSearchString(spec->__anon1.__anon1.name, "::", strlen(spec->__anon1.__anon1.name), 0x1, 0x0);
 
-s = colon ? colon + 2 : spec->name;
+s = colon ? colon + 2 : spec->__anon1.__anon1.name;
 }
 else if(spec->type == 0)
 {
-if(spec->specifier == INT64)
+if(spec->__anon1.specifier == INT64)
 s = "int64";
 }
 if(s)
@@ -2232,9 +2232,9 @@ if(spec && spec->type != 5)
 {
 if(spec->type == 0)
 {
-if(spec->specifier == CONST || spec->specifier == VOLATILE || spec->specifier == EXTERN || spec->specifier == STATIC || spec->specifier == AUTO || spec->specifier == REGISTER)
+if(spec->__anon1.specifier == CONST || spec->__anon1.specifier == VOLATILE || spec->__anon1.specifier == EXTERN || spec->__anon1.specifier == STATIC || spec->__anon1.specifier == AUTO || spec->__anon1.specifier == REGISTER)
 continue;
-else if(spec->specifier != UNSIGNED && spec->specifier != SIGNED && spec->specifier != LONG)
+else if(spec->__anon1.specifier != UNSIGNED && spec->__anon1.specifier != SIGNED && spec->__anon1.specifier != LONG)
 gotFullType = 0x1;
 gotType = 0x1;
 }
@@ -2257,7 +2257,7 @@ struct Identifier * GetDeclId(struct Declarator * decl)
 {
 while(decl && decl->type != 1)
 decl = decl->declarator;
-return decl ? decl->identifier : (((void *)0));
+return decl ? decl->__anon1.identifier : (((void *)0));
 }
 
 struct Declaration * MkDeclarationClassInst(struct Instantiation * inst)
@@ -2265,7 +2265,7 @@ struct Declaration * MkDeclarationClassInst(struct Instantiation * inst)
 return __extension__ ({
 struct Declaration * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declaration);
 
-__ecereInstance1->type = 2, __ecereInstance1->inst = inst, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 2, __ecereInstance1->__anon1.inst = inst, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -2277,7 +2277,7 @@ extern struct __ecereNameSpace__ecere__sys__OldList *  excludedSymbols;
 
 struct Declaration * MkDeclarationInst(struct Instantiation * inst)
 {
-struct Declaration * decl = (decl = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declaration), decl->type = 2, decl->inst = inst, decl->loc = yylloc, decl);
+struct Declaration * decl = (decl = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declaration), decl->type = 2, decl->__anon1.inst = inst, decl->loc = yylloc, decl);
 struct Symbol * symbol;
 
 if(curContext == globalContext && (currentNameSpace || defaultNameSpace) && declMode != 0 && defaultDeclMode != 0)
@@ -2299,17 +2299,17 @@ len += currentNameSpaceLen;
 name[len++] = ':';
 name[len++] = ':';
 }
-stringLen = strlen(inst->exp->identifier->string);
-memcpy(name + len, inst->exp->identifier->string, stringLen);
+stringLen = strlen(inst->exp->__anon1.__anon1.identifier->string);
+memcpy(name + len, inst->exp->__anon1.__anon1.identifier->string, stringLen);
 len += stringLen;
 name[len] = (char)0;
-(__ecereNameSpace__ecere__com__eSystem_Delete(inst->exp->identifier->string), inst->exp->identifier->string = 0);
-inst->exp->identifier->string = __ecereNameSpace__ecere__sys__CopyString(name);
+(__ecereNameSpace__ecere__com__eSystem_Delete(inst->exp->__anon1.__anon1.identifier->string), inst->exp->__anon1.__anon1.identifier->string = 0);
+inst->exp->__anon1.__anon1.identifier->string = __ecereNameSpace__ecere__sys__CopyString(name);
 }
 symbol = __extension__ ({
 struct Symbol * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol);
 
-__ecereInstance1->string = (inst->exp->type == 0) ? __ecereNameSpace__ecere__sys__CopyString(inst->exp->identifier->string) : (((void *)0)), __ecereInstance1->type = MkClassTypeSymbol(inst->_class->symbol), __ecereInstance1;
+__ecereInstance1->string = (inst->exp->type == 0) ? __ecereNameSpace__ecere__sys__CopyString(inst->exp->__anon1.__anon1.identifier->string) : (((void *)0)), __ecereInstance1->type = MkClassTypeSymbol(inst->_class->__anon1.__anon1.symbol), __ecereInstance1;
 });
 symbol->idCode = symbol->id = curContext->nextID++;
 if(strstr(symbol->string, "::"))
@@ -2340,7 +2340,7 @@ extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * n
 
 struct Declaration * MkDeclarationDefine(struct Identifier * id, struct Expression * exp)
 {
-struct Declaration * decl = (decl = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declaration), decl->type = 3, decl->id = id, decl->exp = exp, decl->loc = yylloc, decl);
+struct Declaration * decl = (decl = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declaration), decl->type = 3, decl->__anon1.__anon2.id = id, decl->__anon1.__anon2.exp = exp, decl->loc = yylloc, decl);
 char expString[1024];
 
 expString[0] = '\0';
@@ -2384,7 +2384,7 @@ struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ec
 
 struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators)
 {
-struct Declaration * decl = (decl = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declaration), decl->type = 1, decl->declarators = initDeclarators, decl->specifiers = specifiers, decl->loc = yylloc, decl);
+struct Declaration * decl = (decl = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declaration), decl->type = 1, decl->__anon1.__anon1.declarators = initDeclarators, decl->__anon1.__anon1.specifiers = specifiers, decl->loc = yylloc, decl);
 unsigned int variable = 0x1;
 
 if(specifiers != (((void *)0)))
@@ -2395,7 +2395,7 @@ struct Specifier * spec, * next;
 for(spec = specifiers->first; spec; spec = next)
 {
 next = spec->next;
-if(spec->type == 0 && spec->specifier == TYPEDEF)
+if(spec->type == 0 && spec->__anon1.specifier == TYPEDEF)
 {
 if(initDeclarators != (((void *)0)))
 {
@@ -2418,19 +2418,19 @@ else if(spec->next)
 {
 spec = specifiers->last;
 {
-if((spec->type == 1 && spec->name) || spec->type == 0)
+if((spec->type == 1 && spec->__anon1.__anon1.name) || spec->type == 0)
 {
 const char * s = (((void *)0));
 
 if(spec->type == 1)
 {
-const char * colon = __ecereNameSpace__ecere__sys__RSearchString(spec->name, "::", strlen(spec->name), 0x1, 0x0);
+const char * colon = __ecereNameSpace__ecere__sys__RSearchString(spec->__anon1.__anon1.name, "::", strlen(spec->__anon1.__anon1.name), 0x1, 0x0);
 
-s = colon ? colon + 2 : spec->name;
+s = colon ? colon + 2 : spec->__anon1.__anon1.name;
 }
 else if(spec->type == 0)
 {
-if(spec->specifier == INT64)
+if(spec->__anon1.specifier == INT64)
 s = "int64";
 }
 if(s)
@@ -2439,7 +2439,7 @@ struct Symbol * type = (type = __ecereNameSpace__ecere__com__eInstance_New(__ece
 
 type->id = type->idCode = curContext->nextID++;
 decl->symbol = type;
-decl->declarators = initDeclarators = MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), (((void *)0))));
+decl->__anon1.__anon1.declarators = initDeclarators = MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), (((void *)0))));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(specifiers, spec);
 FreeSpecifier(spec);
 if(!__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&(curContext->templateTypesOnly ? curContext->parent : curContext)->types, (struct __ecereNameSpace__ecere__sys__BTNode *)type))
@@ -2451,28 +2451,28 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*excludedSymbols), typ
 variable = 0x0;
 break;
 }
-else if(spec->type == 0 && (spec->specifier == STRUCT || spec->specifier == UNION))
+else if(spec->type == 0 && (spec->__anon1.specifier == STRUCT || spec->__anon1.specifier == UNION))
 variable = 0x0;
 else
 {
-if(gotType && initDeclarators == (((void *)0)) && !spec->next && ((spec->type == 1 && spec->name) || spec->type == 0))
+if(gotType && initDeclarators == (((void *)0)) && !spec->next && ((spec->type == 1 && spec->__anon1.__anon1.name) || spec->type == 0))
 {
 const char * s = (((void *)0));
 
 if(spec->type == 1)
 {
-char * colon = __ecereNameSpace__ecere__sys__RSearchString(spec->name, "::", strlen(spec->name), 0x1, 0x0);
+char * colon = __ecereNameSpace__ecere__sys__RSearchString(spec->__anon1.__anon1.name, "::", strlen(spec->__anon1.__anon1.name), 0x1, 0x0);
 
-s = colon ? colon + 2 : spec->name;
+s = colon ? colon + 2 : spec->__anon1.__anon1.name;
 }
 else if(spec->type == 0)
 {
-if(spec->specifier == INT64)
+if(spec->__anon1.specifier == INT64)
 s = "int64";
 }
 if(s)
 {
-decl->declarators = initDeclarators = MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), (((void *)0))));
+decl->__anon1.__anon1.declarators = initDeclarators = MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), (((void *)0))));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(specifiers, spec);
 FreeSpecifier(spec);
 spec = (((void *)0));
@@ -2535,23 +2535,23 @@ if(strstr(symbol->string, "::"))
 curContext->hasNameSpace = 0x1;
 if(!__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&(curContext->templateTypesOnly ? curContext->parent : curContext)->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)symbol))
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*excludedSymbols), symbol);
-if(symbol->type && symbol->type->kind == 12 && !symbol->type->arraySizeExp && d->initializer)
+if(symbol->type && symbol->type->kind == 12 && !symbol->type->__anon1.__anon4.arraySizeExp && d->initializer)
 {
 if(d->initializer->type == 1)
 {
 char string[256];
 
-sprintf(string, "%d", (*d->initializer->list).count);
-symbol->type->arraySizeExp = MkExpConstant(string);
-symbol->type->freeExp = 0x1;
+sprintf(string, "%d", (*d->initializer->__anon1.list).count);
+symbol->type->__anon1.__anon4.arraySizeExp = MkExpConstant(string);
+symbol->type->__anon1.__anon4.freeExp = 0x1;
 }
-else if(d->initializer->type == 0 && d->initializer->exp->type == 3 && d->initializer->exp->string)
+else if(d->initializer->type == 0 && d->initializer->__anon1.exp->type == 3 && d->initializer->__anon1.exp->__anon1.__anon2.string)
 {
 char string[256];
 int c, count = 0;
 char ch;
 unsigned int escaped = 0x0;
-char * s = d->initializer->exp->string;
+char * s = d->initializer->__anon1.exp->__anon1.__anon2.string;
 
 for(c = 1; (ch = s[c]); c++)
 {
@@ -2564,8 +2564,8 @@ escaped = 0x0;
 }
 }
 sprintf(string, "%d", count);
-symbol->type->arraySizeExp = MkExpConstant(string);
-symbol->type->freeExp = 0x1;
+symbol->type->__anon1.__anon4.arraySizeExp = MkExpConstant(string);
+symbol->type->__anon1.__anon4.freeExp = 0x1;
 }
 }
 symbol->id = symbol->idCode = curContext->nextID++;
@@ -2586,7 +2586,7 @@ return decl;
 
 struct Declaration * MkStructDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * declarators, struct Specifier * extStorage)
 {
-struct Declaration * decl = (decl = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declaration), decl->type = 0, decl->declarators = declarators, decl->specifiers = specifiers, decl->extStorage = extStorage, decl->loc = yylloc, decl);
+struct Declaration * decl = (decl = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Declaration), decl->type = 0, decl->__anon1.__anon1.declarators = declarators, decl->__anon1.__anon1.specifiers = specifiers, decl->extStorage = extStorage, decl->loc = yylloc, decl);
 
 if(specifiers != (((void *)0)))
 {
@@ -2596,24 +2596,24 @@ struct Specifier * spec, * next;
 for(spec = specifiers->first; spec; spec = next)
 {
 next = spec->next;
-if(gotType && declarators == (((void *)0)) && ((spec->type == 1 && spec->name) || spec->type == 0))
+if(gotType && declarators == (((void *)0)) && ((spec->type == 1 && spec->__anon1.__anon1.name) || spec->type == 0))
 {
 const char * s = (((void *)0));
 
 if(spec->type == 1)
 {
-const char * colon = __ecereNameSpace__ecere__sys__RSearchString(spec->name, "::", strlen(spec->name), 0x1, 0x0);
+const char * colon = __ecereNameSpace__ecere__sys__RSearchString(spec->__anon1.__anon1.name, "::", strlen(spec->__anon1.__anon1.name), 0x1, 0x0);
 
-s = colon ? colon + 2 : spec->name;
+s = colon ? colon + 2 : spec->__anon1.__anon1.name;
 }
 else if(spec->type == 0)
 {
-if(spec->specifier == INT64)
+if(spec->__anon1.specifier == INT64)
 s = "int64";
 }
 if(s)
 {
-decl->declarators = declarators = MkListOne(MkStructDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), (((void *)0))));
+decl->__anon1.__anon1.declarators = declarators = MkListOne(MkStructDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), (((void *)0))));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(specifiers, spec);
 FreeSpecifier(spec);
 spec = (((void *)0));
@@ -2631,7 +2631,7 @@ struct Statement * MkLabeledStmt(struct Identifier * id, struct Statement * stat
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 0, __ecereInstance1->labeled.id = id, __ecereInstance1->labeled.stmt = statement, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 0, __ecereInstance1->__anon1.labeled.id = id, __ecereInstance1->__anon1.labeled.stmt = statement, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -2640,7 +2640,7 @@ struct Statement * MkCaseStmt(struct Expression * exp, struct Statement * statem
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 1, __ecereInstance1->caseStmt.exp = exp, __ecereInstance1->caseStmt.stmt = statement, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 1, __ecereInstance1->__anon1.caseStmt.exp = exp, __ecereInstance1->__anon1.caseStmt.stmt = statement, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -2649,7 +2649,7 @@ struct Statement * MkCompoundStmt(struct __ecereNameSpace__ecere__sys__OldList *
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 2, __ecereInstance1->compound.declarations = declarations, __ecereInstance1->compound.statements = statements, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 2, __ecereInstance1->__anon1.compound.declarations = declarations, __ecereInstance1->__anon1.compound.statements = statements, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -2658,7 +2658,7 @@ struct Statement * MkExpressionStmt(struct __ecereNameSpace__ecere__sys__OldList
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 3, __ecereInstance1->expressions = expressions, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 3, __ecereInstance1->__anon1.expressions = expressions, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -2667,7 +2667,7 @@ struct Statement * MkBadDeclStmt(struct Declaration * decl)
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 14, __ecereInstance1->decl = decl, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 14, __ecereInstance1->__anon1.decl = decl, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -2676,18 +2676,18 @@ struct Statement * MkIfStmt(struct __ecereNameSpace__ecere__sys__OldList * exp,
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 4, __ecereInstance1->ifStmt.exp = exp, __ecereInstance1->ifStmt.stmt = statement, __ecereInstance1->ifStmt.elseStmt = elseStmt, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 4, __ecereInstance1->__anon1.ifStmt.exp = exp, __ecereInstance1->__anon1.ifStmt.stmt = statement, __ecereInstance1->__anon1.ifStmt.elseStmt = elseStmt, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
 struct Statement * MkSwitchStmt(struct __ecereNameSpace__ecere__sys__OldList * exp, struct Statement * statement)
 {
 if(statement)
-statement->compound.isSwitch = 0x1;
+statement->__anon1.compound.isSwitch = 0x1;
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 5, __ecereInstance1->switchStmt.exp = exp, __ecereInstance1->switchStmt.stmt = statement, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 5, __ecereInstance1->__anon1.switchStmt.exp = exp, __ecereInstance1->__anon1.switchStmt.stmt = statement, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -2696,7 +2696,7 @@ struct Statement * MkWhileStmt(struct __ecereNameSpace__ecere__sys__OldList * ex
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 6, __ecereInstance1->whileStmt.exp = exp, __ecereInstance1->whileStmt.stmt = statement, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 6, __ecereInstance1->__anon1.whileStmt.exp = exp, __ecereInstance1->__anon1.whileStmt.stmt = statement, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -2705,7 +2705,7 @@ struct Statement * MkDoWhileStmt(struct Statement * statement, struct __ecereNam
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 7, __ecereInstance1->doWhile.exp = exp, __ecereInstance1->doWhile.stmt = statement, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 7, __ecereInstance1->__anon1.doWhile.exp = exp, __ecereInstance1->__anon1.doWhile.stmt = statement, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -2714,7 +2714,7 @@ struct Statement * MkForStmt(struct Statement * init, struct Statement * check,
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 8, __ecereInstance1->forStmt.init = init, __ecereInstance1->forStmt.check = check, __ecereInstance1->forStmt.increment = inc, __ecereInstance1->forStmt.stmt = statement, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 8, __ecereInstance1->__anon1.forStmt.init = init, __ecereInstance1->__anon1.forStmt.check = check, __ecereInstance1->__anon1.forStmt.increment = inc, __ecereInstance1->__anon1.forStmt.stmt = statement, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -2723,7 +2723,7 @@ struct Statement * MkForEachStmt(struct Identifier * id, struct __ecereNameSpace
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 18, __ecereInstance1->forEachStmt.id = id, __ecereInstance1->forEachStmt.exp = exp, __ecereInstance1->forEachStmt.filter = filter, __ecereInstance1->forEachStmt.stmt = statement, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 18, __ecereInstance1->__anon1.forEachStmt.id = id, __ecereInstance1->__anon1.forEachStmt.exp = exp, __ecereInstance1->__anon1.forEachStmt.filter = filter, __ecereInstance1->__anon1.forEachStmt.stmt = statement, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -2732,7 +2732,7 @@ struct Statement * MkGotoStmt(struct Identifier * id)
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 9, __ecereInstance1->gotoStmt.id = id, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 9, __ecereInstance1->__anon1.gotoStmt.id = id, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -2759,7 +2759,7 @@ struct Statement * MkReturnStmt(struct __ecereNameSpace__ecere__sys__OldList * e
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 12, __ecereInstance1->expressions = exp, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 12, __ecereInstance1->__anon1.expressions = exp, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -2780,11 +2780,11 @@ if(errorOnOmit)
 {
 struct Declarator * funcDecl = GetFuncDecl(declarator);
 
-if(funcDecl && funcDecl->function.parameters)
+if(funcDecl && funcDecl->__anon1.function.parameters)
 {
 struct TypeName * tn;
 
-for(tn = (*funcDecl->function.parameters).first; tn; tn = tn->next)
+for(tn = (*funcDecl->__anon1.function.parameters).first; tn; tn = tn->next)
 {
 if(tn->qualifiers || tn->declarator)
 {
@@ -2794,7 +2794,7 @@ if(!declID)
 {
 struct Specifier * spec = tn->qualifiers ? (*tn->qualifiers).first : (((void *)0));
 
-if(!tn->declarator && !tn->prev && !tn->next && spec && !spec->next && spec->type == 0 && spec->specifier == VOID)
+if(!tn->declarator && !tn->prev && !tn->next && spec && !spec->next && spec->type == 0 && spec->__anon1.specifier == VOID)
 ;
 else
 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "parameter name omitted\n", (((void *)0))));
@@ -2826,12 +2826,12 @@ struct Declarator * funcDecl = GetFuncDecl(declarator);
 struct Symbol * symbol;
 
 func->body = body;
-if(funcDecl && funcDecl->function.parameters && body)
+if(funcDecl && funcDecl->__anon1.function.parameters && body)
 {
-struct Context * context = body->compound.context;
+struct Context * context = body->__anon1.compound.context;
 struct TypeName * param;
 
-for(param = (*funcDecl->function.parameters).first; param; param = param->next)
+for(param = (*funcDecl->__anon1.function.parameters).first; param; param = param->next)
 {
 if(param->declarator)
 {
@@ -2917,11 +2917,11 @@ symbol->type = ProcessType(func->specifiers, declarator);
 }
 if(symbol->type && (symbol->type->kind == 11 || symbol->type->kind == 16))
 {
-if(!symbol->type->params.count)
+if(!symbol->type->__anon1.__anon2.params.count)
 {
 struct Type * type = (type = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type), type->refCount = 1, type);
 
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&symbol->type->params, type);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&symbol->type->__anon1.__anon2.params, type);
 }
 }
 else
@@ -2931,21 +2931,21 @@ else
 
 struct External * MkExternalFunction(struct FunctionDefinition * function)
 {
-struct External * external = (external = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_External), external->type = 0, external->function = function, external->symbol = function->declarator->symbol, external);
+struct External * external = (external = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_External), external->type = 0, external->__anon1.function = function, external->symbol = function->declarator->symbol, external);
 
 if(function->specifiers)
 {
 struct Specifier * spec;
 
 for(spec = (*function->specifiers).first; spec; spec = spec->next)
-if(spec->type == 0 && spec->specifier == STATIC)
+if(spec->type == 0 && spec->__anon1.specifier == STATIC)
 {
 structDeclMode = declMode = 3;
 break;
 }
 }
-if(external->symbol && !external->symbol->methodExternal)
-external->symbol->methodExternal = external;
+if(external->symbol && !external->symbol->__anon2.__anon3.methodExternal)
+external->symbol->__anon2.__anon3.methodExternal = external;
 return external;
 }
 
@@ -2958,46 +2958,46 @@ struct External * MkExternalImport(char * name, int importType, int importAccess
 struct External * external = (external = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_External), external->type = 3, external);
 int len = strlen(name) - 2;
 
-external->importString = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (len + 1));
-strncpy(external->importString, name + 1, len);
-external->importString[len] = '\0';
+external->__anon1.importString = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (len + 1));
+strncpy(external->__anon1.importString, name + 1, len);
+external->__anon1.importString[len] = '\0';
 (__ecereNameSpace__ecere__com__eSystem_Delete(name), name = 0);
 {
-ImportModule(external->importString, importType, importAccess, 0x1);
-ImportModule(external->importString, importType, importAccess, 0x0);
+ImportModule(external->__anon1.importString, importType, importAccess, 0x1);
+ImportModule(external->__anon1.importString, importType, importAccess, 0x0);
 }
 return external;
 }
 
 struct External * MkExternalDeclaration(struct Declaration * declaration)
 {
-struct External * external = (external = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_External), external->type = 1, external->declaration = declaration, external->symbol = declaration ? declaration->symbol : (((void *)0)), external);
-struct InitDeclarator * d = (declaration && declaration->declarators) ? (*declaration->declarators).last : (((void *)0));
+struct External * external = (external = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_External), external->type = 1, external->__anon1.declaration = declaration, external->symbol = declaration ? declaration->symbol : (((void *)0)), external);
+struct InitDeclarator * d = (declaration && declaration->__anon1.__anon1.declarators) ? (*declaration->__anon1.__anon1.declarators).last : (((void *)0));
 
-if(declaration && declaration->type == 1 && declaration->specifiers)
+if(declaration && declaration->type == 1 && declaration->__anon1.__anon1.specifiers)
 {
 struct Specifier * spec;
 
-for(spec = (*declaration->specifiers).first; spec; spec = spec->next)
-if(spec->type == 0 && spec->specifier == TYPEDEF)
+for(spec = (*declaration->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
+if(spec->type == 0 && spec->__anon1.specifier == TYPEDEF)
 {
 structDeclMode = declMode = 0;
 break;
 }
-else if(spec->type == 0 && spec->specifier == STATIC)
+else if(spec->type == 0 && spec->__anon1.specifier == STATIC)
 {
 structDeclMode = declMode = 3;
 break;
 }
 }
-if(declaration && declaration->symbol && !declaration->symbol->methodExternal)
-declaration->symbol->methodExternal = external;
+if(declaration && declaration->symbol && !declaration->symbol->__anon2.__anon3.methodExternal)
+declaration->symbol->__anon2.__anon3.methodExternal = external;
 return external;
 }
 
 struct External * MkExternalNameSpace(struct Identifier * identifier)
 {
-struct External * external = (external = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_External), external->type = 4, external->id = identifier, external);
+struct External * external = (external = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_External), external->type = 4, external->__anon1.id = identifier, external);
 
 currentNameSpace = identifier ? identifier->string : (((void *)0));
 currentNameSpaceLen = currentNameSpace ? strlen(currentNameSpace) : 0;
@@ -3031,15 +3031,15 @@ void SetClassTemplateArgs(struct Specifier * spec, struct __ecereNameSpace__ecer
 {
 if(spec->type == 1)
 {
-struct Symbol * symbol = spec->symbol;
+struct Symbol * symbol = spec->__anon1.__anon1.symbol;
 
-spec->templateArgs = templateArgs;
+spec->__anon1.__anon1.templateArgs = templateArgs;
 if(templateArgs && templateArgs->first)
 {
 char templateString[1024];
 struct TemplateArgument * arg;
 
-strcpy(templateString, symbol ? symbol->string : spec->name);
+strcpy(templateString, symbol ? symbol->string : spec->__anon1.__anon1.name);
 strcat(templateString, "<");
 for(arg = templateArgs->first; arg; arg = arg->next)
 {
@@ -3055,19 +3055,19 @@ struct __ecereNameSpace__ecere__com__Class * backupThisClass = thisClass;
 
 thisClass = (((void *)0));
 expString[0] = '\0';
-PrintExpression(arg->expression, expString);
+PrintExpression(arg->__anon1.expression, expString);
 strcat(argument, expString);
 thisClass = backupThisClass;
 break;
 }
 case 1:
 {
-strcat(argument, arg->identifier->string);
+strcat(argument, arg->__anon1.identifier->string);
 break;
 }
 case 0:
 {
-char * typeString = StringFromSpecDecl(arg->templateDatatype->specifiers, arg->templateDatatype->decl);
+char * typeString = StringFromSpecDecl(arg->__anon1.templateDatatype->specifiers, arg->__anon1.templateDatatype->decl);
 
 strcat(argument, typeString);
 (__ecereNameSpace__ecere__com__eSystem_Delete(typeString), typeString = 0);
@@ -3095,19 +3095,19 @@ templateString[len++] = '>';
 templateString[len++] = '\0';
 }
 symbol = FindClass(templateString);
-if(!symbol && spec->symbol)
+if(!symbol && spec->__anon1.__anon1.symbol)
 {
 symbol = _DeclClass((((int)0x7fffffff)), templateString);
 }
-if(spec->symbol)
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&spec->symbol->templatedClasses, __extension__ ({
+if(spec->__anon1.__anon1.symbol)
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&spec->__anon1.__anon1.symbol->templatedClasses, __extension__ ({
 struct __ecereNameSpace__ecere__sys__OldLink * __ecereInstance1 = __ecereNameSpace__ecere__com__eSystem_New0(structSize_OldLink);
 
 __ecereInstance1->data = symbol, __ecereInstance1;
 }));
-(__ecereNameSpace__ecere__com__eSystem_Delete(spec->name), spec->name = 0);
-spec->symbol = symbol;
-spec->name = __ecereNameSpace__ecere__sys__CopyString(symbol ? symbol->string : templateString);
+(__ecereNameSpace__ecere__com__eSystem_Delete(spec->__anon1.__anon1.name), spec->__anon1.__anon1.name = 0);
+spec->__anon1.__anon1.symbol = symbol;
+spec->__anon1.__anon1.name = __ecereNameSpace__ecere__sys__CopyString(symbol ? symbol->string : templateString);
 }
 }
 else
@@ -3128,31 +3128,31 @@ struct TemplatedType * templatedType = FindTemplateTypeParameter(curContext, nam
 
 if(templatedType)
 {
-spec->templateParameter = templatedType->param;
+spec->__anon1.templateParameter = templatedType->param;
 spec->type = 8;
 return spec;
 }
 else
 symbol = FindClass(name);
 }
-if(symbol && symbol->registered && symbol->registered->isRemote == 1)
+if(symbol && symbol->__anon1.registered && symbol->__anon1.registered->isRemote == 1)
 {
 char className[1024];
 
 strcpy(className, "DCOMClient_");
 if(!strncmp(name, className, strlen(className)))
-spec->name = __ecereNameSpace__ecere__sys__CopyString(name);
+spec->__anon1.__anon1.name = __ecereNameSpace__ecere__sys__CopyString(name);
 else
 {
 strcat(className, name);
-spec->name = __ecereNameSpace__ecere__sys__CopyString(className);
+spec->__anon1.__anon1.name = __ecereNameSpace__ecere__sys__CopyString(className);
 }
 }
 else if(symbol)
-spec->name = __ecereNameSpace__ecere__sys__CopyString(symbol->string);
+spec->__anon1.__anon1.name = __ecereNameSpace__ecere__sys__CopyString(symbol->string);
 else
-spec->name = __ecereNameSpace__ecere__sys__CopyString(name);
-spec->symbol = symbol;
+spec->__anon1.__anon1.name = __ecereNameSpace__ecere__sys__CopyString(name);
+spec->__anon1.__anon1.symbol = symbol;
 if(templateArgs != (((void *)0)))
 SetClassTemplateArgs(spec, templateArgs);
 }
@@ -3191,12 +3191,12 @@ if(decl && !decl->symbol)
 {
 struct __ecereNameSpace__ecere__sys__OldList * symbolSpecs = MkList();
 
-if(funcDecl && funcDecl->function.parameters && body)
+if(funcDecl && funcDecl->__anon1.function.parameters && body)
 {
-struct Context * context = body->compound.context;
+struct Context * context = body->__anon1.compound.context;
 struct TypeName * param;
 
-for(param = (*funcDecl->function.parameters).first; param; param = param->next)
+for(param = (*funcDecl->__anon1.function.parameters).first; param; param = param->next)
 {
 if(param->declarator)
 {
@@ -3286,15 +3286,15 @@ struct MemberInit * MkMemberInitExp(struct Expression * idExp, struct Initialize
 struct MemberInit * init = (init = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_MemberInit), init->initializer = initializer, init->identifiers = MkList(), init);
 struct Expression * exp;
 
-for(exp = idExp; exp && exp->type == 8; exp = exp->member.exp)
+for(exp = idExp; exp && exp->type == 8; exp = exp->__anon1.member.exp)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*init->identifiers), (((void *)0)), exp->member.member);
-exp->member.member = (((void *)0));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*init->identifiers), (((void *)0)), exp->__anon1.member.member);
+exp->__anon1.member.member = (((void *)0));
 }
 if(exp && exp->type == 0)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*init->identifiers), (((void *)0)), exp->identifier);
-exp->identifier = (((void *)0));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*init->identifiers), (((void *)0)), exp->__anon1.__anon1.identifier);
+exp->__anon1.__anon1.identifier = (((void *)0));
 }
 FreeExpression(idExp);
 return init;
@@ -3305,7 +3305,7 @@ struct MembersInit * MkMembersInitList(struct __ecereNameSpace__ecere__sys__OldL
 return __extension__ ({
 struct MembersInit * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_MembersInit);
 
-__ecereInstance1->type = 0, __ecereInstance1->dataMembers = dataMembers, __ecereInstance1;
+__ecereInstance1->type = 0, __ecereInstance1->__anon1.dataMembers = dataMembers, __ecereInstance1;
 });
 }
 
@@ -3314,7 +3314,7 @@ struct MembersInit * MkMembersInitMethod(struct ClassFunction * function)
 return __extension__ ({
 struct MembersInit * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_MembersInit);
 
-__ecereInstance1->type = 1, __ecereInstance1->function = function, __ecereInstance1;
+__ecereInstance1->type = 1, __ecereInstance1->__anon1.function = function, __ecereInstance1;
 });
 }
 
@@ -3357,7 +3357,7 @@ struct ClassDef * MkClassDefAccessOverride(int access, struct Identifier * id)
 return __extension__ ({
 struct ClassDef * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ClassDef);
 
-__ecereInstance1->type = 13, __ecereInstance1->id = id, __ecereInstance1->memberAccess = access, __ecereInstance1;
+__ecereInstance1->type = 13, __ecereInstance1->__anon1.__anon1.id = id, __ecereInstance1->memberAccess = access, __ecereInstance1;
 });
 }
 
@@ -3375,7 +3375,7 @@ struct ClassDef * MkClassDefDeclaration(struct Declaration * decl)
 return __extension__ ({
 struct ClassDef * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ClassDef);
 
-__ecereInstance1->type = 2, __ecereInstance1->decl = decl, __ecereInstance1;
+__ecereInstance1->type = 2, __ecereInstance1->__anon1.decl = decl, __ecereInstance1;
 });
 }
 
@@ -3384,7 +3384,7 @@ struct ClassDef * MkClassDefClassData(struct Declaration * decl)
 return __extension__ ({
 struct ClassDef * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ClassDef);
 
-__ecereInstance1->type = 9, __ecereInstance1->decl = decl, __ecereInstance1;
+__ecereInstance1->type = 9, __ecereInstance1->__anon1.decl = decl, __ecereInstance1;
 });
 }
 
@@ -3393,7 +3393,7 @@ struct ClassDef * MkClassDefDesigner(const char * designer)
 return __extension__ ({
 struct ClassDef * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ClassDef);
 
-__ecereInstance1->type = 5, __ecereInstance1->designer = __ecereNameSpace__ecere__sys__CopyString(designer), __ecereInstance1;
+__ecereInstance1->type = 5, __ecereInstance1->__anon1.designer = __ecereNameSpace__ecere__sys__CopyString(designer), __ecereInstance1;
 });
 }
 
@@ -3420,7 +3420,7 @@ struct ClassDef * MkClassDefDesignerDefaultProperty(struct Identifier * id)
 return __extension__ ({
 struct ClassDef * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ClassDef);
 
-__ecereInstance1->type = 8, __ecereInstance1->defaultProperty = id, __ecereInstance1;
+__ecereInstance1->type = 8, __ecereInstance1->__anon1.defaultProperty = id, __ecereInstance1;
 });
 }
 
@@ -3429,7 +3429,7 @@ struct ClassDef * MkClassDefDefaultProperty(struct __ecereNameSpace__ecere__sys_
 return __extension__ ({
 struct ClassDef * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ClassDef);
 
-__ecereInstance1->type = 1, __ecereInstance1->defProperties = defProperties, __ecereInstance1;
+__ecereInstance1->type = 1, __ecereInstance1->__anon1.defProperties = defProperties, __ecereInstance1;
 });
 }
 
@@ -3446,7 +3446,7 @@ struct Declarator * funcDecl = GetFuncDecl(function->declarator);
 if(funcDecl && funcDecl->declarator && funcDecl->declarator->type == 2)
 {
 def->type = 2;
-def->decl = MkStructDeclaration(function->specifiers, MkListOne(MkStructDeclarator(function->declarator, (((void *)0)))), (((void *)0)));
+def->__anon1.decl = MkStructDeclaration(function->specifiers, MkListOne(MkStructDeclarator(function->declarator, (((void *)0)))), (((void *)0)));
 function->declarator = (((void *)0));
 function->specifiers = (((void *)0));
 FreeClassFunction(function);
@@ -3454,7 +3454,7 @@ return def;
 }
 }
 def->type = 0;
-def->function = function;
+def->__anon1.function = function;
 return def;
 }
 
@@ -3547,7 +3547,7 @@ union
 {
 const char *  dataTypeString;
 int memberType;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg;
 void *  param;
 } __attribute__ ((gcc_struct));
@@ -3560,7 +3560,7 @@ char name[1024];
 struct Symbol * baseClass;
 char * tpl;
 
-strcpy(name, ((struct Specifier *)baseSpecs->first)->name);
+strcpy(name, ((struct Specifier *)baseSpecs->first)->__anon1.__anon1.name);
 tpl = strchr(name, '<');
 if(tpl)
 *tpl = (char)0;
@@ -3577,11 +3577,11 @@ if(!__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&curContext->temp
 ((type ? (__ecereClass_TemplatedType->Destructor ? __ecereClass_TemplatedType->Destructor((void *)type) : 0, __ecereClass___ecereNameSpace__ecere__sys__BTNode->Destructor ? __ecereClass___ecereNameSpace__ecere__sys__BTNode->Destructor((void *)type) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(type)) : 0), type = 0);
 }
 }
-else if(baseClass && baseClass->registered)
+else if(baseClass && baseClass->__anon1.registered)
 {
 struct __ecereNameSpace__ecere__com__Class * sClass;
 
-for(sClass = baseClass->registered; sClass; sClass = sClass->base)
+for(sClass = baseClass->__anon1.registered; sClass; sClass = sClass->base)
 {
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter * p;
 
@@ -3597,7 +3597,7 @@ if(!param)
 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__ ({
@@ -3635,7 +3635,7 @@ struct External * external;
 
 for(external = (*ast).first; external; external = external->next)
 {
-if(external->type == 2 && external->_class == classDef)
+if(external->type == 2 && external->__anon1._class == classDef)
 {
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*ast), external);
 FreeExternal(external);
@@ -3661,7 +3661,7 @@ struct Expression * MkExpInstance(struct Instantiation * inst)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 1, __ecereInstance1->instance = inst, __ecereInstance1;
+__ecereInstance1->type = 1, __ecereInstance1->__anon1.instance = inst, __ecereInstance1;
 });
 }
 
@@ -3670,7 +3670,7 @@ struct External * MkExternalClass(struct ClassDefinition * _class)
 return __extension__ ({
 struct External * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_External);
 
-__ecereInstance1->type = 2, __ecereInstance1->_class = _class, __ecereInstance1->symbol = _class->symbol, __ecereInstance1;
+__ecereInstance1->type = 2, __ecereInstance1->__anon1._class = _class, __ecereInstance1->symbol = _class->symbol, __ecereInstance1;
 });
 }
 
@@ -3689,7 +3689,7 @@ char typeString[1024];
 typeString[0] = '\0';
 PrintTypeNoConst(type, typeString, 0x0, 0x1);
 id = MkIdentifier(typeString);
-prop->conversion = 0x1;
+prop->__anon1.conversion = 0x1;
 }
 prop->id = id;
 symbol = __extension__ ({
@@ -3710,7 +3710,7 @@ struct ClassDef * MkClassDefProperty(struct PropertyDef * propertyDef)
 return __extension__ ({
 struct ClassDef * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ClassDef);
 
-__ecereInstance1->type = 3, __ecereInstance1->propertyDef = propertyDef, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 3, __ecereInstance1->__anon1.propertyDef = propertyDef, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -3719,7 +3719,7 @@ struct ClassDef * MkClassDefClassProperty(struct PropertyDef * propertyDef)
 return __extension__ ({
 struct ClassDef * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ClassDef);
 
-__ecereInstance1->type = 10, __ecereInstance1->propertyDef = propertyDef, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 10, __ecereInstance1->__anon1.propertyDef = propertyDef, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -3728,7 +3728,7 @@ struct ClassDef * MkClassDefClassPropertyValue(struct Identifier * id, struct In
 return __extension__ ({
 struct ClassDef * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ClassDef);
 
-__ecereInstance1->type = 11, __ecereInstance1->id = id, __ecereInstance1->initializer = initializer, __ecereInstance1->loc = yylloc, __ecereInstance1;
+__ecereInstance1->type = 11, __ecereInstance1->__anon1.__anon1.id = id, __ecereInstance1->__anon1.__anon1.initializer = initializer, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -3945,7 +3945,7 @@ if(!cl)
 cl = __extension__ ({
 struct Symbol * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol);
 
-__ecereInstance1->string = __ecereNameSpace__ecere__sys__CopyString(name), __ecereInstance1->registered = _class, __ecereInstance1->id = (((int)0x7fffffff)), __ecereInstance1->idCode = (((int)0x7fffffff)), __ecereInstance1->imported = 0x1, __ecereInstance1;
+__ecereInstance1->string = __ecereNameSpace__ecere__sys__CopyString(name), __ecereInstance1->__anon1.registered = _class, __ecereInstance1->id = (((int)0x7fffffff)), __ecereInstance1->idCode = (((int)0x7fffffff)), __ecereInstance1->imported = 0x1, __ecereInstance1;
 });
 _class->symbol = cl;
 if(_class->module)
@@ -3985,40 +3985,40 @@ if(src->kind == 15)
 {
 struct __ecereNameSpace__ecere__sys__NamedLink * member;
 
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(&type->members);
-for(member = src->members.first; member; member = member->next)
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(&type->__anon1.__anon1.members);
+for(member = src->__anon1.__anon1.members.first; member; member = member->next)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&type->members, __extension__ ({
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&type->__anon1.__anon1.members, __extension__ ({
 struct __ecereNameSpace__ecere__sys__NamedLink * __ecereInstance1 = __ecereNameSpace__ecere__com__eSystem_New0(structSize_NamedLink);
 
 __ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(member->name), __ecereInstance1->data = member->data, __ecereInstance1;
 }));
 }
-type->enumName = __ecereNameSpace__ecere__sys__CopyString(src->enumName);
+type->__anon1.__anon1.enumName = __ecereNameSpace__ecere__sys__CopyString(src->__anon1.__anon1.enumName);
 }
 else if(src->kind == 9 || src->kind == 10)
 {
 struct Type * member;
 
-for(member = type->members.first; member; member = member->next)
+for(member = type->__anon1.__anon1.members.first; member; member = member->next)
 member->refCount++;
-type->enumName = __ecereNameSpace__ecere__sys__CopyString(src->enumName);
+type->__anon1.__anon1.enumName = __ecereNameSpace__ecere__sys__CopyString(src->__anon1.__anon1.enumName);
 }
 else if(src->kind == 11)
 {
 struct Type * param;
 
-type->returnType->refCount++;
-for(param = type->params.first; param; param = param->next)
+type->__anon1.__anon2.returnType->refCount++;
+for(param = type->__anon1.__anon2.params.first; param; param = param->next)
 param->refCount++;
 }
 else if(src->kind == 13 || src->kind == 12)
 {
-type->type->refCount++;
+type->__anon1.type->refCount++;
 if(src->kind == 12)
 {
-if(type->arraySizeExp)
-type->arraySizeExp = CopyExpression(type->arraySizeExp);
+if(type->__anon1.__anon4.arraySizeExp)
+type->__anon1.__anon4.arraySizeExp = CopyExpression(type->__anon1.__anon4.arraySizeExp);
 }
 }
 }
@@ -4045,20 +4045,20 @@ for(spec = specs->first; spec; spec = spec->next)
 {
 if(spec->type == 5)
 {
-struct ExtDecl * extDecl = spec->extDecl;
+struct ExtDecl * extDecl = spec->__anon1.__anon1.extDecl;
 
 if(extDecl->type == 0)
 {
-char * s = spec->extDecl->s;
+char * s = spec->__anon1.__anon1.extDecl->__anon1.s;
 
-if(!strcmp(spec->extDecl->s, "__declspec(dllexport)") || !strcmp(spec->extDecl->s, "dllexport"))
+if(!strcmp(spec->__anon1.__anon1.extDecl->__anon1.s, "__declspec(dllexport)") || !strcmp(spec->__anon1.__anon1.extDecl->__anon1.s, "dllexport"))
 specType->dllExport = 0x1;
-else if(!strcmp(spec->extDecl->s, "__declspec(stdcall)") || !strcmp(spec->extDecl->s, "stdcall"))
+else if(!strcmp(spec->__anon1.__anon1.extDecl->__anon1.s, "__declspec(stdcall)") || !strcmp(spec->__anon1.__anon1.extDecl->__anon1.s, "stdcall"))
 specType->attrStdcall = 0x1;
 }
 else if(extDecl->type == 1)
 {
-struct __ecereNameSpace__ecere__sys__OldList * attribs = extDecl->attr->attribs;
+struct __ecereNameSpace__ecere__sys__OldList * attribs = extDecl->__anon1.attr->attribs;
 
 if(attribs)
 {
@@ -4080,7 +4080,7 @@ specType->attrStdcall = 0x1;
 specType->keepCast = 0x1;
 }
 }
-if(spec->specifier != CONST && (specType->kind == 9 || specType->kind == 10))
+if(spec->__anon1.specifier != CONST && (specType->kind == 9 || specType->kind == 10))
 {
 FreeType(specType);
 specType = __extension__ ({
@@ -4096,32 +4096,32 @@ return specType;
 }
 else if(spec->type == 0)
 {
-if(spec->specifier == TYPEDEF)
+if(spec->__anon1.specifier == TYPEDEF)
 isTypedef = 0x1;
-else if(spec->specifier == VOID)
+else if(spec->__anon1.specifier == VOID)
 specType->kind = 0;
-else if(spec->specifier == CHAR)
+else if(spec->__anon1.specifier == CHAR)
 specType->kind = 1;
-else if(spec->specifier == INT)
+else if(spec->__anon1.specifier == INT)
 {
 if(specType->kind != 2 && specType->kind != 5 && !isLong)
 specType->kind = 3;
 }
-else if(spec->specifier == _BOOL || spec->specifier == BOOL)
+else if(spec->__anon1.specifier == _BOOL || spec->__anon1.specifier == BOOL)
 specType->kind = 24;
-else if(spec->specifier == UINT)
+else if(spec->__anon1.specifier == UINT)
 {
 if(specType->kind != 2 && specType->kind != 5)
 specType->kind = 3;
 specType->isSigned = 0x0;
 }
-else if(spec->specifier == INT64)
+else if(spec->__anon1.specifier == INT64)
 specType->kind = 4;
-else if(spec->specifier == VALIST)
+else if(spec->__anon1.specifier == VALIST)
 specType->kind = 17;
-else if(spec->specifier == SHORT)
+else if(spec->__anon1.specifier == SHORT)
 specType->kind = 2;
-else if(spec->specifier == LONG)
+else if(spec->__anon1.specifier == LONG)
 {
 if(isLong || (targetBits == 64 && targetPlatform != 1))
 specType->kind = 4;
@@ -4129,19 +4129,19 @@ else
 specType->kind = 3;
 isLong = 0x1;
 }
-else if(spec->specifier == FLOAT)
+else if(spec->__anon1.specifier == FLOAT)
 specType->kind = 6;
-else if(spec->specifier == DOUBLE)
+else if(spec->__anon1.specifier == DOUBLE)
 specType->kind = 7;
-else if(spec->specifier == SIGNED)
+else if(spec->__anon1.specifier == SIGNED)
 specType->isSigned = 0x1;
-else if(spec->specifier == UNSIGNED)
+else if(spec->__anon1.specifier == UNSIGNED)
 specType->isSigned = 0x0;
-else if(spec->specifier == CONST)
+else if(spec->__anon1.specifier == CONST)
 specType->constant = 0x1;
-else if(spec->specifier == TYPED_OBJECT || spec->specifier == ANY_OBJECT || spec->specifier == CLASS)
+else if(spec->__anon1.specifier == TYPED_OBJECT || spec->__anon1.specifier == ANY_OBJECT || spec->__anon1.specifier == CLASS)
 {
-switch(spec->specifier)
+switch(spec->__anon1.specifier)
 {
 case TYPED_OBJECT:
 specType->classObjectType = 2;
@@ -4154,28 +4154,28 @@ specType->classObjectType = 1;
 break;
 }
 specType->kind = 8;
-specType->_class = FindClass("class");
+specType->__anon1._class = FindClass("class");
 }
-else if(spec->specifier == THISCLASS)
+else if(spec->__anon1.specifier == THISCLASS)
 specType->kind = 21;
 }
 else if(spec->type == 1)
 {
-if(spec->name && (!strcmp(spec->name, "intptr") || !strcmp(spec->name, "uintptr")))
+if(spec->__anon1.__anon1.name && (!strcmp(spec->__anon1.__anon1.name, "intptr") || !strcmp(spec->__anon1.__anon1.name, "uintptr")))
 {
 specType->kind = 22;
-if(!strcmp(spec->name, "uintptr"))
+if(!strcmp(spec->__anon1.__anon1.name, "uintptr"))
 specType->isSigned = 0x0;
 }
-else if(spec->name && (!strcmp(spec->name, "uintsize") || !strcmp(spec->name, "intsize")))
+else if(spec->__anon1.__anon1.name && (!strcmp(spec->__anon1.__anon1.name, "uintsize") || !strcmp(spec->__anon1.__anon1.name, "intsize")))
 {
 specType->kind = 23;
-if(!strcmp(spec->name, "uintsize"))
+if(!strcmp(spec->__anon1.__anon1.name, "uintsize"))
 specType->isSigned = 0x0;
 }
 else
 {
-struct Symbol * symbol = spec->name ? FindType(curContext, spec->name) : (((void *)0));
+struct Symbol * symbol = spec->__anon1.__anon1.name ? FindType(curContext, spec->__anon1.__anon1.name) : (((void *)0));
 
 if(symbol && symbol->type)
 {
@@ -4190,9 +4190,9 @@ specType->typeName = __ecereNameSpace__ecere__sys__CopyString(symbol->type->name
 }
 else if(!isTypedef)
 {
-specType->_class = spec->name ? FindClass(spec->name) : (((void *)0));
+specType->__anon1._class = spec->__anon1.__anon1.name ? FindClass(spec->__anon1.__anon1.name) : (((void *)0));
 specType->kind = 8;
-if(!specType->_class)
+if(!specType->__anon1._class)
 specType->kind = 3;
 }
 }
@@ -4200,127 +4200,127 @@ specType->kind = 3;
 else if(spec->type == 2)
 {
 specType->kind = 15;
-specType->enumName = spec->id ? __ecereNameSpace__ecere__sys__CopyString(spec->id->string) : (((void *)0));
-if(spec->list)
+specType->__anon1.__anon1.enumName = spec->__anon1.__anon2.id ? __ecereNameSpace__ecere__sys__CopyString(spec->__anon1.__anon2.id->string) : (((void *)0));
+if(spec->__anon1.__anon2.list)
 {
 struct Enumerator * e;
 int nextValue = 0;
 
-for(e = (*spec->list).first; e; e = e->next)
+for(e = (*spec->__anon1.__anon2.list).first; e; e = e->next)
 {
 struct __ecereNameSpace__ecere__sys__NamedLink * i = (i = __ecereNameSpace__ecere__com__eSystem_New0(structSize_NamedLink), i->name = __ecereNameSpace__ecere__sys__CopyString(e->id->string), i);
 
-if(e->exp && e->exp->type == 2 && e->exp->constant)
-i->data = (void *)strtol(e->exp->constant, (((void *)0)), 0);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&specType->members, i);
+if(e->exp && e->exp->type == 2 && e->exp->__anon1.__anon1.constant)
+i->data = (void *)strtol(e->exp->__anon1.__anon1.constant, (((void *)0)), 0);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&specType->__anon1.__anon1.members, i);
 }
 }
 }
 else if(spec->type == 8)
 {
 specType->kind = 20;
-specType->templateParameter = spec->templateParameter;
+specType->__anon1.templateParameter = spec->__anon1.templateParameter;
 }
 else if(spec->type == 3 || spec->type == 4)
 {
-struct Symbol * _class = spec->id ? FindClass(spec->id->string) : (((void *)0));
+struct Symbol * _class = spec->__anon1.__anon2.id ? FindClass(spec->__anon1.__anon2.id->string) : (((void *)0));
 
 if(_class)
 {
 specType->declaredWithStruct = 0x1;
-if(!_class->registered || _class->registered->type != 1)
+if(!_class->__anon1.registered || _class->__anon1.registered->type != 1)
 specType->directClassAccess = 0x1;
-specType->_class = _class;
+specType->__anon1._class = _class;
 specType->kind = 8;
 break;
 }
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(&specType->members);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(&specType->__anon1.__anon1.members);
 if(spec->type == 3)
 specType->kind = 9;
 else if(spec->type == 4)
 specType->kind = 10;
-if(spec->id)
+if(spec->__anon1.__anon2.id)
 {
-if(!spec->definitions && !isTypedef)
+if(!spec->__anon1.__anon2.definitions && !isTypedef)
 {
-struct Symbol * symbol = spec->id->string ? FindSymbol(spec->id->string, curContext, globalContext, 0x1, 0x0) : (((void *)0));
+struct Symbol * symbol = spec->__anon1.__anon2.id->string ? FindSymbol(spec->__anon1.__anon2.id->string, curContext, globalContext, 0x1, 0x0) : (((void *)0));
 
 if(symbol && symbol->type)
 {
 *specType = *symbol->type;
 specType->name = __ecereNameSpace__ecere__sys__CopyString(symbol->type->name);
-specType->typeName = __ecereNameSpace__ecere__sys__CopyString(spec->name);
-specType->enumName = __ecereNameSpace__ecere__sys__CopyString(symbol->type->enumName);
+specType->typeName = __ecereNameSpace__ecere__sys__CopyString(spec->__anon1.__anon1.name);
+specType->__anon1.__anon1.enumName = __ecereNameSpace__ecere__sys__CopyString(symbol->type->__anon1.__anon1.enumName);
 specType->refCount = 1;
 if(symbol->type->kind == 15)
 {
 struct __ecereNameSpace__ecere__sys__NamedLink * member;
 
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(&specType->members);
-for(member = symbol->type->members.first; member; member = member->next)
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(&specType->__anon1.__anon1.members);
+for(member = symbol->type->__anon1.__anon1.members.first; member; member = member->next)
 {
 struct __ecereNameSpace__ecere__sys__NamedLink * item = (item = __ecereNameSpace__ecere__com__eSystem_New0(structSize_NamedLink), item->name = __ecereNameSpace__ecere__sys__CopyString(member->name), item->data = member->data, item);
 
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&specType->members, item);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&specType->__anon1.__anon1.members, item);
 }
 }
 else if(symbol->type->kind == 9 || symbol->type->kind == 10)
 {
 struct Type * member;
 
-for(member = specType->members.first; member; member = member->next)
+for(member = specType->__anon1.__anon1.members.first; member; member = member->next)
 member->refCount++;
 }
 else if(symbol->type->kind == 11)
 {
 struct Type * param;
 
-specType->returnType->refCount++;
-for(param = specType->params.first; param; param = param->next)
+specType->__anon1.__anon2.returnType->refCount++;
+for(param = specType->__anon1.__anon2.params.first; param; param = param->next)
 param->refCount++;
 }
 else if(symbol->type->kind == 13 || symbol->type->kind == 12)
 {
-specType->type->refCount++;
+specType->__anon1.type->refCount++;
 if(symbol->type->kind == 12)
 {
-if(specType->arraySizeExp)
-specType->arraySizeExp = CopyExpression(specType->arraySizeExp);
+if(specType->__anon1.__anon4.arraySizeExp)
+specType->__anon1.__anon4.arraySizeExp = CopyExpression(specType->__anon1.__anon4.arraySizeExp);
 }
 }
 }
 else
-specType->enumName = __ecereNameSpace__ecere__sys__CopyString(spec->id->string);
+specType->__anon1.__anon1.enumName = __ecereNameSpace__ecere__sys__CopyString(spec->__anon1.__anon2.id->string);
 }
 else
-specType->enumName = __ecereNameSpace__ecere__sys__CopyString(spec->id->string);
+specType->__anon1.__anon1.enumName = __ecereNameSpace__ecere__sys__CopyString(spec->__anon1.__anon2.id->string);
 }
-if(spec->definitions)
+if(spec->__anon1.__anon2.definitions)
 {
 struct ClassDef * def;
 
-for(def = (*spec->definitions).first; def; def = def->next)
+for(def = (*spec->__anon1.__anon2.definitions).first; def; def = def->next)
 {
-if(def->type == 2 && def->decl->type == 0)
+if(def->type == 2 && def->__anon1.decl->type == 0)
 {
-struct Declaration * decl = def->decl;
+struct Declaration * decl = def->__anon1.decl;
 
-if(decl->declarators)
+if(decl->__anon1.__anon1.declarators)
 {
 struct Declarator * d;
 
-for(d = (*decl->declarators).first; d; d = d->next)
+for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
 {
-struct Type * memberType = ProcessType(decl->specifiers, d);
+struct Type * memberType = ProcessType(decl->__anon1.__anon1.specifiers, d);
 
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&specType->members, memberType);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&specType->__anon1.__anon1.members, memberType);
 }
 }
-else if(decl->specifiers)
+else if(decl->__anon1.__anon1.specifiers)
 {
-struct Type * memberType = ProcessType(decl->specifiers, (((void *)0)));
+struct Type * memberType = ProcessType(decl->__anon1.__anon1.specifiers, (((void *)0)));
 
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&specType->members, memberType);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&specType->__anon1.__anon1.members, memberType);
 }
 }
 }
@@ -4329,8 +4329,8 @@ break;
 }
 else if(spec->type == 7)
 {
-specType->kind = specType->kind = 19;
-specType->_class = spec->_class->symbol;
+specType->kind = 19;
+specType->__anon1._class = spec->__anon1._class->__anon1.__anon1.symbol;
 }
 }
 }
@@ -4367,7 +4367,7 @@ break;
 case 6:
 case 7:
 {
-struct ExtDecl * extDecl = decl->extended.extended;
+struct ExtDecl * extDecl = decl->__anon1.extended.extended;
 
 if(extDecl)
 {
@@ -4375,7 +4375,7 @@ switch(extDecl->type)
 {
 case 0:
 {
-char * s = extDecl->s;
+char * s = extDecl->__anon1.s;
 
 if(s)
 {
@@ -4388,7 +4388,7 @@ break;
 }
 case 1:
 {
-struct __ecereNameSpace__ecere__sys__OldList * attribs = extDecl->attr->attribs;
+struct __ecereNameSpace__ecere__sys__OldList * attribs = extDecl->__anon1.attr->attribs;
 
 if(attribs)
 {
@@ -4416,14 +4416,14 @@ break;
 }
 case 0:
 {
-struct Expression * exp = decl->structDecl.exp;
+struct Expression * exp = decl->__anon1.structDecl.exp;
 
 if(exp)
 {
 ProcessExpressionType(exp);
 ComputeExpression(exp);
 if(exp->type == 2)
-type->bitFieldCount = strtoul(exp->constant, (((void *)0)), 0);
+type->bitFieldCount = strtoul(exp->__anon1.__anon1.constant, (((void *)0)), 0);
 }
 break;
 }
@@ -4432,14 +4432,14 @@ case 4:
 type = __extension__ ({
 struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
 
-__ecereInstance1->refCount = 1, __ecereInstance1->kind = 11, __ecereInstance1->returnType = type, __ecereInstance1->dllExport = type->dllExport, __ecereInstance1->attrStdcall = type->attrStdcall, __ecereInstance1;
+__ecereInstance1->refCount = 1, __ecereInstance1->kind = 11, __ecereInstance1->__anon1.__anon2.returnType = type, __ecereInstance1->dllExport = type->dllExport, __ecereInstance1->attrStdcall = type->attrStdcall, __ecereInstance1;
 });
-if(decl->function.parameters)
+if(decl->__anon1.function.parameters)
 {
 struct TypeName * param;
 
-for(param = (*decl->function.parameters).first; param; param = param->next)
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&type->params, ProcessType(param->qualifiers, param->declarator));
+for(param = (*decl->__anon1.function.parameters).first; param; param = param->next)
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&type->__anon1.__anon2.params, ProcessType(param->qualifiers, param->declarator));
 }
 break;
 }
@@ -4448,15 +4448,15 @@ case 3:
 type = __extension__ ({
 struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
 
-__ecereInstance1->refCount = 1, __ecereInstance1->kind = 12, __ecereInstance1->arraySizeExp = CopyExpression(decl->array.exp), __ecereInstance1->freeExp = 0x1, __ecereInstance1->type = type, __ecereInstance1->dllExport = type->dllExport, __ecereInstance1->attrStdcall = type->attrStdcall, __ecereInstance1;
+__ecereInstance1->refCount = 1, __ecereInstance1->kind = 12, __ecereInstance1->__anon1.__anon4.arraySizeExp = CopyExpression(decl->__anon1.array.exp), __ecereInstance1->__anon1.__anon4.freeExp = 0x1, __ecereInstance1->__anon1.type = type, __ecereInstance1->dllExport = type->dllExport, __ecereInstance1->attrStdcall = type->attrStdcall, __ecereInstance1;
 });
-if(decl->array.enumClass)
-type->enumClass = decl->array.enumClass->symbol;
+if(decl->__anon1.array.enumClass)
+type->__anon1.__anon4.enumClass = decl->__anon1.array.enumClass->__anon1.__anon1.symbol;
 break;
 }
 case 5:
 {
-struct Pointer * pointer = decl->pointer.pointer;
+struct Pointer * pointer = decl->__anon1.pointer.pointer;
 
 while(pointer)
 {
@@ -4468,7 +4468,7 @@ else
 type = __extension__ ({
 struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
 
-__ecereInstance1->refCount = 1, __ecereInstance1->kind = 13, __ecereInstance1->type = type, __ecereInstance1->dllExport = type->dllExport, __ecereInstance1->attrStdcall = type->attrStdcall, __ecereInstance1;
+__ecereInstance1->refCount = 1, __ecereInstance1->kind = 13, __ecereInstance1->__anon1.type = type, __ecereInstance1->dllExport = type->dllExport, __ecereInstance1->attrStdcall = type->attrStdcall, __ecereInstance1;
 });
 if(qualifiers)
 {
@@ -4476,7 +4476,7 @@ struct Specifier * spec;
 
 for(spec = (*qualifiers).first; spec; spec = spec->next)
 {
-if(spec->type == 0 && spec->specifier == CONST)
+if(spec->type == 0 && spec->__anon1.specifier == CONST)
 type->constant = 0x1;
 }
 }
@@ -4486,7 +4486,7 @@ break;
 }
 case 1:
 {
-struct Identifier * id = decl->identifier;
+struct Identifier * id = decl->__anon1.identifier;
 struct Specifier * _class = id->_class;
 
 (__ecereNameSpace__ecere__com__eSystem_Delete(type->name), type->name = 0);
@@ -4495,41 +4495,41 @@ if(_class)
 {
 if(_class->type == 8)
 {
-type->thisClassTemplate = _class->templateParameter;
+type->__anon1.__anon2.thisClassTemplate = _class->__anon1.templateParameter;
 type->extraParam = 0x1;
 }
 else
 {
-char * name = _class->name;
+char * name = _class->__anon1.__anon1.name;
 
 if(!name)
-type->staticMethod = 0x1;
+type->__anon1.__anon2.staticMethod = 0x1;
 else
 {
 if(!id->classSym)
-id->classSym = _class->symbol;
+id->classSym = _class->__anon1.__anon1.symbol;
 if(name[strlen(name) - 1] == '&')
 {
-type->thisClass = FindClass("class");
+type->__anon1.__anon2.thisClass = FindClass("class");
 type->byReference = 0x1;
 }
 else
-type->thisClass = _class->symbol;
-if(type->thisClass && strcmp(type->thisClass->string, "class"))
+type->__anon1.__anon2.thisClass = _class->__anon1.__anon1.symbol;
+if(type->__anon1.__anon2.thisClass && strcmp(type->__anon1.__anon2.thisClass->string, "class"))
 type->extraParam = 0x1;
 else if(!strcmp(name, "any_object"))
 {
 type->extraParam = 0x1;
-type->thisClass = FindClass("class");
+type->__anon1.__anon2.thisClass = FindClass("class");
 }
 else if(!strcmp(name, "class"))
 {
-type->thisClass = FindClass("class");
+type->__anon1.__anon2.thisClass = FindClass("class");
 type->classObjectType = 1;
 }
 else if(!strcmp(name, "typed_object") || !strcmp(name, "typed_object&"))
 {
-type->thisClass = FindClass("class");
+type->__anon1.__anon2.thisClass = FindClass("class");
 type->classObjectType = 2;
 }
 }
@@ -4548,10 +4548,10 @@ struct Type * curType = type;
 type = ProcessTypeDecls((((void *)0)), subDecl, type);
 if(curType && type->kind != 11)
 {
-curType->thisClassTemplate = type->thisClassTemplate;
+curType->__anon1.__anon2.thisClassTemplate = type->__anon1.__anon2.thisClassTemplate;
 curType->extraParam = type->extraParam;
-curType->staticMethod = type->staticMethod;
-curType->thisClass = type->thisClass;
+curType->__anon1.__anon2.staticMethod = type->__anon1.__anon2.staticMethod;
+curType->__anon1.__anon2.thisClass = type->__anon1.__anon2.thisClass;
 curType->byReference = type->byReference;
 curType->classObjectType = type->classObjectType;
 }
@@ -4572,8 +4572,8 @@ struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
 struct Declarator * decl = SpecDeclFromString(string, specs, (((void *)0)));
 struct Type * type = ProcessType(specs, decl);
 
-if(type && !type->thisClass && staticMethod)
-type->staticMethod = 0x1;
+if(type && !type->__anon1.__anon2.thisClass && staticMethod)
+type->__anon1.__anon2.staticMethod = 0x1;
 FreeList(specs, FreeSpecifier);
 if(decl)
 FreeDeclarator(decl);
@@ -4584,9 +4584,9 @@ struct Type * MkClassTypeSymbol(struct Symbol * symbol)
 {
 if(symbol)
 {
-struct Type * type = (type = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type), type->kind = 8, type->_class = symbol, type);
+struct Type * type = (type = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type), type->kind = 8, type->__anon1._class = symbol, type);
 
-if(!type->_class)
+if(!type->__anon1._class)
 {
 type->kind = 3;
 }
@@ -4600,9 +4600,9 @@ struct Type * MkClassType(const char * name)
 {
 if(name)
 {
-struct Type * type = (type = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type), type->kind = 8, type->_class = FindClass(name), type);
+struct Type * type = (type = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type), type->kind = 8, type->__anon1._class = FindClass(name), type);
 
-if(!type->_class)
+if(!type->__anon1._class)
 {
 type->kind = 3;
 }
@@ -4626,7 +4626,7 @@ struct Statement * MkAsmStmt(struct Specifier * spec, char * statements, struct
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 13, __ecereInstance1->asmStmt.spec = spec, __ecereInstance1->asmStmt.statements = statements, __ecereInstance1->asmStmt.inputFields = inputFields, __ecereInstance1->asmStmt.outputFields = outputFields, __ecereInstance1->asmStmt.clobberedFields = clobberedFields, __ecereInstance1;
+__ecereInstance1->type = 13, __ecereInstance1->__anon1.asmStmt.spec = spec, __ecereInstance1->__anon1.asmStmt.statements = statements, __ecereInstance1->__anon1.asmStmt.inputFields = inputFields, __ecereInstance1->__anon1.asmStmt.outputFields = outputFields, __ecereInstance1->__anon1.asmStmt.clobberedFields = clobberedFields, __ecereInstance1;
 });
 }
 
@@ -4635,7 +4635,7 @@ struct ClassDef * MkClassDefPropertyWatch(struct PropertyWatch * watcher)
 return __extension__ ({
 struct ClassDef * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ClassDef);
 
-__ecereInstance1->type = 4, __ecereInstance1->propertyWatch = watcher, __ecereInstance1;
+__ecereInstance1->type = 4, __ecereInstance1->__anon1.propertyWatch = watcher, __ecereInstance1;
 });
 }
 
@@ -4644,7 +4644,7 @@ struct Statement * MkFireWatchersStmt(struct Expression * object, struct __ecere
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 15, __ecereInstance1->_watch.object = object, __ecereInstance1->_watch.watches = watches, __ecereInstance1;
+__ecereInstance1->type = 15, __ecereInstance1->__anon1._watch.object = object, __ecereInstance1->__anon1._watch.watches = watches, __ecereInstance1;
 });
 }
 
@@ -4653,7 +4653,7 @@ struct Statement * MkStopWatchingStmt(struct Expression * watcher, struct Expres
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 16, __ecereInstance1->_watch.watcher = watcher, __ecereInstance1->_watch.object = object, __ecereInstance1->_watch.watches = watches, __ecereInstance1;
+__ecereInstance1->type = 16, __ecereInstance1->__anon1._watch.watcher = watcher, __ecereInstance1->__anon1._watch.object = object, __ecereInstance1->__anon1._watch.watches = watches, __ecereInstance1;
 });
 }
 
@@ -4662,7 +4662,7 @@ struct Statement * MkWatchStmt(struct Expression * watcher, struct Expression *
 return __extension__ ({
 struct Statement * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Statement);
 
-__ecereInstance1->type = 17, __ecereInstance1->_watch.watcher = watcher, __ecereInstance1->_watch.object = object, __ecereInstance1->_watch.watches = watches, __ecereInstance1;
+__ecereInstance1->type = 17, __ecereInstance1->__anon1._watch.watcher = watcher, __ecereInstance1->__anon1._watch.object = object, __ecereInstance1->__anon1._watch.watches = watches, __ecereInstance1;
 });
 }
 
@@ -4689,7 +4689,7 @@ struct Expression * MkExpClass(struct __ecereNameSpace__ecere__sys__OldList * sp
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 24, __ecereInstance1->_classExp.specifiers = specifiers, __ecereInstance1->_classExp.decl = decl, __ecereInstance1;
+__ecereInstance1->type = 24, __ecereInstance1->__anon1._classExp.specifiers = specifiers, __ecereInstance1->__anon1._classExp.decl = decl, __ecereInstance1;
 });
 }
 
@@ -4698,7 +4698,7 @@ struct Expression * MkExpClassData(struct Identifier * id)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 25, __ecereInstance1->classData.id = id, __ecereInstance1;
+__ecereInstance1->type = 25, __ecereInstance1->__anon1.classData.id = id, __ecereInstance1;
 });
 }
 
@@ -4707,7 +4707,7 @@ struct External * MkExternalDBTable(struct DBTableDef * table)
 return __extension__ ({
 struct External * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_External);
 
-__ecereInstance1->type = 5, __ecereInstance1->table = table, __ecereInstance1;
+__ecereInstance1->type = 5, __ecereInstance1->__anon1.table = table, __ecereInstance1;
 });
 }
 
@@ -4725,7 +4725,7 @@ struct DBTableEntry * MkDBFieldEntry(struct TypeName * type, struct Identifier *
 return __extension__ ({
 struct DBTableEntry * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_DBTableEntry);
 
-__ecereInstance1->type = 0, __ecereInstance1->dataType = type, __ecereInstance1->id = id, __ecereInstance1->name = name, __ecereInstance1;
+__ecereInstance1->type = 0, __ecereInstance1->__anon1.__anon1.dataType = type, __ecereInstance1->id = id, __ecereInstance1->__anon1.__anon1.name = name, __ecereInstance1;
 });
 }
 
@@ -4743,7 +4743,7 @@ struct DBTableEntry * MkDBIndexEntry(struct __ecereNameSpace__ecere__sys__OldLis
 return __extension__ ({
 struct DBTableEntry * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_DBTableEntry);
 
-__ecereInstance1->type = 1, __ecereInstance1->items = items, __ecereInstance1->id = id, __ecereInstance1;
+__ecereInstance1->type = 1, __ecereInstance1->__anon1.items = items, __ecereInstance1->id = id, __ecereInstance1;
 });
 }
 
@@ -4752,7 +4752,7 @@ struct Expression * MkExpDBOpen(struct Expression * ds, struct Expression * dbNa
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 28, __ecereInstance1->dbopen.ds = ds, __ecereInstance1->dbopen.name = dbName, __ecereInstance1;
+__ecereInstance1->type = 28, __ecereInstance1->__anon1.dbopen.ds = ds, __ecereInstance1->__anon1.dbopen.name = dbName, __ecereInstance1;
 });
 }
 
@@ -4761,7 +4761,7 @@ struct Expression * MkExpDBField(char * table, struct Identifier * id)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 29, __ecereInstance1->db.table = table, __ecereInstance1->db.id = id, __ecereInstance1;
+__ecereInstance1->type = 29, __ecereInstance1->__anon1.db.table = table, __ecereInstance1->__anon1.db.id = id, __ecereInstance1;
 });
 }
 
@@ -4770,7 +4770,7 @@ struct Expression * MkExpDBIndex(char * table, struct Identifier * id)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 31, __ecereInstance1->db.table = table, __ecereInstance1->db.id = id, __ecereInstance1;
+__ecereInstance1->type = 31, __ecereInstance1->__anon1.db.table = table, __ecereInstance1->__anon1.db.id = id, __ecereInstance1;
 });
 }
 
@@ -4779,7 +4779,7 @@ struct Expression * MkExpDBTable(char * table)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 30, __ecereInstance1->db.table = table, __ecereInstance1;
+__ecereInstance1->type = 30, __ecereInstance1->__anon1.db.table = table, __ecereInstance1;
 });
 }
 
@@ -4788,7 +4788,7 @@ struct Expression * MkExpArray(struct __ecereNameSpace__ecere__sys__OldList * ex
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 35, __ecereInstance1->list = expressions, __ecereInstance1;
+__ecereInstance1->type = 35, __ecereInstance1->__anon1.list = expressions, __ecereInstance1;
 });
 }
 
@@ -4803,7 +4803,7 @@ extern void DeclareClass(struct Symbol * classSym, const char *  className);
 struct Expression * GetTemplateArgExpByName(const char * paramName, struct __ecereNameSpace__ecere__com__Class * curClass, int tplType)
 {
 struct Expression * argExp = (((void *)0));
-struct __ecereNameSpace__ecere__com__Class * _class = curClass ? curClass : ((curExternal && curExternal->type == 0 && curExternal->function) ? curExternal->function->_class : (((void *)0)));
+struct __ecereNameSpace__ecere__com__Class * _class = curClass ? curClass : ((curExternal && curExternal->type == 0 && curExternal->__anon1.function) ? curExternal->__anon1.function->_class : (((void *)0)));
 
 if(_class)
 {
index e968f0b..c5683df 100644 (file)
@@ -149,7 +149,7 @@ union
 {
 char * s;
 struct Attrib * attr;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefinition;
@@ -193,14 +193,14 @@ struct
 {
 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;
@@ -288,7 +288,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -316,7 +316,7 @@ union
 {
 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));
@@ -338,7 +338,7 @@ float f;
 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;
@@ -355,14 +355,14 @@ struct
 {
 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
 {
@@ -441,7 +441,7 @@ 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;
@@ -487,7 +487,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -497,11 +497,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -564,7 +564,7 @@ struct
 {
 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;
@@ -602,7 +602,7 @@ union
 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
@@ -611,20 +611,20 @@ struct
 {
 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;
@@ -667,7 +667,7 @@ struct
 {
 struct __ecereNameSpace__ecere__sys__OldList members;
 char *  enumName;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Type * returnType;
@@ -675,13 +675,13 @@ struct __ecereNameSpace__ecere__sys__OldList params;
 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;
@@ -689,10 +689,10 @@ int arraySize;
 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;
@@ -846,7 +846,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -856,9 +856,9 @@ 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));
 
 extern struct Identifier * MkIdentifier(const char *  string);
@@ -915,9 +915,9 @@ struct Initializer * copy = (((void *)0));
 
 ;
 if(initializer->type == 0)
-copy = MkInitializerAssignment(CopyExpression(initializer->exp));
+copy = MkInitializerAssignment(CopyExpression(initializer->__anon1.exp));
 else if(initializer->type == 1)
-copy = MkInitializerList(CopyList(initializer->list, CopyInitializer));
+copy = MkInitializerList(CopyList(initializer->__anon1.list, CopyInitializer));
 if(copy)
 {
 copy->loc = initializer->loc;
@@ -966,7 +966,7 @@ union
 {
 struct __ecereNameSpace__ecere__sys__OldList *  dataMembers;
 struct ClassFunction * function;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct MembersInit * MkMembersInitList(struct __ecereNameSpace__ecere__sys__OldList * dataMembers);
@@ -984,7 +984,7 @@ if(members)
 struct MemberInit * member;
 
 list = MkList();
-for(member = (*members->dataMembers).first; member; member = member->next)
+for(member = (*members->__anon1.dataMembers).first; member; member = member->next)
 ListAdd(list, CopyMemberInit(member));
 }
 }
@@ -1011,8 +1011,8 @@ copy = MkInstantiation(CopySpecifier(inst->_class), CopyExpression(inst->exp), l
 copy->data = inst->data;
 if(inst->data)
 {
-struct Symbol * classSym = FindClass(inst->_class->name);
-struct __ecereNameSpace__ecere__com__Class * _class = classSym ? classSym->registered : (((void *)0));
+struct Symbol * classSym = FindClass(inst->_class->__anon1.__anon1.name);
+struct __ecereNameSpace__ecere__com__Class * _class = classSym ? classSym->__anon1.registered : (((void *)0));
 
 if(_class)
 {
@@ -1080,26 +1080,26 @@ case 16:
 result = MkExpDummy();
 break;
 case 0:
-result = MkExpIdentifier(CopyIdentifier(exp->identifier));
+result = MkExpIdentifier(CopyIdentifier(exp->__anon1.__anon1.identifier));
 break;
 case 1:
-result = MkExpInstance(CopyInstantiation(exp->instance));
+result = MkExpInstance(CopyInstantiation(exp->__anon1.instance));
 break;
 case 2:
-result = MkExpConstant(exp->string);
+result = MkExpConstant(exp->__anon1.__anon2.string);
 break;
 case 3:
-result = MkExpString(exp->string);
+result = MkExpString(exp->__anon1.__anon2.string);
 break;
 case 4:
-result = MkExpOp(CopyExpression(exp->op.exp1), exp->op.op, CopyExpression(exp->op.exp2));
+result = MkExpOp(CopyExpression(exp->__anon1.op.exp1), exp->__anon1.op.op, CopyExpression(exp->__anon1.op.exp2));
 break;
 case 5:
 {
 struct __ecereNameSpace__ecere__sys__OldList * list = MkList();
 struct Expression * e;
 
-for(e = (*exp->list).first; e; e = e->next)
+for(e = (*exp->__anon1.list).first; e; e = e->next)
 ListAdd(list, CopyExpression(e));
 result = MkExpBrackets(list);
 break;
@@ -1109,9 +1109,9 @@ case 6:
 struct __ecereNameSpace__ecere__sys__OldList * list = MkList();
 struct Expression * e;
 
-for(e = (*exp->index.index).first; e; e = e->next)
+for(e = (*exp->__anon1.index.index).first; e; e = e->next)
 ListAdd(list, CopyExpression(e));
-result = MkExpIndex(CopyExpression(exp->index.exp), list);
+result = MkExpIndex(CopyExpression(exp->__anon1.index.exp), list);
 break;
 }
 case 7:
@@ -1119,52 +1119,52 @@ case 7:
 struct __ecereNameSpace__ecere__sys__OldList * list = MkList();
 struct Expression * arg;
 
-if(exp->call.arguments)
+if(exp->__anon1.call.arguments)
 {
-for(arg = (*exp->call.arguments).first; arg; arg = arg->next)
+for(arg = (*exp->__anon1.call.arguments).first; arg; arg = arg->next)
 ListAdd(list, CopyExpression(arg));
 }
-result = MkExpCall(CopyExpression(exp->call.exp), list);
+result = MkExpCall(CopyExpression(exp->__anon1.call.exp), list);
 break;
 }
 case 8:
-result = MkExpMember(CopyExpression(exp->member.exp), CopyIdentifier(exp->member.member));
-result->member.memberType = exp->member.memberType;
-result->member.thisPtr = exp->member.thisPtr;
+result = MkExpMember(CopyExpression(exp->__anon1.member.exp), CopyIdentifier(exp->__anon1.member.member));
+result->__anon1.member.memberType = exp->__anon1.member.memberType;
+result->__anon1.member.thisPtr = exp->__anon1.member.thisPtr;
 break;
 case 9:
-result = MkExpPointer(CopyExpression(exp->member.exp), CopyIdentifier(exp->member.member));
+result = MkExpPointer(CopyExpression(exp->__anon1.member.exp), CopyIdentifier(exp->__anon1.member.member));
 break;
 case 10:
-result = MkExpTypeSize(CopyTypeName(exp->typeName));
+result = MkExpTypeSize(CopyTypeName(exp->__anon1.typeName));
 break;
 case 36:
-result = MkExpTypeAlign(CopyTypeName(exp->typeName));
+result = MkExpTypeAlign(CopyTypeName(exp->__anon1.typeName));
 break;
 case 11:
-result = MkExpCast(CopyTypeName(exp->cast.typeName), CopyExpression(exp->cast.exp));
+result = MkExpCast(CopyTypeName(exp->__anon1.cast.typeName), CopyExpression(exp->__anon1.cast.exp));
 break;
 case 12:
 {
 struct __ecereNameSpace__ecere__sys__OldList * list = MkList();
 struct Expression * e;
 
-for(e = (*exp->cond.exp).first; e; e = e->next)
+for(e = (*exp->__anon1.cond.exp).first; e; e = e->next)
 ListAdd(list, CopyExpression(e));
-result = MkExpCondition(CopyExpression(exp->cond.cond), list, CopyExpression(exp->cond.elseExp));
+result = MkExpCondition(CopyExpression(exp->__anon1.cond.cond), list, CopyExpression(exp->__anon1.cond.elseExp));
 break;
 }
 case 34:
-result = MkExpVaArg(CopyExpression(exp->vaArg.exp), CopyTypeName(exp->vaArg.typeName));
+result = MkExpVaArg(CopyExpression(exp->__anon1.vaArg.exp), CopyTypeName(exp->__anon1.vaArg.typeName));
 break;
 case 23:
-result = MkExpExtensionCompound(CopyStatement(exp->compound));
+result = MkExpExtensionCompound(CopyStatement(exp->__anon1.compound));
 break;
 case 33:
-result = MkExpExtensionInitializer(CopyTypeName(exp->initializer.typeName), CopyInitializer(exp->initializer.initializer));
+result = MkExpExtensionInitializer(CopyTypeName(exp->__anon1.initializer.typeName), CopyInitializer(exp->__anon1.initializer.initializer));
 break;
 case 24:
-result = MkExpClass(CopyList(exp->_classExp.specifiers, CopySpecifier), CopyDeclarator(exp->_classExp.decl));
+result = MkExpClass(CopyList(exp->__anon1._classExp.specifiers, CopySpecifier), CopyDeclarator(exp->__anon1._classExp.decl));
 break;
 }
 if(result)
@@ -1202,14 +1202,14 @@ if(stmt)
 switch(stmt->type)
 {
 case 2:
-result = MkCompoundStmt(CopyList(stmt->compound.declarations, CopyDeclaration), CopyList(stmt->compound.statements, CopyStatement));
-result->compound.context = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
+result = MkCompoundStmt(CopyList(stmt->__anon1.compound.declarations, CopyDeclaration), CopyList(stmt->__anon1.compound.statements, CopyStatement));
+result->__anon1.compound.context = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 break;
 case 3:
-result = MkExpressionStmt(CopyList(stmt->expressions, CopyExpression));
+result = MkExpressionStmt(CopyList(stmt->__anon1.expressions, CopyExpression));
 break;
 case 14:
-result = MkBadDeclStmt(CopyDeclaration(stmt->decl));
+result = MkBadDeclStmt(CopyDeclaration(stmt->__anon1.decl));
 break;
 }
 }
@@ -1267,8 +1267,8 @@ struct
 {
 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));
@@ -1284,7 +1284,7 @@ return (((void *)0));
 case 1:
 return (((void *)0));
 case 2:
-return MkClassDefDeclaration(CopyDeclaration(def->decl));
+return MkClassDefDeclaration(CopyDeclaration(def->__anon1.decl));
 case 3:
 return (((void *)0));
 }
@@ -1311,16 +1311,16 @@ if(spec)
 switch(spec->type)
 {
 case 0:
-return MkSpecifier(spec->specifier);
+return MkSpecifier(spec->__anon1.specifier);
 case 2:
 {
-struct Identifier * id = CopyIdentifier(spec->id);
+struct Identifier * id = CopyIdentifier(spec->__anon1.__anon2.id);
 struct __ecereNameSpace__ecere__sys__OldList * list = MkList();
 struct Enumerator * enumerator;
 
-if(spec->list)
+if(spec->__anon1.__anon2.list)
 {
-for(enumerator = (*spec->list).first; enumerator; enumerator = enumerator->next)
+for(enumerator = (*spec->__anon1.__anon2.list).first; enumerator; enumerator = enumerator->next)
 ListAdd(list, CopyEnumerator(enumerator));
 }
 return MkEnum(id, list);
@@ -1328,40 +1328,40 @@ return MkEnum(id, list);
 case 3:
 case 4:
 {
-struct Identifier * id = CopyIdentifier(spec->id);
+struct Identifier * id = CopyIdentifier(spec->__anon1.__anon2.id);
 struct __ecereNameSpace__ecere__sys__OldList * list = (((void *)0));
 struct ClassDef * def;
 struct Specifier * s;
 
-if(spec->definitions)
+if(spec->__anon1.__anon2.definitions)
 {
 list = MkList();
-if(spec->list)
+if(spec->__anon1.__anon2.list)
 {
-for(def = (*spec->list).first; def; def = def->next)
+for(def = (*spec->__anon1.__anon2.list).first; def; def = def->next)
 ListAdd(list, CopyClassDef(def));
 }
 }
 s = MkStructOrUnion(spec->type, id, list);
-s->extDeclStruct = CopyExtDecl(spec->extDeclStruct);
+s->__anon1.__anon2.extDeclStruct = CopyExtDecl(spec->__anon1.__anon2.extDeclStruct);
 return s;
 }
 case 1:
 {
-struct Specifier * copy = (copy = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Specifier), copy->type = 1, copy->name = __ecereNameSpace__ecere__sys__CopyString(spec->name), copy->symbol = spec->symbol, copy->templateArgs = (((void *)0)), copy);
+struct Specifier * copy = (copy = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Specifier), copy->type = 1, copy->__anon1.__anon1.name = __ecereNameSpace__ecere__sys__CopyString(spec->__anon1.__anon1.name), copy->__anon1.__anon1.symbol = spec->__anon1.__anon1.symbol, copy->__anon1.__anon1.templateArgs = (((void *)0)), copy);
 
 return copy;
 }
 case 7:
-return MkSpecifierSubClass(CopySpecifier(spec->_class));
+return MkSpecifierSubClass(CopySpecifier(spec->__anon1._class));
 case 8:
 return __extension__ ({
 struct Specifier * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Specifier);
 
-__ecereInstance1->loc = spec->loc, __ecereInstance1->type = 8, __ecereInstance1->templateParameter = spec->templateParameter, __ecereInstance1;
+__ecereInstance1->loc = spec->loc, __ecereInstance1->type = 8, __ecereInstance1->__anon1.templateParameter = spec->__anon1.templateParameter, __ecereInstance1;
 });
 case 5:
-return MkSpecifierExtended(CopyExtDecl(spec->extDecl));
+return MkSpecifierExtended(CopyExtDecl(spec->__anon1.__anon1.extDecl));
 }
 return (((void *)0));
 }
@@ -1397,9 +1397,9 @@ struct ExtDecl * CopyExtDecl(struct ExtDecl * extDecl)
 if(extDecl)
 {
 if(extDecl->type == 1)
-return MkExtDeclAttrib(CopyAttrib(extDecl->attr));
+return MkExtDeclAttrib(CopyAttrib(extDecl->__anon1.attr));
 else if(extDecl->type == 0)
-return MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(extDecl->s));
+return MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(extDecl->__anon1.s));
 }
 return (((void *)0));
 }
@@ -1459,39 +1459,39 @@ switch(declarator->type)
 {
 case 0:
 {
-struct Declarator * decl = MkStructDeclarator(CopyDeclarator(declarator->declarator), CopyExpression(declarator->structDecl.exp));
+struct Declarator * decl = MkStructDeclarator(CopyDeclarator(declarator->declarator), CopyExpression(declarator->__anon1.structDecl.exp));
 
-if(declarator->structDecl.attrib)
-decl->structDecl.attrib = CopyAttrib(declarator->structDecl.attrib);
+if(declarator->__anon1.structDecl.attrib)
+decl->__anon1.structDecl.attrib = CopyAttrib(declarator->__anon1.structDecl.attrib);
 return decl;
 }
 case 1:
-return MkDeclaratorIdentifier(CopyIdentifier(declarator->identifier));
+return MkDeclaratorIdentifier(CopyIdentifier(declarator->__anon1.identifier));
 case 2:
 return MkDeclaratorBrackets(CopyDeclarator(declarator->declarator));
 case 3:
-if(declarator->array.enumClass)
-return MkDeclaratorEnumArray(CopyDeclarator(declarator->declarator), CopySpecifier(declarator->array.enumClass));
+if(declarator->__anon1.array.enumClass)
+return MkDeclaratorEnumArray(CopyDeclarator(declarator->declarator), CopySpecifier(declarator->__anon1.array.enumClass));
 else
-return MkDeclaratorArray(CopyDeclarator(declarator->declarator), CopyExpression(declarator->array.exp));
+return MkDeclaratorArray(CopyDeclarator(declarator->declarator), CopyExpression(declarator->__anon1.array.exp));
 case 4:
 {
 struct __ecereNameSpace__ecere__sys__OldList * parameters = MkList();
 struct TypeName * param;
 
-if(declarator->function.parameters)
+if(declarator->__anon1.function.parameters)
 {
-for(param = (*declarator->function.parameters).first; param; param = param->next)
+for(param = (*declarator->__anon1.function.parameters).first; param; param = param->next)
 ListAdd(parameters, CopyTypeName(param));
 }
 return MkDeclaratorFunction(CopyDeclarator(declarator->declarator), parameters);
 }
 case 5:
-return MkDeclaratorPointer(CopyPointer(declarator->pointer.pointer), CopyDeclarator(declarator->declarator));
+return MkDeclaratorPointer(CopyPointer(declarator->__anon1.pointer.pointer), CopyDeclarator(declarator->declarator));
 case 6:
-return MkDeclaratorExtended(CopyExtDecl(declarator->extended.extended), CopyDeclarator(declarator->declarator));
+return MkDeclaratorExtended(CopyExtDecl(declarator->__anon1.extended.extended), CopyDeclarator(declarator->declarator));
 case 7:
-return MkDeclaratorExtendedEnd(CopyExtDecl(declarator->extended.extended), CopyDeclarator(declarator->declarator));
+return MkDeclaratorExtendedEnd(CopyExtDecl(declarator->__anon1.extended.extended), CopyDeclarator(declarator->declarator));
 }
 }
 return (((void *)0));
@@ -1521,7 +1521,7 @@ struct Declaration * CopyDeclaration(struct Declaration * decl)
 {
 if(decl->type == 1)
 {
-return MkDeclaration(CopyList(decl->specifiers, CopySpecifier), CopyList(decl->declarators, CopyInitDeclarator));
+return MkDeclaration(CopyList(decl->__anon1.__anon1.specifiers, CopySpecifier), CopyList(decl->__anon1.__anon1.declarators, CopyInitDeclarator));
 }
 else
 {
@@ -1529,11 +1529,11 @@ struct __ecereNameSpace__ecere__sys__OldList * specifiers = MkList(), * declarat
 struct Specifier * spec;
 struct Declarator * declarator;
 
-for(spec = (*decl->specifiers).first; spec; spec = spec->next)
+for(spec = (*decl->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
 ListAdd(specifiers, CopySpecifier(spec));
-if(decl->declarators)
+if(decl->__anon1.__anon1.declarators)
 {
-for(declarator = (*decl->declarators).first; declarator; declarator = declarator->next)
+for(declarator = (*decl->__anon1.__anon1.declarators).first; declarator; declarator = declarator->next)
 ListAdd(declarators, CopyDeclarator(declarator));
 }
 return MkDeclaration(specifiers, declarators);
index 8a720b4..1eadf87 100644 (file)
@@ -206,14 +206,14 @@ struct
 {
 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;
@@ -301,7 +301,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -329,7 +329,7 @@ union
 {
 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));
@@ -351,7 +351,7 @@ float f;
 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;
@@ -368,14 +368,14 @@ struct
 {
 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
 {
@@ -454,7 +454,7 @@ 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;
@@ -500,7 +500,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -510,11 +510,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -585,7 +585,7 @@ struct Declaration * declaration;
 char *  importString;
 struct Identifier * id;
 struct DBTableDef * table;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 int importType;
 } __attribute__ ((gcc_struct));
 
@@ -612,7 +612,7 @@ union
 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
@@ -621,20 +621,20 @@ struct
 {
 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;
@@ -677,7 +677,7 @@ struct
 {
 struct __ecereNameSpace__ecere__sys__OldList members;
 char *  enumName;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Type * returnType;
@@ -685,13 +685,13 @@ struct __ecereNameSpace__ecere__sys__OldList params;
 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;
@@ -699,10 +699,10 @@ int arraySize;
 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;
@@ -856,7 +856,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -866,9 +866,9 @@ 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));
 
 enum yytokentype
@@ -977,7 +977,7 @@ union
 {
 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;
@@ -1015,7 +1015,7 @@ struct
 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;
@@ -1051,8 +1051,8 @@ struct
 {
 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));
@@ -1071,9 +1071,9 @@ struct
 {
 struct TypeName * dataType;
 char *  name;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__sys__OldList *  items;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBIndexItem;
@@ -1116,45 +1116,45 @@ case 2:
 case 3:
 case 4:
 {
-if(spec->definitions)
+if(spec->__anon1.__anon2.definitions)
 {
 struct ClassDef * def;
 
-for(def = (*spec->definitions).first; def; def = def->next)
+for(def = (*spec->__anon1.__anon2.definitions).first; def; def = def->next)
 {
 switch(def->type)
 {
 case 2:
-ProcessDeclaration(def->decl);
+ProcessDeclaration(def->__anon1.decl);
 break;
 case 1:
 {
 struct MemberInit * init;
 
-for(init = (*def->defProperties).first; init; init = init->next)
+for(init = (*def->__anon1.defProperties).first; init; init = init->next)
 {
 ProcessMemberInit(init);
 }
 break;
 }
 case 0:
-ProcessClassFunction(def->function);
+ProcessClassFunction(def->__anon1.function);
 break;
 case 3:
-if(def->propertyDef)
+if(def->__anon1.propertyDef)
 {
-ProcessProperty(def->propertyDef);
+ProcessProperty(def->__anon1.propertyDef);
 }
 break;
 case 4:
-if(def->propertyWatch && def->propertyWatch->compound)
+if(def->__anon1.propertyWatch && def->__anon1.propertyWatch->compound)
 {
-ProcessStatement(def->propertyWatch->compound);
+ProcessStatement(def->__anon1.propertyWatch->compound);
 }
 break;
 case 11:
-if(def->initializer)
-ProcessInitializer(def->initializer);
+if(def->__anon1.__anon1.initializer)
+ProcessInitializer(def->__anon1.__anon1.initializer);
 break;
 }
 }
@@ -1237,37 +1237,37 @@ static void ProcessExpression(struct Expression * exp)
 switch(exp->type)
 {
 case 13:
-ProcessExpression(exp->_new.size);
+ProcessExpression(exp->__anon1._new.size);
 break;
 case 14:
-ProcessExpression(exp->_renew.exp);
-ProcessExpression(exp->_renew.size);
+ProcessExpression(exp->__anon1._renew.exp);
+ProcessExpression(exp->__anon1._renew.size);
 break;
 case 2:
 break;
 case 0:
-ProcessIdentifier(exp->identifier);
+ProcessIdentifier(exp->__anon1.__anon1.identifier);
 break;
 case 1:
-ProcessInstance(exp->instance);
+ProcessInstance(exp->__anon1.instance);
 break;
 case 3:
 break;
 case 4:
-if(exp->op.exp1)
+if(exp->__anon1.op.exp1)
 {
-ProcessExpression(exp->op.exp1);
+ProcessExpression(exp->__anon1.op.exp1);
 }
-if(exp->op.exp2)
+if(exp->__anon1.op.exp2)
 {
-ProcessExpression(exp->op.exp2);
+ProcessExpression(exp->__anon1.op.exp2);
 }
 break;
 case 5:
 {
 struct Expression * expression;
 
-for(expression = (*exp->list).first; expression; expression = expression->next)
+for(expression = (*exp->__anon1.list).first; expression; expression = expression->next)
 {
 ProcessExpression(expression);
 }
@@ -1277,8 +1277,8 @@ case 6:
 {
 struct Expression * expression;
 
-ProcessExpression(exp->index.exp);
-for(expression = (*exp->index.index).first; expression; expression = expression->next)
+ProcessExpression(exp->__anon1.index.exp);
+for(expression = (*exp->__anon1.index.index).first; expression; expression = expression->next)
 {
 ProcessExpression(expression);
 }
@@ -1286,12 +1286,12 @@ break;
 }
 case 7:
 {
-ProcessExpression(exp->call.exp);
-if(exp->call.arguments)
+ProcessExpression(exp->__anon1.call.exp);
+if(exp->__anon1.call.arguments)
 {
 struct Expression * expression;
 
-for(expression = (*exp->call.arguments).first; expression; expression = expression->next)
+for(expression = (*exp->__anon1.call.arguments).first; expression; expression = expression->next)
 {
 ProcessExpression(expression);
 }
@@ -1299,27 +1299,27 @@ ProcessExpression(expression);
 break;
 }
 case 8:
-ProcessExpression(exp->member.exp);
+ProcessExpression(exp->__anon1.member.exp);
 break;
 case 9:
-ProcessExpression(exp->member.exp);
+ProcessExpression(exp->__anon1.member.exp);
 break;
 case 10:
 break;
 case 11:
-ProcessExpression(exp->cast.exp);
+ProcessExpression(exp->__anon1.cast.exp);
 break;
 case 12:
-ProcessExpression(exp->cond.cond);
+ProcessExpression(exp->__anon1.cond.cond);
 {
 struct Expression * expression;
 
-for(expression = (*exp->cond.exp).first; expression; expression = expression->next)
+for(expression = (*exp->__anon1.cond.exp).first; expression; expression = expression->next)
 {
 ProcessExpression(expression);
 }
 }
-ProcessExpression(exp->cond.elseExp);
+ProcessExpression(exp->__anon1.cond.elseExp);
 break;
 case 16:
 break;
@@ -1327,45 +1327,45 @@ case 29:
 {
 char tableName[1024];
 char name[1024];
-int len = strlen(exp->db.table);
+int len = strlen(exp->__anon1.db.table);
 
-memcpy(tableName, exp->db.table + 1, len - 2);
+memcpy(tableName, exp->__anon1.db.table + 1, len - 2);
 tableName[len - 2] = (char)0;
 __ecereNameSpace__ecere__sys__ChangeCh(tableName, ' ', '_');
-sprintf(name, "__ecereDBField_%s_%s", tableName, exp->db.id->string);
+sprintf(name, "__ecereDBField_%s_%s", tableName, exp->__anon1.db.id->string);
 FreeExpContents(exp);
 exp->type = 0;
-exp->identifier = MkIdentifier(name);
+exp->__anon1.__anon1.identifier = MkIdentifier(name);
 break;
 }
 case 30:
 {
 char tableName[1024];
 char name[1024];
-int len = strlen(exp->db.table);
+int len = strlen(exp->__anon1.db.table);
 
-memcpy(tableName, exp->db.table + 1, len - 2);
+memcpy(tableName, exp->__anon1.db.table + 1, len - 2);
 tableName[len - 2] = (char)0;
 __ecereNameSpace__ecere__sys__ChangeCh(tableName, ' ', '_');
 sprintf(name, "__ecereDBTable_%s", tableName);
 FreeExpContents(exp);
 exp->type = 0;
-exp->identifier = MkIdentifier(name);
+exp->__anon1.__anon1.identifier = MkIdentifier(name);
 break;
 }
 case 31:
 {
 char tableName[1024];
 char name[1024];
-int len = strlen(exp->db.table);
+int len = strlen(exp->__anon1.db.table);
 
-memcpy(tableName, exp->db.table + 1, len - 2);
+memcpy(tableName, exp->__anon1.db.table + 1, len - 2);
 tableName[len - 2] = (char)0;
 __ecereNameSpace__ecere__sys__ChangeCh(tableName, ' ', '_');
-sprintf(name, "__ecereDBIndex_%s_%s", tableName, exp->db.id->string);
+sprintf(name, "__ecereDBIndex_%s_%s", tableName, exp->__anon1.db.id->string);
 FreeExpContents(exp);
 exp->type = 0;
-exp->identifier = MkIdentifier(name);
+exp->__anon1.__anon1.identifier = MkIdentifier(name);
 break;
 }
 case 28:
@@ -1378,64 +1378,64 @@ struct Statement * ifDBStmt;
 struct __ecereNameSpace__ecere__sys__OldList * args;
 char numIndexesString[16];
 
-databaseOpenStmt->compound.context = __extension__ ({
+databaseOpenStmt->__anon1.compound.context = __extension__ ({
 struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 
 __ecereInstance1->parent = curContext, __ecereInstance1;
 });
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->compound.declarations), MkDeclaration(MkListOne(MkSpecifierName("Database")), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("db")), (((void *)0))))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->__anon1.compound.declarations), MkDeclaration(MkListOne(MkSpecifierName("Database")), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("db")), (((void *)0))))));
 args = MkList();
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkSpecifier(STATIC));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkSpecifierName("bool"));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->compound.declarations), MkDeclaration(args, MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("initialized")), MkInitializerAssignment(MkExpIdentifier(MkIdentifier("false")))))));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->compound.statements), MkIfStmt(MkListOne(MkExpIdentifier(MkIdentifier("initialized"))), MkReturnStmt(MkListOne(MkExpConstant("0"))), (((void *)0))));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->compound.statements), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier("initialized")), '=', MkExpIdentifier(MkIdentifier("true"))))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->__anon1.compound.declarations), MkDeclaration(args, MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("initialized")), MkInitializerAssignment(MkExpIdentifier(MkIdentifier("false")))))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->__anon1.compound.statements), MkIfStmt(MkListOne(MkExpIdentifier(MkIdentifier("initialized"))), MkReturnStmt(MkListOne(MkExpConstant("0"))), (((void *)0))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->__anon1.compound.statements), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier("initialized")), '=', MkExpIdentifier(MkIdentifier("true"))))));
 args = MkList();
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), CopyExpression(exp->dbopen.name));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), CopyExpression(exp->__anon1.dbopen.name));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpIdentifier(MkIdentifier("no")));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->compound.statements), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier("db")), '=', MkExpCall(MkExpMember(CopyExpression(exp->dbopen.ds), MkIdentifier("OpenDatabase")), args)))));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->compound.statements), MkIfStmt(MkListOne(MkExpOp((((void *)0)), '!', MkExpIdentifier(MkIdentifier("db")))), compound = MkCompoundStmt((((void *)0)), MkList()), (((void *)0))));
-compound->compound.context = __extension__ ({
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->__anon1.compound.statements), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier("db")), '=', MkExpCall(MkExpMember(CopyExpression(exp->__anon1.dbopen.ds), MkIdentifier("OpenDatabase")), args)))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->__anon1.compound.statements), MkIfStmt(MkListOne(MkExpOp((((void *)0)), '!', MkExpIdentifier(MkIdentifier("db")))), compound = MkCompoundStmt((((void *)0)), MkList()), (((void *)0))));
+compound->__anon1.compound.context = __extension__ ({
 struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 
-__ecereInstance1->parent = databaseOpenStmt->compound.context, __ecereInstance1;
+__ecereInstance1->parent = databaseOpenStmt->__anon1.compound.context, __ecereInstance1;
 });
 args = MkList();
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), exp->dbopen.name);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), exp->__anon1.dbopen.name);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpIdentifier(MkIdentifier("create")));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*compound->compound.statements), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier("db")), '=', MkExpCall(MkExpMember(exp->dbopen.ds, MkIdentifier("OpenDatabase")), args)))));
-exp->dbopen.name = (((void *)0));
-exp->dbopen.ds = (((void *)0));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->compound.statements), MkIfStmt(MkListOne(MkExpIdentifier(MkIdentifier("db"))), ifDBStmt = MkCompoundStmt(MkList(), MkList()), (((void *)0))));
-ifDBStmt->compound.context = __extension__ ({
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*compound->__anon1.compound.statements), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier("db")), '=', MkExpCall(MkExpMember(exp->__anon1.dbopen.ds, MkIdentifier("OpenDatabase")), args)))));
+exp->__anon1.dbopen.name = (((void *)0));
+exp->__anon1.dbopen.ds = (((void *)0));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->__anon1.compound.statements), MkIfStmt(MkListOne(MkExpIdentifier(MkIdentifier("db"))), ifDBStmt = MkCompoundStmt(MkList(), MkList()), (((void *)0))));
+ifDBStmt->__anon1.compound.context = __extension__ ({
 struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 
-__ecereInstance1->parent = databaseOpenStmt->compound.context, __ecereInstance1;
+__ecereInstance1->parent = databaseOpenStmt->__anon1.compound.context, __ecereInstance1;
 });
 sprintf(numIndexesString, "%d", numIndexes);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*ifDBStmt->compound.declarations), MkDeclaration(MkListOne(MkSpecifierName("FieldIndex")), MkListOne(MkInitDeclarator(MkDeclaratorArray(MkDeclaratorIdentifier(MkIdentifier("indexes")), MkExpConstant(numIndexesString)), MkInitializerList(MkListOne(MkInitializerList(MkListOne(MkInitializerAssignment(MkExpIdentifier(MkIdentifier("null")))))))))));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*ifDBStmt->compound.statements), MkExpressionStmt(MkListOne(MkExpCall(MkExpMember(MkExpIdentifier(MkIdentifier("db")), MkIdentifier("Begin")), MkList()))));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*ifDBStmt->compound.statements), compound = MkCompoundStmt((((void *)0)), tableStatements));
-compound->compound.context = __extension__ ({
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*ifDBStmt->__anon1.compound.declarations), MkDeclaration(MkListOne(MkSpecifierName("FieldIndex")), MkListOne(MkInitDeclarator(MkDeclaratorArray(MkDeclaratorIdentifier(MkIdentifier("indexes")), MkExpConstant(numIndexesString)), MkInitializerList(MkListOne(MkInitializerList(MkListOne(MkInitializerAssignment(MkExpIdentifier(MkIdentifier("null")))))))))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*ifDBStmt->__anon1.compound.statements), MkExpressionStmt(MkListOne(MkExpCall(MkExpMember(MkExpIdentifier(MkIdentifier("db")), MkIdentifier("Begin")), MkList()))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*ifDBStmt->__anon1.compound.statements), compound = MkCompoundStmt((((void *)0)), tableStatements));
+compound->__anon1.compound.context = __extension__ ({
 struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 
-__ecereInstance1->parent = ifDBStmt->compound.context, __ecereInstance1;
+__ecereInstance1->parent = ifDBStmt->__anon1.compound.context, __ecereInstance1;
 });
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*ifDBStmt->compound.statements), (compound = MkCompoundStmt((((void *)0)), addFieldStatements), compound->compound.context = __extension__ ({
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*ifDBStmt->__anon1.compound.statements), (compound = MkCompoundStmt((((void *)0)), addFieldStatements), compound->__anon1.compound.context = __extension__ ({
 struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 
-__ecereInstance1->parent = ifDBStmt->compound.context, __ecereInstance1;
+__ecereInstance1->parent = ifDBStmt->__anon1.compound.context, __ecereInstance1;
 }), compound));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*ifDBStmt->compound.statements), compound = MkCompoundStmt((((void *)0)), indexStatements));
-compound->compound.context = __extension__ ({
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*ifDBStmt->__anon1.compound.statements), compound = MkCompoundStmt((((void *)0)), indexStatements));
+compound->__anon1.compound.context = __extension__ ({
 struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 
-__ecereInstance1->parent = ifDBStmt->compound.context, __ecereInstance1;
+__ecereInstance1->parent = ifDBStmt->__anon1.compound.context, __ecereInstance1;
 });
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*ifDBStmt->compound.statements), MkExpressionStmt(MkListOne(MkExpCall(MkExpMember(MkExpIdentifier(MkIdentifier("db")), MkIdentifier("Commit")), MkList()))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*ifDBStmt->__anon1.compound.statements), MkExpressionStmt(MkListOne(MkExpCall(MkExpMember(MkExpIdentifier(MkIdentifier("db")), MkIdentifier("Commit")), MkList()))));
 exp->type = 23;
-exp->compound = databaseOpenStmt;
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->compound.statements), MkExpressionStmt(MkListOne(MkExpIdentifier(MkIdentifier("db")))));
+exp->__anon1.compound = databaseOpenStmt;
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->__anon1.compound.statements), MkExpressionStmt(MkListOne(MkExpIdentifier(MkIdentifier("db")))));
 tableStatements = (((void *)0));
 }
 else
@@ -1454,42 +1454,42 @@ static void ProcessStatement(struct Statement * stmt)
 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)
 {
-ProcessExpression(stmt->caseStmt.exp);
+ProcessExpression(stmt->__anon1.caseStmt.exp);
 }
-if(stmt->caseStmt.stmt)
+if(stmt->__anon1.caseStmt.stmt)
 {
-ProcessStatement(stmt->caseStmt.stmt);
+ProcessStatement(stmt->__anon1.caseStmt.stmt);
 }
 break;
 case 14:
 {
-ProcessDeclaration(stmt->decl);
+ProcessDeclaration(stmt->__anon1.decl);
 break;
 }
 case 2:
 {
 struct Context * oldContext = curContext;
 
-curContext = stmt->compound.context;
-if(stmt->compound.declarations)
+curContext = stmt->__anon1.compound.context;
+if(stmt->__anon1.compound.declarations)
 {
 struct Declaration * decl;
 
-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)
 {
 struct Statement * statement;
 
-for(statement = (*stmt->compound.statements).first; statement; statement = statement->next)
+for(statement = (*stmt->__anon1.compound.statements).first; statement; statement = statement->next)
 {
 ProcessStatement(statement);
 }
@@ -1499,11 +1499,11 @@ break;
 }
 case 3:
 {
-if(stmt->expressions)
+if(stmt->__anon1.expressions)
 {
 struct Expression * exp;
 
-for(exp = (*stmt->expressions).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.expressions).first; exp; exp = exp->next)
 {
 ProcessExpression(exp);
 }
@@ -1514,17 +1514,17 @@ case 4:
 {
 struct Expression * exp;
 
-for(exp = (*stmt->ifStmt.exp).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.ifStmt.exp).first; exp; exp = exp->next)
 {
 ProcessExpression(exp);
 }
-if(stmt->ifStmt.stmt)
+if(stmt->__anon1.ifStmt.stmt)
 {
-ProcessStatement(stmt->ifStmt.stmt);
+ProcessStatement(stmt->__anon1.ifStmt.stmt);
 }
-if(stmt->ifStmt.elseStmt)
+if(stmt->__anon1.ifStmt.elseStmt)
 {
-ProcessStatement(stmt->ifStmt.elseStmt);
+ProcessStatement(stmt->__anon1.ifStmt.elseStmt);
 }
 break;
 }
@@ -1532,36 +1532,36 @@ case 5:
 {
 struct Expression * exp;
 
-for(exp = (*stmt->switchStmt.exp).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
 {
 ProcessExpression(exp);
 }
-ProcessStatement(stmt->switchStmt.stmt);
+ProcessStatement(stmt->__anon1.switchStmt.stmt);
 break;
 }
 case 6:
 {
 struct Expression * exp;
 
-if(stmt->whileStmt.exp)
+if(stmt->__anon1.whileStmt.exp)
 {
-for(exp = (*stmt->whileStmt.exp).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.whileStmt.exp).first; exp; exp = exp->next)
 {
 ProcessExpression(exp);
 }
 }
-if(stmt->whileStmt.stmt)
-ProcessStatement(stmt->whileStmt.stmt);
+if(stmt->__anon1.whileStmt.stmt)
+ProcessStatement(stmt->__anon1.whileStmt.stmt);
 break;
 }
 case 7:
 {
-ProcessStatement(stmt->doWhile.stmt);
-if(stmt->doWhile.exp)
+ProcessStatement(stmt->__anon1.doWhile.stmt);
+if(stmt->__anon1.doWhile.exp)
 {
 struct Expression * exp;
 
-for(exp = (*stmt->doWhile.exp).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.doWhile.exp).first; exp; exp = exp->next)
 {
 ProcessExpression(exp);
 }
@@ -1572,23 +1572,23 @@ case 8:
 {
 struct Expression * exp;
 
-if(stmt->forStmt.init)
+if(stmt->__anon1.forStmt.init)
 {
-ProcessStatement(stmt->forStmt.init);
+ProcessStatement(stmt->__anon1.forStmt.init);
 }
-if(stmt->forStmt.check)
+if(stmt->__anon1.forStmt.check)
 {
-ProcessStatement(stmt->forStmt.check);
+ProcessStatement(stmt->__anon1.forStmt.check);
 }
-if(stmt->forStmt.increment)
+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)
 {
 ProcessExpression(exp);
 }
 }
-if(stmt->forStmt.stmt)
-ProcessStatement(stmt->forStmt.stmt);
+if(stmt->__anon1.forStmt.stmt)
+ProcessStatement(stmt->__anon1.forStmt.stmt);
 break;
 }
 case 9:
@@ -1598,11 +1598,11 @@ break;
 case 11:
 break;
 case 12:
-if(stmt->expressions)
+if(stmt->__anon1.expressions)
 {
 struct Expression * exp;
 
-for(exp = (*stmt->expressions).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.expressions).first; exp; exp = exp->next)
 {
 ProcessExpression(exp);
 }
@@ -1613,17 +1613,17 @@ case 16:
 {
 struct Identifier * _watch;
 
-if(stmt->_watch.watcher)
+if(stmt->__anon1._watch.watcher)
 {
-ProcessExpression(stmt->_watch.watcher);
+ProcessExpression(stmt->__anon1._watch.watcher);
 }
-if(stmt->_watch.object)
+if(stmt->__anon1._watch.object)
 {
-ProcessExpression(stmt->_watch.object);
+ProcessExpression(stmt->__anon1._watch.object);
 }
-if(stmt->_watch.watches)
+if(stmt->__anon1._watch.watches)
 {
-for(_watch = (*stmt->_watch.watches).first; _watch; _watch = _watch->next)
+for(_watch = (*stmt->__anon1._watch.watches).first; _watch; _watch = _watch->next)
 {
 ProcessIdentifier(_watch);
 }
@@ -1634,17 +1634,17 @@ case 17:
 {
 struct PropertyWatch * _watch;
 
-if(stmt->_watch.watcher)
+if(stmt->__anon1._watch.watcher)
 {
-ProcessExpression(stmt->_watch.watcher);
+ProcessExpression(stmt->__anon1._watch.watcher);
 }
-if(stmt->_watch.object)
+if(stmt->__anon1._watch.object)
 {
-ProcessExpression(stmt->_watch.object);
+ProcessExpression(stmt->__anon1._watch.object);
 }
-if(stmt->_watch.watches)
+if(stmt->__anon1._watch.watches)
 {
-for(_watch = (*stmt->_watch.watches).first; _watch; _watch = _watch->next)
+for(_watch = (*stmt->__anon1._watch.watches).first; _watch; _watch = _watch->next)
 {
 if(_watch->compound)
 {
@@ -1665,14 +1665,14 @@ case 1:
 {
 struct Initializer * init;
 
-for(init = (*initializer->list).first; init; init = init->next)
+for(init = (*initializer->__anon1.list).first; init; init = init->next)
 {
 ProcessInitializer(init);
 }
 break;
 }
 case 0:
-ProcessExpression(initializer->exp);
+ProcessExpression(initializer->__anon1.exp);
 break;
 }
 }
@@ -1691,9 +1691,9 @@ case 0:
 {
 struct Specifier * spec;
 
-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);
 }
@@ -1702,20 +1702,20 @@ break;
 }
 case 1:
 {
-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);
 }
 }
-if(decl->declarators && (*decl->declarators).first)
+if(decl->__anon1.__anon1.declarators && (*decl->__anon1.__anon1.declarators).first)
 {
 struct InitDeclarator * d;
 
-for(d = (*decl->declarators).first; d; d = d->next)
+for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
 {
 ProcessInitDeclarator(d);
 }
@@ -1723,7 +1723,7 @@ ProcessInitDeclarator(d);
 break;
 }
 case 2:
-ProcessInstance(decl->inst);
+ProcessInstance(decl->__anon1.inst);
 break;
 }
 }
@@ -1753,16 +1753,16 @@ struct MemberInit * memberInit;
 
 for(init = (*inst->members).first; init; init = init->next)
 {
-if(init->type == 0 && init->dataMembers)
+if(init->type == 0 && init->__anon1.dataMembers)
 {
-for(memberInit = (*init->dataMembers).first; memberInit; memberInit = memberInit->next)
+for(memberInit = (*init->__anon1.dataMembers).first; memberInit; memberInit = memberInit->next)
 {
 ProcessMemberInit(memberInit);
 }
 }
 if(init->type == 1)
 {
-ProcessClassFunction(init->function);
+ProcessClassFunction(init->__anon1.function);
 }
 }
 }
@@ -1793,35 +1793,35 @@ static void ProcessClassDef(struct ClassDef * def)
 switch(def->type)
 {
 case 2:
-ProcessDeclaration(def->decl);
+ProcessDeclaration(def->__anon1.decl);
 break;
 case 1:
 {
 struct MemberInit * init;
 
-for(init = (*def->defProperties).first; init; init = init->next)
+for(init = (*def->__anon1.defProperties).first; init; init = init->next)
 {
 ProcessMemberInit(init);
 }
 break;
 }
 case 11:
-if(def->initializer)
-ProcessInitializer(def->initializer);
+if(def->__anon1.__anon1.initializer)
+ProcessInitializer(def->__anon1.__anon1.initializer);
 break;
 case 0:
-ProcessClassFunction(def->function);
+ProcessClassFunction(def->__anon1.function);
 break;
 case 3:
-if(def->propertyDef)
+if(def->__anon1.propertyDef)
 {
-ProcessProperty(def->propertyDef);
+ProcessProperty(def->__anon1.propertyDef);
 }
 break;
 case 4:
-if(def->propertyWatch && def->propertyWatch->compound)
+if(def->__anon1.propertyWatch && def->__anon1.propertyWatch->compound)
 {
-ProcessStatement(def->propertyWatch->compound);
+ProcessStatement(def->__anon1.propertyWatch->compound);
 }
 break;
 }
@@ -1936,7 +1936,7 @@ addFieldStatements = MkList();
 struct External * external;
 
 external = MkExternalDeclaration(MkDeclaration(MkListOne(MkSpecifierName("Table")), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(tableID)), (((void *)0))))));
-external->declaration->declMode = table->declMode;
+external->__anon1.declaration->declMode = table->declMode;
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), addAfter, external);
 args = MkList();
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*tableStatements), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier(tableID)), '=', MkExpCall(MkExpMember(MkExpIdentifier(MkIdentifier("db")), MkIdentifier("OpenTable")), args)))));
@@ -1978,16 +1978,16 @@ case 0:
 unsigned int isIndex = 0x0;
 char fieldID[1024];
 struct __ecereNameSpace__ecere__sys__OldList * args;
-struct Specifier * spec = entry->dataType->qualifiers ? (struct Specifier *)(*entry->dataType->qualifiers).first : (((void *)0));
+struct Specifier * spec = entry->__anon1.__anon1.dataType->qualifiers ? (struct Specifier *)(*entry->__anon1.__anon1.dataType->qualifiers).first : (((void *)0));
 
 sprintf(fieldID, "__ecereDBField_%s_%s", tableName, entry->id->string);
 if(idClassDefs)
 {
-if(!nameField[0] && spec->type == 1 && (!strcmp(spec->name, "String") || !strcmp(spec->name, "eda::CIString")))
+if(!nameField[0] && spec->type == 1 && (!strcmp(spec->__anon1.__anon1.name, "String") || !strcmp(spec->__anon1.__anon1.name, "eda::CIString")))
 {
 strcpy(nameField, entry->id->string);
 }
-if(!indexed && spec->type == 1 && !strcmp(spec->name, table->symbol->string))
+if(!indexed && spec->type == 1 && !strcmp(spec->__anon1.__anon1.name, table->symbol->string))
 {
 struct Statement * rowSet = MkCompoundStmt(MkList(), MkList());
 char name[1024];
@@ -1997,20 +1997,20 @@ numIndexes = ((numIndexes > 1) ? numIndexes : 1);
 isIndex = 0x1;
 indexed = 0x1;
 sprintf(name, "_%s", entry->id->string);
-curContext = rowSet->compound.context = __extension__ ({
+curContext = rowSet->__anon1.compound.context = __extension__ ({
 struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 
 __ecereInstance1->parent = globalContext, __ecereInstance1;
 });
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*rowSet->compound.statements), MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("Find")), args = MkList()))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*rowSet->__anon1.compound.statements), MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("Find")), args = MkList()))));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpIdentifier(MkIdentifier(fieldID)));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpIdentifier(MkIdentifier("middle")));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpIdentifier(MkIdentifier("nil")));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpIdentifier(MkIdentifier("value")));
 curContext = globalContext;
-def = MkClassDefProperty(MkProperty(CopyList(entry->dataType->qualifiers, CopySpecifier), CopyDeclarator(entry->dataType->declarator), MkIdentifier(name), rowSet, (((void *)0))));
-def->propertyDef->symbol->id = def->propertyDef->symbol->idCode = symbolID;
-def->propertyDef->isDBProp = 0x1;
+def = MkClassDefProperty(MkProperty(CopyList(entry->__anon1.__anon1.dataType->qualifiers, CopySpecifier), CopyDeclarator(entry->__anon1.__anon1.dataType->declarator), MkIdentifier(name), rowSet, (((void *)0))));
+def->__anon1.propertyDef->symbol->id = def->__anon1.propertyDef->symbol->idCode = symbolID;
+def->__anon1.propertyDef->__anon1.isDBProp = 0x1;
 def->memberAccess = 1;
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*rowClassDefs), def);
 }
@@ -2020,47 +2020,47 @@ if(rowClassDefs)
 struct Statement * rowSet = MkCompoundStmt(MkList(), MkList()), * rowGet = MkCompoundStmt(MkList(), MkList());
 struct ClassDef * def;
 
-curContext = rowGet->compound.context = __extension__ ({
+curContext = rowGet->__anon1.compound.context = __extension__ ({
 struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 
 __ecereInstance1->parent = globalContext, __ecereInstance1;
 });
-if(spec->type == 1 && spec->symbol && spec->symbol->registered && spec->symbol->registered->type == 1)
+if(spec->type == 1 && spec->__anon1.__anon1.symbol && spec->__anon1.__anon1.symbol->__anon1.registered && spec->__anon1.__anon1.symbol->__anon1.registered->type == 1)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*rowGet->compound.declarations), MkDeclarationInst(MkInstantiation(MkSpecifierName(spec->name), MkExpIdentifier(MkIdentifier("d")), (((void *)0)))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*rowGet->__anon1.compound.declarations), MkDeclarationInst(MkInstantiation(MkSpecifierName(spec->__anon1.__anon1.name), MkExpIdentifier(MkIdentifier("d")), (((void *)0)))));
 }
 else
 {
 struct Expression * exp;
 
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*rowGet->compound.declarations), MkDeclaration(CopyList(entry->dataType->qualifiers, CopySpecifier), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("d")), MkInitializerAssignment(exp = MkExpConstant("0"))))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*rowGet->__anon1.compound.declarations), MkDeclaration(CopyList(entry->__anon1.__anon1.dataType->qualifiers, CopySpecifier), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("d")), MkInitializerAssignment(exp = MkExpConstant("0"))))));
 exp->destType = __extension__ ({
 struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
 
 __ecereInstance1->kind = 3, __ecereInstance1->refCount = 1, __ecereInstance1;
 });
 }
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*rowGet->compound.statements), MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("GetData")), args = MkList()))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*rowGet->__anon1.compound.statements), MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("GetData")), args = MkList()))));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpIdentifier(MkIdentifier(fieldID)));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpIdentifier(MkIdentifier("d")));
-if(spec->type == 1 && spec->symbol && spec->symbol->registered && spec->symbol->registered->type == 1)
+if(spec->type == 1 && spec->__anon1.__anon1.symbol && spec->__anon1.__anon1.symbol->__anon1.registered && spec->__anon1.__anon1.symbol->__anon1.registered->type == 1)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*rowGet->compound.statements), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier("value")), '=', MkExpIdentifier(MkIdentifier("d"))))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*rowGet->__anon1.compound.statements), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier("value")), '=', MkExpIdentifier(MkIdentifier("d"))))));
 }
 else
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*rowGet->compound.statements), MkReturnStmt(MkListOne(MkExpIdentifier(MkIdentifier("d")))));
-curContext = rowSet->compound.context = __extension__ ({
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*rowGet->__anon1.compound.statements), MkReturnStmt(MkListOne(MkExpIdentifier(MkIdentifier("d")))));
+curContext = rowSet->__anon1.compound.context = __extension__ ({
 struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 
 __ecereInstance1->parent = globalContext, __ecereInstance1;
 });
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*rowSet->compound.statements), MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("SetData")), args = MkList()))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*rowSet->__anon1.compound.statements), MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("SetData")), args = MkList()))));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpIdentifier(MkIdentifier(fieldID)));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpIdentifier(MkIdentifier("value")));
 curContext = globalContext;
-def = MkClassDefProperty(MkProperty(CopyList(entry->dataType->qualifiers, CopySpecifier), entry->dataType->declarator, CopyIdentifier(entry->id), rowSet, rowGet));
-def->propertyDef->symbol->id = def->propertyDef->symbol->idCode = symbolID;
-def->propertyDef->isDBProp = 0x1;
+def = MkClassDefProperty(MkProperty(CopyList(entry->__anon1.__anon1.dataType->qualifiers, CopySpecifier), entry->__anon1.__anon1.dataType->declarator, CopyIdentifier(entry->id), rowSet, rowGet));
+def->__anon1.propertyDef->symbol->id = def->__anon1.propertyDef->symbol->idCode = symbolID;
+def->__anon1.propertyDef->__anon1.isDBProp = 0x1;
 def->memberAccess = 1;
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*rowClassDefs), def);
 }
@@ -2069,14 +2069,14 @@ struct External * external;
 
 external = MkExternalDeclaration(MkDeclaration(MkListOne(MkSpecifierName("Field")), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(fieldID)), (((void *)0))))));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*ast), external);
-external->declaration->declMode = table->declMode;
+external->__anon1.declaration->declMode = table->declMode;
 args = MkList();
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*addFieldStatements), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier(fieldID)), '=', MkExpCall(MkExpMember(MkExpIdentifier(MkIdentifier(tableID)), MkIdentifier("FindField")), args)))));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpString(entry->name));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpString(entry->__anon1.__anon1.name));
 args = MkList();
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*addFieldStatements), MkIfStmt(MkListOne(MkExpOp((((void *)0)), '!', MkExpIdentifier(MkIdentifier(fieldID)))), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier(fieldID)), '=', MkExpCall(MkExpMember(MkExpIdentifier(MkIdentifier(tableID)), MkIdentifier("AddField")), args)))), (((void *)0))));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpString(entry->name));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpClass(CopyList(entry->dataType->qualifiers, CopySpecifier), CopyDeclarator(entry->dataType->declarator)));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpString(entry->__anon1.__anon1.name));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpClass(CopyList(entry->__anon1.__anon1.dataType->qualifiers, CopySpecifier), CopyDeclarator(entry->__anon1.__anon1.dataType->declarator)));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpConstant("0"));
 }
 if(isIndex)
@@ -2129,7 +2129,7 @@ case 0:
 {
 char fieldID[1024];
 struct __ecereNameSpace__ecere__sys__OldList * args;
-struct Specifier * spec = entry->dataType->qualifiers ? (struct Specifier *)(*entry->dataType->qualifiers).first : (((void *)0));
+struct Specifier * spec = entry->__anon1.__anon1.dataType->qualifiers ? (struct Specifier *)(*entry->__anon1.__anon1.dataType->qualifiers).first : (((void *)0));
 
 sprintf(fieldID, "__ecereDBField_%s_%s", tableName, entry->id->string);
 if(idClassDefs && spec)
@@ -2137,51 +2137,51 @@ if(idClassDefs && spec)
 struct Statement * idSet = MkCompoundStmt(MkList(), MkList()), * idGet = MkCompoundStmt(MkList(), MkList());
 struct ClassDef * def;
 
-curContext = idGet->compound.context = __extension__ ({
+curContext = idGet->__anon1.compound.context = __extension__ ({
 struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 
 __ecereInstance1->parent = globalContext, __ecereInstance1;
 });
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idGet->compound.declarations), MkDeclarationInst(MkInstantiation(MkSpecifierName(rowClassName), MkExpIdentifier(MkIdentifier("r")), MkListOne(MkMembersInitList(MkListOne(MkMemberInit((((void *)0)), MkInitializerAssignment(MkExpIdentifier(MkIdentifier("this"))))))))));
-if(spec->type == 1 && spec->symbol && spec->symbol->registered && spec->symbol->registered->type == 1)
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idGet->__anon1.compound.declarations), MkDeclarationInst(MkInstantiation(MkSpecifierName(rowClassName), MkExpIdentifier(MkIdentifier("r")), MkListOne(MkMembersInitList(MkListOne(MkMemberInit((((void *)0)), MkInitializerAssignment(MkExpIdentifier(MkIdentifier("this"))))))))));
+if(spec->type == 1 && spec->__anon1.__anon1.symbol && spec->__anon1.__anon1.symbol->__anon1.registered && spec->__anon1.__anon1.symbol->__anon1.registered->type == 1)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idGet->compound.declarations), MkDeclarationInst(MkInstantiation(MkSpecifierName(spec->name), MkExpIdentifier(MkIdentifier("d")), (((void *)0)))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idGet->__anon1.compound.declarations), MkDeclarationInst(MkInstantiation(MkSpecifierName(spec->__anon1.__anon1.name), MkExpIdentifier(MkIdentifier("d")), (((void *)0)))));
 }
 else
 {
 struct Expression * exp;
 
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idGet->compound.declarations), MkDeclaration(CopyList(entry->dataType->qualifiers, CopySpecifier), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("d")), MkInitializerAssignment(exp = MkExpConstant("0"))))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idGet->__anon1.compound.declarations), MkDeclaration(CopyList(entry->__anon1.__anon1.dataType->qualifiers, CopySpecifier), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("d")), MkInitializerAssignment(exp = MkExpConstant("0"))))));
 exp->destType = __extension__ ({
 struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
 
 __ecereInstance1->kind = 3, __ecereInstance1->refCount = 1, __ecereInstance1;
 });
 }
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idGet->compound.statements), MkExpressionStmt(MkListOne(MkExpCall(MkExpMember(MkExpIdentifier(MkIdentifier("r")), MkIdentifier("GetData")), args = MkList()))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idGet->__anon1.compound.statements), MkExpressionStmt(MkListOne(MkExpCall(MkExpMember(MkExpIdentifier(MkIdentifier("r")), MkIdentifier("GetData")), args = MkList()))));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpIdentifier(MkIdentifier(fieldID)));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpIdentifier(MkIdentifier("d")));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idGet->compound.statements), MkExpressionStmt(MkListOne(MkExpOp((((void *)0)), DELETE, MkExpIdentifier(MkIdentifier("r"))))));
-if(spec->type == 1 && spec->symbol && spec->symbol->registered && spec->symbol->registered->type == 1)
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idGet->__anon1.compound.statements), MkExpressionStmt(MkListOne(MkExpOp((((void *)0)), DELETE, MkExpIdentifier(MkIdentifier("r"))))));
+if(spec->type == 1 && spec->__anon1.__anon1.symbol && spec->__anon1.__anon1.symbol->__anon1.registered && spec->__anon1.__anon1.symbol->__anon1.registered->type == 1)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idGet->compound.statements), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier("value")), '=', MkExpIdentifier(MkIdentifier("d"))))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idGet->__anon1.compound.statements), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier("value")), '=', MkExpIdentifier(MkIdentifier("d"))))));
 }
 else
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idGet->compound.statements), MkReturnStmt(MkListOne(MkExpIdentifier(MkIdentifier("d")))));
-curContext = idSet->compound.context = __extension__ ({
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idGet->__anon1.compound.statements), MkReturnStmt(MkListOne(MkExpIdentifier(MkIdentifier("d")))));
+curContext = idSet->__anon1.compound.context = __extension__ ({
 struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 
 __ecereInstance1->parent = globalContext, __ecereInstance1;
 });
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idSet->compound.declarations), MkDeclarationInst(MkInstantiation(MkSpecifierName(rowClassName), MkExpIdentifier(MkIdentifier("r")), MkListOne(MkMembersInitList(MkListOne(MkMemberInit((((void *)0)), MkInitializerAssignment(MkExpIdentifier(MkIdentifier("this"))))))))));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idSet->compound.statements), MkExpressionStmt(MkListOne(MkExpCall(MkExpMember(MkExpIdentifier(MkIdentifier("r")), MkIdentifier("SetData")), args = MkList()))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idSet->__anon1.compound.declarations), MkDeclarationInst(MkInstantiation(MkSpecifierName(rowClassName), MkExpIdentifier(MkIdentifier("r")), MkListOne(MkMembersInitList(MkListOne(MkMemberInit((((void *)0)), MkInitializerAssignment(MkExpIdentifier(MkIdentifier("this"))))))))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idSet->__anon1.compound.statements), MkExpressionStmt(MkListOne(MkExpCall(MkExpMember(MkExpIdentifier(MkIdentifier("r")), MkIdentifier("SetData")), args = MkList()))));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpIdentifier(MkIdentifier(fieldID)));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpIdentifier(MkIdentifier("value")));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idSet->compound.statements), MkExpressionStmt(MkListOne(MkExpOp((((void *)0)), DELETE, MkExpIdentifier(MkIdentifier("r"))))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idSet->__anon1.compound.statements), MkExpressionStmt(MkListOne(MkExpOp((((void *)0)), DELETE, MkExpIdentifier(MkIdentifier("r"))))));
 curContext = globalContext;
-def = MkClassDefProperty(MkProperty(CopyList(entry->dataType->qualifiers, CopySpecifier), CopyDeclarator(entry->dataType->declarator), CopyIdentifier(entry->id), idSet, idGet));
-def->propertyDef->symbol->id = def->propertyDef->symbol->idCode = symbolID;
-def->propertyDef->isDBProp = 0x1;
+def = MkClassDefProperty(MkProperty(CopyList(entry->__anon1.__anon1.dataType->qualifiers, CopySpecifier), CopyDeclarator(entry->__anon1.__anon1.dataType->declarator), CopyIdentifier(entry->id), idSet, idGet));
+def->__anon1.propertyDef->symbol->id = def->__anon1.propertyDef->symbol->idCode = symbolID;
+def->__anon1.propertyDef->__anon1.isDBProp = 0x1;
 def->memberAccess = 1;
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*idClassDefs), def);
 }
@@ -2189,7 +2189,7 @@ break;
 }
 case 1:
 {
-if(entry->items && (*entry->items).count)
+if(entry->__anon1.items && (*entry->__anon1.items).count)
 {
 char indexID[1024];
 struct DBIndexItem * item;
@@ -2199,15 +2199,15 @@ char num[16];
 
 if(entry->id || indexed)
 {
-if(entry->id || (*entry->items).count == 1)
+if(entry->id || (*entry->__anon1.items).count == 1)
 {
 struct External * external;
-struct Identifier * id = entry->id ? entry->id : ((struct DBIndexItem *)(*entry->items).first)->id;
+struct Identifier * id = entry->id ? entry->id : ((struct DBIndexItem *)(*entry->__anon1.items).first)->id;
 
 sprintf(indexID, "__ecereDBIndex_%s_%s", tableName, id->string);
 external = MkExternalDeclaration(MkDeclaration(MkListOne(MkSpecifierName("Table")), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(indexID)), (((void *)0))))));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*ast), external);
-external->declaration->declMode = table->declMode;
+external->__anon1.declaration->declMode = table->declMode;
 needTable = 0x1;
 }
 else
@@ -2218,7 +2218,7 @@ else
 indexed = 0x1;
 strcpy(indexID, tableID);
 }
-for(c = 0, item = (*entry->items).first; item; item = item->next, c++)
+for(c = 0, item = (*entry->__anon1.items).first; item; item = item->next, c++)
 {
 char fieldID[1024];
 
@@ -2280,7 +2280,7 @@ addAfter = external->prev;
 switch(external->type)
 {
 case 5:
-ProcessDBTable(external->table);
+ProcessDBTable(external->__anon1.table);
 break;
 }
 }
@@ -2293,13 +2293,13 @@ addAfter = external->prev;
 switch(external->type)
 {
 case 0:
-ProcessFunction(external->function);
+ProcessFunction(external->__anon1.function);
 break;
 case 1:
-ProcessDeclaration(external->declaration);
+ProcessDeclaration(external->__anon1.declaration);
 break;
 case 2:
-ProcessClass(external->_class);
+ProcessClass(external->__anon1._class);
 break;
 }
 }
index ee593d8..3404017 100644 (file)
@@ -183,7 +183,7 @@ float f;
 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;
@@ -374,7 +374,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -384,9 +384,9 @@ 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));
 
 static struct __ecereNameSpace__ecere__com__Instance * __currentModule;
@@ -475,6 +475,8 @@ struct __ecereNameSpace__ecere__com__Class * __ecereClass_Specifier;
 
 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Statement;
 
+struct __ecereNameSpace__ecere__com__Class * __ecereClass_String;
+
 struct __ecereNameSpace__ecere__com__Class * __ecereClass_Symbol;
 
 struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateArgument;
@@ -823,6 +825,7 @@ __ecereClass_PropertyImport = __ecereNameSpace__ecere__com__eSystem_FindClass(mo
 __ecereClass_PropertyWatch = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "PropertyWatch");
 __ecereClass_Specifier = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Specifier");
 __ecereClass_Statement = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Statement");
+__ecereClass_String = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "String");
 __ecereClass_Symbol = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "Symbol");
 __ecereClass_TemplateArgument = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "TemplateArgument");
 __ecereClass_TemplateDatatype = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "TemplateDatatype");
index 46db9ab..2b3e429 100644 (file)
@@ -161,7 +161,7 @@ union
 {
 char * s;
 struct Attrib * attr;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass_ExtDecl;
@@ -228,14 +228,14 @@ struct
 {
 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;
@@ -321,7 +321,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 struct Statement * stmt;
 } __attribute__ ((gcc_struct)) forEachStmt;
 struct Declaration * decl;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass_Statement;
@@ -347,7 +347,7 @@ union
 {
 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));
@@ -371,7 +371,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 struct Expression
@@ -385,14 +385,14 @@ struct
 {
 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
 {
@@ -470,7 +470,7 @@ 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;
@@ -508,7 +508,7 @@ union
 struct Expression * expression;
 struct Identifier * identifier;
 struct TemplateDatatype * templateDatatype;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateArgument;
@@ -523,7 +523,7 @@ union
 {
 struct TemplateDatatype * dataType;
 int memberType;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct TemplateArgument * defaultArgument;
 const char * dataTypeString;
 struct Type * baseType;
@@ -545,7 +545,7 @@ struct ExtDecl * extDecl;
 char * name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList * templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -555,11 +555,11 @@ struct __ecereNameSpace__ecere__sys__OldList * definitions;
 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));
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass_Specifier;
@@ -619,7 +619,7 @@ struct
 {
 struct ExtDecl * extended;
 } __attribute__ ((gcc_struct)) extended;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declarator;
@@ -667,7 +667,7 @@ struct Declaration * declaration;
 char * importString;
 struct Identifier * id;
 struct DBTableDef * table;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 int importType;
 } __attribute__ ((gcc_struct));
 
@@ -708,7 +708,7 @@ union
 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, idCode;
 union
 {
@@ -716,20 +716,20 @@ struct
 {
 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, declaredStructSym;
 struct __ecereNameSpace__ecere__com__Class * _class;
 unsigned int declaredStruct;
@@ -766,7 +766,7 @@ struct
 {
 struct __ecereNameSpace__ecere__sys__OldList members;
 char * enumName;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Type * returnType;
@@ -774,13 +774,13 @@ struct __ecereNameSpace__ecere__sys__OldList params;
 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;
@@ -788,10 +788,10 @@ int arraySize;
 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;
@@ -947,7 +947,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -957,9 +957,9 @@ 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);
@@ -1138,7 +1138,7 @@ union
 {
 struct __ecereNameSpace__ecere__sys__OldList * dataMembers;
 struct ClassFunction * function;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass_MembersInit;
@@ -1174,7 +1174,7 @@ struct
 unsigned int conversion : 1;
 unsigned int isWatchable : 1;
 unsigned int isDBProp : 1;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass_PropertyDef;
@@ -1208,8 +1208,8 @@ struct
 {
 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));
@@ -1227,9 +1227,9 @@ struct
 {
 struct TypeName * dataType;
 char * name;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__sys__OldList * items;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBTableEntry;
@@ -1608,7 +1608,10 @@ void __ecereMethod_Expression_Clear(struct Expression * this)
 {
 struct __ecereNameSpace__ecere__com__DataValue __simpleStruct0 =
 {
+
+.__anon1 = {
 .c = (char)0
+}
 };
 
 this->debugValue = 0x0;
@@ -1706,8 +1709,8 @@ unsigned int __ecereProp_Type_Get_specConst(struct Type * this)
 {
 struct Type * t = this;
 
-while((t->kind == 13 || t->kind == 12) && t->type)
-t = t->type;
+while((t->kind == 13 || t->kind == 12) && t->__anon1.type)
+t = t->__anon1.type;
 return t->constant;
 }
 
@@ -1769,7 +1772,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct OpTable ops;
 } __attribute__ ((gcc_struct));
 
index f68ab69..d01215e 100644 (file)
@@ -197,14 +197,14 @@ struct
 {
 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;
@@ -292,7 +292,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -311,7 +311,7 @@ union
 {
 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));
@@ -333,7 +333,7 @@ float f;
 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;
@@ -350,14 +350,14 @@ struct
 {
 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
 {
@@ -436,7 +436,7 @@ 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;
@@ -482,7 +482,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -492,11 +492,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -552,7 +552,7 @@ struct
 {
 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;
@@ -711,7 +711,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -721,9 +721,9 @@ 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));
 
 enum yytokentype
@@ -839,7 +839,7 @@ union
 {
 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;
@@ -877,7 +877,7 @@ struct
 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;
@@ -905,8 +905,8 @@ struct
 {
 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));
@@ -2294,8 +2294,8 @@ break;
 case 24:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
-yyval.exp->call.argLoc.start = (yylsp[(2) - (3)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(3) - (3)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
 yyval.exp->loc = (yyloc);
 ;
 }
@@ -2303,8 +2303,8 @@ break;
 case 25:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
-yyval.exp->call.argLoc.start = (yylsp[(2) - (4)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(4) - (4)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
 yyval.exp->loc = (yyloc);
 ;
 }
@@ -2318,7 +2318,7 @@ yyval.exp->loc = (yyloc);
 break;
 case 27:
 {
-char * constant = yyvsp[(1) - (2)].exp->type == 2 ? yyvsp[(1) - (2)].exp->constant : (((void *)0));
+char * constant = yyvsp[(1) - (2)].exp->type == 2 ? yyvsp[(1) - (2)].exp->__anon1.__anon1.constant : (((void *)0));
 int len = constant ? strlen(constant) : 0;
 
 if(constant && constant[len - 1] == '.')
@@ -3423,9 +3423,9 @@ yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)),
 break;
 case 217:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, MkIdentifier(yyvsp[(2) - (5)].specifier->name), yyvsp[(4) - (5)].list);
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (5)].specifier);
 ;
 }
@@ -3433,7 +3433,7 @@ break;
 case 218:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].list);
-yyval.specifier->extDeclStruct = yyvsp[(2) - (6)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
 if(declMode)
 DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].id->string);
 ;
@@ -3442,14 +3442,14 @@ break;
 case 219:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, (((void *)0)), yyvsp[(4) - (5)].list);
-yyval.specifier->extDeclStruct = yyvsp[(2) - (5)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
 ;
 }
 break;
 case 220:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(3) - (5)].id, (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (5)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
 if(declMode)
 DeclClass(globalContext->nextID++, yyvsp[(3) - (5)].id->string);
 ;
@@ -3458,16 +3458,16 @@ break;
 case 221:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (4)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
 ;
 }
 break;
 case 222:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, MkIdentifier(yyvsp[(3) - (6)].specifier->name), yyvsp[(5) - (6)].list);
-yyval.specifier->extDeclStruct = yyvsp[(2) - (6)].extDecl;
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, MkIdentifier(yyvsp[(3) - (6)].specifier->__anon1.__anon1.name), yyvsp[(5) - (6)].list);
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(3) - (6)].specifier);
 ;
 }
@@ -3482,9 +3482,9 @@ DeclClass(0, yyvsp[(2) - (2)].id->string);
 break;
 case 224:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->name), (((void *)0)));
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
 if(declMode)
-DeclClass(0, yyvsp[(2) - (2)].specifier->name);
+DeclClass(0, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 ;
 }
@@ -3492,7 +3492,7 @@ break;
 case 225:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (3)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
 if(declMode)
 DeclClass(0, yyvsp[(3) - (3)].id->string);
 ;
@@ -3500,10 +3500,10 @@ DeclClass(0, yyvsp[(3) - (3)].id->string);
 break;
 case 226:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->name), (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (3)].extDecl;
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0)));
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
 if(declMode)
-DeclClass(0, yyvsp[(3) - (3)].specifier->name);
+DeclClass(0, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(3) - (3)].specifier);
 ;
 }
@@ -3702,7 +3702,7 @@ break;
 case 254:
 {
 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list, (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 ;
 }
@@ -3710,7 +3710,7 @@ break;
 case 255:
 {
 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, (((void *)0)), (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 ;
 }
@@ -3719,7 +3719,7 @@ case 256:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 ;
 }
 break;
@@ -3727,7 +3727,7 @@ case 257:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 ;
 }
 break;
@@ -3785,7 +3785,7 @@ break;
 case 265:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
-yyval.declarator->structDecl.attrib = yyvsp[(2) - (2)].attrib;
+yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -3807,7 +3807,7 @@ break;
 case 268:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
-yyval.declarator->structDecl.posExp = yyvsp[(5) - (5)].exp;
+yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -3822,9 +3822,9 @@ DeclClass(0, yyvsp[(2) - (2)].id->string);
 break;
 case 270:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->name), (((void *)0)));
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
 if(declMode)
-DeclClass(0, yyvsp[(2) - (2)].specifier->name);
+DeclClass(0, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 ;
 }
@@ -3846,7 +3846,7 @@ break;
 case 273:
 {
 yyval.specifier = MkEnum(yyvsp[(2) - (7)].id, yyvsp[(4) - (7)].list);
-yyval.specifier->definitions = yyvsp[(6) - (7)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
 if(declMode)
 DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].id->string);
 ;
@@ -3854,19 +3854,19 @@ DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].id->string);
 break;
 case 274:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (7)].specifier->name), yyvsp[(4) - (7)].list);
-yyval.specifier->definitions = yyvsp[(6) - (7)].list;
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (7)].specifier->__anon1.__anon1.name), yyvsp[(4) - (7)].list);
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (7)].specifier);
 ;
 }
 break;
 case 275:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->name), yyvsp[(4) - (5)].list);
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (5)].specifier);
 ;
 }
@@ -4396,8 +4396,8 @@ break;
 case 371:
 {
 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
-yyval.stmt->compound.context = PushContext();
-PopContext(yyval.stmt->compound.context);
+yyval.stmt->__anon1.compound.context = PushContext();
+PopContext(yyval.stmt->__anon1.compound.context);
 yyval.stmt->loc = (yyloc);
 ;
 }
@@ -4405,7 +4405,7 @@ break;
 case 372:
 {
 yyval.stmt = yyvsp[(2) - (3)].stmt;
-yyval.stmt->compound.context = yyvsp[(1) - (3)].context;
+yyval.stmt->__anon1.compound.context = yyvsp[(1) - (3)].context;
 PopContext(yyvsp[(1) - (3)].context);
 yyval.stmt->loc = (yyloc);
 ;
index dffea22..9e98c01 100644 (file)
@@ -206,14 +206,14 @@ struct
 {
 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;
@@ -248,7 +248,7 @@ float f;
 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;
@@ -265,14 +265,14 @@ struct
 {
 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
 {
@@ -351,7 +351,7 @@ 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;
@@ -390,7 +390,7 @@ union
 struct Expression * expression;
 struct Identifier * identifier;
 struct TemplateDatatype * templateDatatype;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
@@ -406,7 +406,7 @@ union
 {
 struct TemplateDatatype * dataType;
 int memberType;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct TemplateArgument * defaultArgument;
 const char *  dataTypeString;
 struct Type * baseType;
@@ -429,7 +429,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -439,11 +439,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -499,7 +499,7 @@ struct
 {
 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;
@@ -527,7 +527,7 @@ struct Declaration * declaration;
 char *  importString;
 struct Identifier * id;
 struct DBTableDef * table;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 int importType;
 } __attribute__ ((gcc_struct));
 
@@ -554,7 +554,7 @@ union
 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
@@ -563,20 +563,20 @@ struct
 {
 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;
@@ -619,7 +619,7 @@ struct
 {
 struct __ecereNameSpace__ecere__sys__OldList members;
 char *  enumName;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Type * returnType;
@@ -627,13 +627,13 @@ struct __ecereNameSpace__ecere__sys__OldList params;
 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;
@@ -641,10 +641,10 @@ int arraySize;
 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;
@@ -798,7 +798,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -808,9 +808,9 @@ 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));
 
 enum yytokentype
@@ -928,7 +928,7 @@ struct
 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;
@@ -956,8 +956,8 @@ struct
 {
 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));
@@ -1060,7 +1060,7 @@ for(def = definitions->first; def; def = def->next)
 {
 if(def->type == 2)
 {
-struct Declaration * decl = def->decl;
+struct Declaration * decl = def->__anon1.decl;
 struct __ecereNameSpace__ecere__com__DataMember * dataMember = (((void *)0));
 struct Type * dataType;
 
@@ -1068,9 +1068,9 @@ if(decl->type == 0)
 {
 struct Declarator * d;
 
-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 Identifier * declId = GetDeclId(d);
 
@@ -1078,8 +1078,8 @@ if(declId)
 {
 if(regClass && regClass->type == 2)
 {
-struct Expression * sizeExp = (d->type == 0) ? d->structDecl.exp : (((void *)0));
-struct Expression * posExp = (d->type == 0) ? d->structDecl.posExp : (((void *)0));
+struct Expression * sizeExp = (d->type == 0) ? d->__anon1.structDecl.exp : (((void *)0));
+struct Expression * posExp = (d->type == 0) ? d->__anon1.structDecl.posExp : (((void *)0));
 int bitSize = 0, bitPos = -1;
 char dataTypeString[8192];
 
@@ -1089,7 +1089,7 @@ if(sizeExp)
 ProcessExpressionType(sizeExp);
 ComputeExpression(sizeExp);
 if(sizeExp->isConstant)
-bitSize = strtol(sizeExp->constant, (((void *)0)), 0);
+bitSize = strtol(sizeExp->__anon1.__anon1.constant, (((void *)0)), 0);
 FreeExpression(sizeExp);
 }
 if(posExp)
@@ -1097,15 +1097,15 @@ if(posExp)
 ProcessExpressionType(posExp);
 ComputeExpression(posExp);
 if(posExp->isConstant)
-bitPos = strtol(posExp->constant, (((void *)0)), 0);
+bitPos = strtol(posExp->__anon1.__anon1.constant, (((void *)0)), 0);
 FreeExpression(posExp);
 }
 if(d->type == 0)
 {
-d->structDecl.posExp = (((void *)0));
-d->structDecl.exp = (((void *)0));
+d->__anon1.structDecl.posExp = (((void *)0));
+d->__anon1.structDecl.exp = (((void *)0));
 }
-dataType = ProcessType(decl->specifiers, d);
+dataType = ProcessType(decl->__anon1.__anon1.specifiers, d);
 PrintType(dataType, dataTypeString, 0x0, 0x1);
 {
 struct __ecereNameSpace__ecere__com__BitMember * member = __ecereNameSpace__ecere__com__eClass_AddBitMember(regClass, declId->string, dataTypeString, 0, 0, def->memberAccess);
@@ -1131,7 +1131,7 @@ else
 char typeString[8192];
 
 typeString[0] = (char)0;
-dataType = ProcessType(decl->specifiers, d);
+dataType = ProcessType(decl->__anon1.__anon1.specifiers, d);
 PrintType(dataType, typeString, 0x0, 0x1);
 if(member)
 {
@@ -1154,19 +1154,19 @@ FreeType(dataType);
 }
 }
 }
-else if(decl->specifiers)
+else if(decl->__anon1.__anon1.specifiers)
 {
 struct Specifier * spec;
 
-for(spec = (*decl->specifiers).first; spec; spec = spec->next)
+for(spec = (*decl->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
 {
 if(spec->type == 3 || spec->type == 4)
 {
-if(spec->definitions && !spec->id)
+if(spec->__anon1.__anon2.definitions && !spec->__anon1.__anon2.id)
 {
 struct __ecereNameSpace__ecere__com__DataMember * dataMember = __ecereNameSpace__ecere__com__eMember_New((spec->type == 4) ? 1 : 2, def->memberAccess);
 
-AddDefinitions((((void *)0)), dataMember, spec->definitions);
+AddDefinitions((((void *)0)), dataMember, spec->__anon1.__anon2.definitions);
 if(member)
 {
 __ecereNameSpace__ecere__com__eMember_AddMember(member, dataMember);
@@ -1176,16 +1176,16 @@ else
 __ecereNameSpace__ecere__com__eClass_AddMember(regClass, dataMember);
 }
 }
-else if(spec->definitions && spec->id)
+else if(spec->__anon1.__anon2.definitions && spec->__anon1.__anon2.id)
 {
 {
-struct Identifier * id = spec->id;
+struct Identifier * id = spec->__anon1.__anon2.id;
 char typeString[8192];
 
 typeString[0] = (char)0;
-spec->id = (((void *)0));
-decl->declarators = MkListOne(MkDeclaratorIdentifier(id));
-dataType = ProcessType(decl->specifiers, (((void *)0)));
+spec->__anon1.__anon2.id = (((void *)0));
+decl->__anon1.__anon1.declarators = MkListOne(MkDeclaratorIdentifier(id));
+dataType = ProcessType(decl->__anon1.__anon1.specifiers, (((void *)0)));
 PrintType(dataType, typeString, 0x0, 0x1);
 if(member)
 {
@@ -1211,25 +1211,25 @@ FreeType(dataType);
 }
 else if(decl->type == 2)
 {
-struct Instantiation * inst = decl->inst;
+struct Instantiation * inst = decl->__anon1.inst;
 struct Expression * exp = inst->exp;
 
 if(exp)
 {
-char * string = exp->identifier->string;
+char * string = exp->__anon1.__anon1.identifier->string;
 
 {
-struct Type * dataType = (dataType = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type), dataType->kind = 8, dataType->_class = inst->_class->symbol, dataType->refCount = 1, dataType);
+struct Type * dataType = (dataType = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type), dataType->kind = 8, dataType->__anon1._class = inst->_class->__anon1.__anon1.symbol, dataType->refCount = 1, dataType);
 
 if(member)
 {
-dataMember = __ecereNameSpace__ecere__com__eMember_AddDataMember(member, string, inst->_class->name, 0, 0, def->memberAccess);
+dataMember = __ecereNameSpace__ecere__com__eMember_AddDataMember(member, string, inst->_class->__anon1.__anon1.name, 0, 0, def->memberAccess);
 if(!dataMember)
 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "Member with same name already exists %s in member %s\n", (((void *)0))), string, member->name);
 }
 else
 {
-dataMember = __ecereNameSpace__ecere__com__eClass_AddDataMember(regClass, string, inst->_class->name, 0, 0, def->memberAccess);
+dataMember = __ecereNameSpace__ecere__com__eClass_AddDataMember(regClass, string, inst->_class->__anon1.__anon1.name, 0, 0, def->memberAccess);
 if(!dataMember)
 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "Member with same name already exists %s in class %s\n", (((void *)0))), string, regClass->name);
 }
@@ -1241,13 +1241,13 @@ FreeType(dataType);
 }
 }
 }
-else if(def->type == 3 && def->propertyDef)
+else if(def->type == 3 && def->__anon1.propertyDef)
 {
-struct PropertyDef * propertyDef = def->propertyDef;
+struct PropertyDef * propertyDef = def->__anon1.propertyDef;
 struct __ecereNameSpace__ecere__com__Property * prop;
 char * dataTypeString = StringFromSpecDecl(propertyDef->specifiers, propertyDef->declarator);
 
-prop = __ecereNameSpace__ecere__com__eClass_AddProperty(regClass, propertyDef->conversion ? (((void *)0)) : propertyDef->id->string, dataTypeString, inCompiler ? propertyDef->setStmt : (((void *)0)), inCompiler ? propertyDef->getStmt : (((void *)0)), def->memberAccess);
+prop = __ecereNameSpace__ecere__com__eClass_AddProperty(regClass, propertyDef->__anon1.conversion ? (((void *)0)) : propertyDef->id->string, dataTypeString, inCompiler ? propertyDef->setStmt : (((void *)0)), inCompiler ? propertyDef->getStmt : (((void *)0)), def->memberAccess);
 (__ecereNameSpace__ecere__com__eSystem_Delete(dataTypeString), dataTypeString = 0);
 if(prop)
 {
@@ -1261,18 +1261,18 @@ __ecereInstance1->string = __ecereNameSpace__ecere__sys__CopyString(propertyDef-
 });
 ((struct Symbol *)prop->symbol)->propCategory = propertyDef->category;
 propertyDef->category = (((void *)0));
-if(propertyDef->isWatchable)
+if(propertyDef->__anon1.isWatchable)
 __ecereNameSpace__ecere__com__eProperty_Watchable(prop);
 }
 else
 printf("");
-propertyDef->symbol->_property = prop;
+propertyDef->symbol->__anon1._property = prop;
 if(propertyDef->symbol->type)
 propertyDef->symbol->type->refCount++;
 }
-else if(def->type == 10 && def->propertyDef)
+else if(def->type == 10 && def->__anon1.propertyDef)
 {
-struct PropertyDef * propertyDef = def->propertyDef;
+struct PropertyDef * propertyDef = def->__anon1.propertyDef;
 struct __ecereNameSpace__ecere__com__ClassProperty * prop;
 char * dataTypeString = StringFromSpecDecl(propertyDef->specifiers, propertyDef->declarator);
 
@@ -1371,7 +1371,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct OpTable ops;
 } __attribute__ ((gcc_struct));
 
@@ -1425,15 +1425,15 @@ struct Type * baseType = ProcessType(baseSpecs, (((void *)0)));
 PrintType(baseType, baseName, 0x0, 0x1);
 if(baseType->kind == 8)
 {
-if(baseType->_class->registered && classType == 0)
+if(baseType->__anon1._class->__anon1.registered && classType == 0)
 {
-if(baseType->_class->registered->type == 3)
+if(baseType->__anon1._class->__anon1.registered->type == 3)
 classType = 3;
-else if(baseType->_class->registered->type == 2)
+else if(baseType->__anon1._class->__anon1.registered->type == 2)
 classType = 2;
-else if(baseType->_class->registered->type == 5)
+else if(baseType->__anon1._class->__anon1.registered->type == 5)
 classType = 5;
-else if(baseType->_class->registered->type == 4)
+else if(baseType->__anon1._class->__anon1.registered->type == 4)
 {
 wouldBeEnum = 0x1;
 }
@@ -1447,7 +1447,7 @@ baseName[0] = '\0';
 else
 unitType = 0x1;
 FreeType(baseType);
-if(((struct Specifier *)baseSpecs->first)->type == 0 && ((struct Specifier *)baseSpecs->first)->specifier == PRIVATE)
+if(((struct Specifier *)baseSpecs->first)->type == 0 && ((struct Specifier *)baseSpecs->first)->__anon1.specifier == PRIVATE)
 inheritanceAccess = 2;
 }
 if(classType == 0)
@@ -1460,7 +1460,7 @@ for(def = definitions->first; def; def = def->next)
 {
 if(def->type == 2)
 {
-struct Declaration * decl = def->decl;
+struct Declaration * decl = def->__anon1.decl;
 
 if(decl->type == 0)
 {
@@ -1469,15 +1469,15 @@ if(unitType)
 classType = 2;
 break;
 }
-if(decl->declarators)
+if(decl->__anon1.__anon1.declarators)
 {
 struct Declarator * d;
 
-for(d = (*decl->declarators).first; d; d = d->next)
+for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
 {
 if(d->type != 0)
 continue;
-if(d->structDecl.exp)
+if(d->__anon1.structDecl.exp)
 {
 classType = 2;
 break;
@@ -1493,7 +1493,7 @@ break;
 }
 if(classType == 0 && wouldBeEnum)
 classType = 4;
-regClass = symbol->registered = __ecereNameSpace__ecere__com__eSystem_RegisterClass((classType == 6) ? 1 : classType, symbol->string, baseName[0] ? baseName : (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), privateModule, buildingECERECOMModule ? 4 : declMode, inheritanceAccess);
+regClass = symbol->__anon1.registered = __ecereNameSpace__ecere__com__eSystem_RegisterClass((classType == 6) ? 1 : classType, symbol->string, baseName[0] ? baseName : (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), privateModule, buildingECERECOMModule ? 4 : declMode, inheritanceAccess);
 if(regClass)
 regClass->symbol = symbol;
 }
@@ -1513,21 +1513,21 @@ if(definitions != (((void *)0)))
 {
 for(def = definitions->first; def; def = def->next)
 {
-if(def->type == 0 && (def->function->isConstructor || def->function->isDestructor))
+if(def->type == 0 && (def->__anon1.function->isConstructor || def->__anon1.function->isDestructor))
 {
-struct Specifier * spec = def->function->specifiers ? (*def->function->specifiers).last : (((void *)0));
+struct Specifier * spec = def->__anon1.function->specifiers ? (*def->__anon1.function->specifiers).last : (((void *)0));
 
-if(!spec || spec->type != 1 || !spec->name || (strcmp(spec->name, regClass->name) && (!spec->symbol || !spec->symbol->registered || strcmp(spec->symbol->registered->name, regClass->name))))
+if(!spec || spec->type != 1 || !spec->__anon1.__anon1.name || (strcmp(spec->__anon1.__anon1.name, regClass->name) && (!spec->__anon1.__anon1.symbol || !spec->__anon1.__anon1.symbol->__anon1.registered || strcmp(spec->__anon1.__anon1.symbol->__anon1.registered->name, regClass->name))))
 {
-yylloc = def->function->loc;
-Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "wrong class name specified for %s\n", (((void *)0))), def->function->isConstructor ? __ecereNameSpace__ecere__GetTranslatedString("ec", "constructor", (((void *)0))) : __ecereNameSpace__ecere__GetTranslatedString("ec", "destructor", (((void *)0))));
+yylloc = def->__anon1.function->loc;
+Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "wrong class name specified for %s\n", (((void *)0))), def->__anon1.function->isConstructor ? __ecereNameSpace__ecere__GetTranslatedString("ec", "constructor", (((void *)0))) : __ecereNameSpace__ecere__GetTranslatedString("ec", "destructor", (((void *)0))));
 }
-FreeList(def->function->specifiers, FreeSpecifier);
-def->function->specifiers = (((void *)0));
+FreeList(def->__anon1.function->specifiers, FreeSpecifier);
+def->__anon1.function->specifiers = (((void *)0));
 }
-if(def->type == 0 && def->function->declarator)
+if(def->type == 0 && def->__anon1.function->declarator)
 {
-struct ClassFunction * func = def->function;
+struct ClassFunction * func = def->__anon1.function;
 
 func->_class = regClass;
 if(!redefinition && !func->dontMangle)
@@ -1557,15 +1557,15 @@ if(method && (method->type != 1 || method->_class == regClass))
 method->symbol = __extension__ ({
 struct Symbol * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol);
 
-__ecereInstance1->string = __ecereNameSpace__ecere__sys__CopyString(func->declarator->symbol->string), __ecereInstance1->id = func->declarator->symbol->id, __ecereInstance1->type = func->declarator->symbol->type, __ecereInstance1->method = method, __ecereInstance1;
+__ecereInstance1->string = __ecereNameSpace__ecere__sys__CopyString(func->declarator->symbol->string), __ecereInstance1->id = func->declarator->symbol->id, __ecereInstance1->type = func->declarator->symbol->type, __ecereInstance1->__anon1.method = method, __ecereInstance1;
 });
 if(func->declarator->symbol->type)
 func->declarator->symbol->type->refCount++;
-func->declarator->symbol->method = method;
+func->declarator->symbol->__anon1.method = method;
 }
 else
 {
-func->declarator->symbol->method = method;
+func->declarator->symbol->__anon1.method = method;
 }
 }
 }
@@ -1579,7 +1579,13 @@ for(param = (*symbol->templateParams).first; param; param = param->next)
 {
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg =
 {
-.member = 0
+
+.__anon1 = {
+
+.__anon1 = {
+.dataTypeString = 0
+}
+}
 };
 
 if(param->defaultArgument)
@@ -1587,60 +1593,60 @@ if(param->defaultArgument)
 switch(param->type)
 {
 case 0:
-defaultArg.dataTypeString = StringFromSpecDecl(param->defaultArgument->templateDatatype->specifiers, param->defaultArgument->templateDatatype->decl);
+defaultArg.__anon1.__anon1.dataTypeString = StringFromSpecDecl(param->defaultArgument->__anon1.templateDatatype->specifiers, param->defaultArgument->__anon1.templateDatatype->decl);
 break;
 case 1:
 {
 char memberString[1024];
 
 memberString[0] = '\0';
-if(param->defaultArgument->identifier->_class)
+if(param->defaultArgument->__anon1.identifier->_class)
 {
-if(param->defaultArgument->identifier->_class->type == 8)
+if(param->defaultArgument->__anon1.identifier->_class->type == 8)
 {
-if(param->defaultArgument->identifier->_class->templateParameter)
-strcpy(memberString, param->defaultArgument->identifier->_class->templateParameter->identifier->string);
+if(param->defaultArgument->__anon1.identifier->_class->__anon1.templateParameter)
+strcpy(memberString, param->defaultArgument->__anon1.identifier->_class->__anon1.templateParameter->identifier->string);
 }
 else
 {
-if(param->defaultArgument->identifier->_class->name)
-strcpy(memberString, param->defaultArgument->identifier->_class->name);
+if(param->defaultArgument->__anon1.identifier->_class->__anon1.__anon1.name)
+strcpy(memberString, param->defaultArgument->__anon1.identifier->_class->__anon1.__anon1.name);
 }
 }
 if(memberString[0])
 {
 strcat(memberString, "::");
 }
-strcat(memberString, param->defaultArgument->identifier->string);
-defaultArg.memberString = __ecereNameSpace__ecere__sys__CopyString(memberString);
+strcat(memberString, param->defaultArgument->__anon1.identifier->string);
+defaultArg.__anon1.__anon2.memberString = __ecereNameSpace__ecere__sys__CopyString(memberString);
 break;
 }
 case 2:
 {
 struct Operand op;
 
-param->defaultArgument->expression->destType = ProcessType(param->dataType->specifiers, param->dataType->decl);
-ProcessExpressionType(param->defaultArgument->expression);
-ComputeExpression(param->defaultArgument->expression);
-op = GetOperand(param->defaultArgument->expression);
-defaultArg.expression.ui64 = op.ui64;
+param->defaultArgument->__anon1.expression->destType = ProcessType(param->__anon1.dataType->specifiers, param->__anon1.dataType->decl);
+ProcessExpressionType(param->defaultArgument->__anon1.expression);
+ComputeExpression(param->defaultArgument->__anon1.expression);
+op = GetOperand(param->defaultArgument->__anon1.expression);
+defaultArg.__anon1.expression.__anon1.ui64 = op.__anon1.ui64;
 break;
 }
 }
 }
 if(param->type == 1)
 {
-__ecereNameSpace__ecere__com__eClass_AddTemplateParameter(regClass, param->identifier->string, 1, (void *)param->memberType, &defaultArg);
+__ecereNameSpace__ecere__com__eClass_AddTemplateParameter(regClass, param->identifier->string, 1, (void *)param->__anon1.memberType, &defaultArg);
 }
 else
 {
-char * typeString = param->dataType ? StringFromSpecDecl(param->dataType->specifiers, param->dataType->decl) : (((void *)0));
+char * typeString = param->__anon1.dataType ? StringFromSpecDecl(param->__anon1.dataType->specifiers, param->__anon1.dataType->decl) : (((void *)0));
 
 __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(regClass, param->identifier->string, param->type, typeString, &defaultArg);
 (__ecereNameSpace__ecere__com__eSystem_Delete(typeString), typeString = 0);
 }
 if(param->type == 0 || param->type == 1)
-(__ecereNameSpace__ecere__com__eSystem_Delete((void *)defaultArg.dataTypeString), defaultArg.dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)defaultArg.__anon1.__anon1.dataTypeString), defaultArg.__anon1.__anon1.dataTypeString = 0);
 }
 __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(regClass);
 }
@@ -1678,9 +1684,9 @@ next = external->next;
 curExternal = external;
 if(external->type == 2)
 {
-struct ClassDefinition * _class = external->_class;
+struct ClassDefinition * _class = external->__anon1._class;
 
-if(_class->definitions && (!_class->symbol->registered || !inCompiler))
+if(_class->definitions && (!_class->symbol->__anon1.registered || !inCompiler))
 {
 ProcessClass(0, _class->definitions, _class->symbol, _class->baseSpecs, (((void *)0)), &_class->loc, ast, external->prev, (((void *)0)), _class->declMode);
 _class->symbol->isStatic = _class->declMode == 3;
@@ -1688,20 +1694,20 @@ _class->symbol->isStatic = _class->declMode == 3;
 }
 else if(external->type == 1)
 {
-struct Declaration * declaration = external->declaration;
+struct Declaration * declaration = external->__anon1.declaration;
 
 if(declaration->type == 1)
 {
-if(declaration->specifiers)
+if(declaration->__anon1.__anon1.specifiers)
 {
 struct Specifier * specifier;
 
-for(specifier = (*declaration->specifiers).first; specifier; specifier = specifier->next)
+for(specifier = (*declaration->__anon1.__anon1.specifiers).first; specifier; specifier = specifier->next)
 {
-if((specifier->type == 2 || specifier->type == 3 || specifier->type == 4) && specifier->id && specifier->id->string && (declaration->declMode || specifier->baseSpecs || (specifier->type == 2 && specifier->definitions)))
+if((specifier->type == 2 || specifier->type == 3 || specifier->type == 4) && specifier->__anon1.__anon2.id && specifier->__anon1.__anon2.id->string && (declaration->declMode || specifier->__anon1.__anon2.baseSpecs || (specifier->type == 2 && specifier->__anon1.__anon2.definitions)))
 {
-struct Symbol * type = FindType(globalContext, specifier->id->string);
-struct Symbol * symbol = FindClass(specifier->id->string);
+struct Symbol * type = FindType(globalContext, specifier->__anon1.__anon2.id->string);
+struct Symbol * symbol = FindClass(specifier->__anon1.__anon2.id->string);
 
 if(type)
 {
@@ -1712,7 +1718,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&globalContext->cl
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*excludedSymbols), symbol);
 }
 }
-else if(symbol && !symbol->registered)
+else if(symbol && !symbol->__anon1.registered)
 {
 int classType;
 
@@ -1722,7 +1728,7 @@ else if(specifier->type == 4)
 classType = 6;
 else
 classType = 1;
-ProcessClass(classType, specifier->definitions, symbol, specifier->baseSpecs, specifier->list, &specifier->loc, ast, external->prev, declaration->declarators, declaration->declMode);
+ProcessClass(classType, specifier->__anon1.__anon2.definitions, symbol, specifier->__anon1.__anon2.baseSpecs, specifier->__anon1.__anon2.list, &specifier->loc, ast, external->prev, declaration->__anon1.__anon1.declarators, declaration->declMode);
 symbol->isStatic = declaration->declMode == 3;
 }
 }
@@ -1739,7 +1745,7 @@ for(external = (*ast).first; external; external = external->next)
 {
 if(external->type == 2)
 {
-struct ClassDefinition * _class = external->_class;
+struct ClassDefinition * _class = external->__anon1._class;
 
 if(_class->symbol)
 {
@@ -1749,26 +1755,26 @@ for(link = _class->symbol->templatedClasses.first; link; link = link->next)
 {
 struct Symbol * symbol = link->data;
 
-symbol->registered = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, symbol->string);
+symbol->__anon1.registered = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, symbol->string);
 }
 }
 }
 else if(external->type == 1)
 {
-struct Declaration * declaration = external->declaration;
+struct Declaration * declaration = external->__anon1.declaration;
 
 if(declaration->type == 1)
 {
-if(declaration->specifiers)
+if(declaration->__anon1.__anon1.specifiers)
 {
 struct Specifier * specifier;
 
-for(specifier = (*declaration->specifiers).first; specifier; specifier = specifier->next)
+for(specifier = (*declaration->__anon1.__anon1.specifiers).first; specifier; specifier = specifier->next)
 {
-if((specifier->type == 2 || specifier->type == 3 || specifier->type == 4) && specifier->id && specifier->id->string && (declaration->declMode || specifier->baseSpecs || (specifier->type == 2 && specifier->definitions)))
+if((specifier->type == 2 || specifier->type == 3 || specifier->type == 4) && specifier->__anon1.__anon2.id && specifier->__anon1.__anon2.id->string && (declaration->declMode || specifier->__anon1.__anon2.baseSpecs || (specifier->type == 2 && specifier->__anon1.__anon2.definitions)))
 {
-struct Symbol * type = FindType(globalContext, specifier->id->string);
-struct Symbol * symbol = FindClass(specifier->id->string);
+struct Symbol * type = FindType(globalContext, specifier->__anon1.__anon2.id->string);
+struct Symbol * symbol = FindClass(specifier->__anon1.__anon2.id->string);
 
 if(type)
 {
@@ -1781,7 +1787,7 @@ for(link = symbol->templatedClasses.first; link; link = link->next)
 {
 struct Symbol * tplSymbol = link->data;
 
-tplSymbol->registered = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, tplSymbol->string);
+tplSymbol->__anon1.registered = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, tplSymbol->string);
 tplSymbol->module = symbol->module ? symbol->module : mainModule;
 }
 }
index da53a30..3c27732 100644 (file)
@@ -160,7 +160,7 @@ union
 {
 char * s;
 struct Attrib * attr;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefinition;
@@ -231,14 +231,14 @@ struct
 {
 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;
@@ -326,7 +326,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -354,7 +354,7 @@ union
 {
 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));
@@ -376,7 +376,7 @@ float f;
 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;
@@ -393,14 +393,14 @@ struct
 {
 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
 {
@@ -479,7 +479,7 @@ 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;
@@ -518,7 +518,7 @@ union
 struct Expression * expression;
 struct Identifier * identifier;
 struct TemplateDatatype * templateDatatype;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
@@ -534,7 +534,7 @@ union
 {
 struct TemplateDatatype * dataType;
 int memberType;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct TemplateArgument * defaultArgument;
 const char *  dataTypeString;
 struct Type * baseType;
@@ -557,7 +557,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -567,11 +567,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -634,7 +634,7 @@ struct
 {
 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;
@@ -684,7 +684,7 @@ struct Declaration * declaration;
 char *  importString;
 struct Identifier * id;
 struct DBTableDef * table;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 int importType;
 } __attribute__ ((gcc_struct));
 
@@ -729,7 +729,7 @@ union
 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
@@ -738,20 +738,20 @@ struct
 {
 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;
@@ -794,7 +794,7 @@ struct
 {
 struct __ecereNameSpace__ecere__sys__OldList members;
 char *  enumName;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Type * returnType;
@@ -802,13 +802,13 @@ struct __ecereNameSpace__ecere__sys__OldList params;
 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;
@@ -816,10 +816,10 @@ int arraySize;
 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;
@@ -973,7 +973,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -983,9 +983,9 @@ 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 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(struct __ecereNameSpace__ecere__sys__OldList * this, void *  item);
@@ -1030,12 +1030,12 @@ case 15:
 {
 struct __ecereNameSpace__ecere__sys__NamedLink * member, * next;
 
-if(type->enumName)
-(__ecereNameSpace__ecere__com__eSystem_Delete(type->enumName), type->enumName = 0);
-for(member = type->members.first; member; member = next)
+if(type->__anon1.__anon1.enumName)
+(__ecereNameSpace__ecere__com__eSystem_Delete(type->__anon1.__anon1.enumName), type->__anon1.__anon1.enumName = 0);
+for(member = type->__anon1.__anon1.members.first; member; member = next)
 {
 next = member->next;
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(&type->members, member);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(&type->__anon1.__anon1.members, member);
 (__ecereNameSpace__ecere__com__eSystem_Delete(member->name), member->name = 0);
 ((member ? (__ecereClass___ecereNameSpace__ecere__sys__NamedLink->Destructor ? __ecereClass___ecereNameSpace__ecere__sys__NamedLink->Destructor((void *)member) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(member)) : 0), member = 0);
 }
@@ -1046,12 +1046,12 @@ case 10:
 {
 struct Type * member, * next;
 
-(__ecereNameSpace__ecere__com__eSystem_Delete(type->enumName), type->enumName = 0);
-for(member = type->members.first; member; member = next)
+(__ecereNameSpace__ecere__com__eSystem_Delete(type->__anon1.__anon1.enumName), type->__anon1.__anon1.enumName = 0);
+for(member = type->__anon1.__anon1.members.first; member; member = next)
 {
 next = member->next;
 if(member->refCount == 1)
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(&type->members, member);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(&type->__anon1.__anon1.members, member);
 FreeType(member);
 }
 break;
@@ -1060,9 +1060,9 @@ case 11:
 {
 struct Type * param, * next;
 
-if(type->returnType)
-FreeType(type->returnType);
-for(param = type->params.first; param; param = next)
+if(type->__anon1.__anon2.returnType)
+FreeType(type->__anon1.__anon2.returnType);
+for(param = type->__anon1.__anon2.params.first; param; param = next)
 {
 next = param->next;
 FreeType(param);
@@ -1070,11 +1070,11 @@ FreeType(param);
 break;
 }
 case 12:
-if(type->freeExp && type->arraySizeExp)
-FreeExpression(type->arraySizeExp);
+if(type->__anon1.__anon4.freeExp && type->__anon1.__anon4.arraySizeExp)
+FreeExpression(type->__anon1.__anon4.arraySizeExp);
 case 13:
-if(type->type)
-FreeType(type->type);
+if(type->__anon1.type)
+FreeType(type->__anon1.type);
 break;
 }
 (__ecereNameSpace__ecere__com__eSystem_Delete(type->name), type->name = 0);
@@ -1191,16 +1191,16 @@ void FreeTemplateArgument(struct TemplateArgument * arg)
 switch(arg->type)
 {
 case 2:
-if(arg->expression)
-FreeExpression(arg->expression);
+if(arg->__anon1.expression)
+FreeExpression(arg->__anon1.expression);
 break;
 case 1:
-if(arg->identifier)
-FreeIdentifier(arg->identifier);
+if(arg->__anon1.identifier)
+FreeIdentifier(arg->__anon1.identifier);
 break;
 case 0:
-if(arg->templateDatatype)
-FreeTemplateDataType(arg->templateDatatype);
+if(arg->__anon1.templateDatatype)
+FreeTemplateDataType(arg->__anon1.templateDatatype);
 break;
 }
 if(arg->name)
@@ -1229,8 +1229,8 @@ FreeIdentifier(param->identifier);
 }
 if(param->type == 0 || param->type == 2)
 {
-if(param->dataType)
-FreeTemplateDataType(param->dataType);
+if(param->__anon1.dataType)
+FreeTemplateDataType(param->__anon1.dataType);
 }
 if(param->defaultArgument)
 FreeTemplateArgument(param->defaultArgument);
@@ -1365,7 +1365,7 @@ struct
 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;
@@ -1401,8 +1401,8 @@ struct
 {
 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));
@@ -1414,75 +1414,75 @@ void FreeSpecifierContents(struct Specifier * spec)
 switch(spec->type)
 {
 case 1:
-(__ecereNameSpace__ecere__com__eSystem_Delete(spec->name), spec->name = 0);
-if(spec->templateArgs)
+(__ecereNameSpace__ecere__com__eSystem_Delete(spec->__anon1.__anon1.name), spec->__anon1.__anon1.name = 0);
+if(spec->__anon1.__anon1.templateArgs)
 {
-FreeList(spec->templateArgs, FreeTemplateArgument);
-spec->templateArgs = (((void *)0));
+FreeList(spec->__anon1.__anon1.templateArgs, FreeTemplateArgument);
+spec->__anon1.__anon1.templateArgs = (((void *)0));
 }
 break;
 case 5:
-if(spec->extDecl)
+if(spec->__anon1.__anon1.extDecl)
 {
-FreeExtDecl(spec->extDecl);
-spec->extDecl = (((void *)0));
+FreeExtDecl(spec->__anon1.__anon1.extDecl);
+spec->__anon1.__anon1.extDecl = (((void *)0));
 }
 break;
 case 2:
-if(spec->baseSpecs)
+if(spec->__anon1.__anon2.baseSpecs)
 {
-FreeList(spec->baseSpecs, FreeSpecifier);
-spec->baseSpecs = (((void *)0));
+FreeList(spec->__anon1.__anon2.baseSpecs, FreeSpecifier);
+spec->__anon1.__anon2.baseSpecs = (((void *)0));
 }
-if(spec->id)
+if(spec->__anon1.__anon2.id)
 {
-FreeIdentifier(spec->id);
-spec->id = (((void *)0));
+FreeIdentifier(spec->__anon1.__anon2.id);
+spec->__anon1.__anon2.id = (((void *)0));
 }
-if(spec->list)
+if(spec->__anon1.__anon2.list)
 {
-FreeList(spec->list, FreeEnumerator);
-spec->list = (((void *)0));
+FreeList(spec->__anon1.__anon2.list, FreeEnumerator);
+spec->__anon1.__anon2.list = (((void *)0));
 }
-if(spec->definitions)
+if(spec->__anon1.__anon2.definitions)
 {
-FreeList(spec->definitions, FreeClassDef);
-spec->definitions = (((void *)0));
+FreeList(spec->__anon1.__anon2.definitions, FreeClassDef);
+spec->__anon1.__anon2.definitions = (((void *)0));
 }
 break;
 case 3:
 case 4:
-if(spec->id)
+if(spec->__anon1.__anon2.id)
 {
-FreeIdentifier(spec->id);
-spec->id = (((void *)0));
+FreeIdentifier(spec->__anon1.__anon2.id);
+spec->__anon1.__anon2.id = (((void *)0));
 }
-if(spec->definitions)
+if(spec->__anon1.__anon2.definitions)
 {
-FreeList(spec->definitions, FreeClassDef);
-spec->definitions = (((void *)0));
+FreeList(spec->__anon1.__anon2.definitions, FreeClassDef);
+spec->__anon1.__anon2.definitions = (((void *)0));
 }
-if(spec->baseSpecs)
+if(spec->__anon1.__anon2.baseSpecs)
 {
-FreeList(spec->baseSpecs, FreeSpecifier);
-spec->baseSpecs = (((void *)0));
+FreeList(spec->__anon1.__anon2.baseSpecs, FreeSpecifier);
+spec->__anon1.__anon2.baseSpecs = (((void *)0));
 }
-if(spec->extDeclStruct)
+if(spec->__anon1.__anon2.extDeclStruct)
 {
-FreeExtDecl(spec->extDeclStruct);
-spec->extDeclStruct = (((void *)0));
+FreeExtDecl(spec->__anon1.__anon2.extDeclStruct);
+spec->__anon1.__anon2.extDeclStruct = (((void *)0));
 }
-if(spec->ctx)
+if(spec->__anon1.__anon2.ctx)
 {
-FreeContext(spec->ctx);
-((spec->ctx ? (__ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)spec->ctx) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(spec->ctx)) : 0), spec->ctx = 0);
+FreeContext(spec->__anon1.__anon2.ctx);
+((spec->__anon1.__anon2.ctx ? (__ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)spec->__anon1.__anon2.ctx) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(spec->__anon1.__anon2.ctx)) : 0), spec->__anon1.__anon2.ctx = 0);
 }
 break;
 case 7:
-if(spec->_class)
+if(spec->__anon1._class)
 {
-FreeSpecifier(spec->_class);
-spec->_class = (((void *)0));
+FreeSpecifier(spec->__anon1._class);
+spec->__anon1._class = (((void *)0));
 }
 break;
 }
@@ -1533,165 +1533,165 @@ switch(exp->type)
 {
 case 13:
 case 26:
-FreeExpression(exp->_new.size);
-FreeTypeName(exp->_new.typeName);
+FreeExpression(exp->__anon1._new.size);
+FreeTypeName(exp->__anon1._new.typeName);
 break;
 case 14:
 case 27:
-FreeExpression(exp->_renew.exp);
-FreeExpression(exp->_renew.size);
-FreeTypeName(exp->_renew.typeName);
+FreeExpression(exp->__anon1._renew.exp);
+FreeExpression(exp->__anon1._renew.size);
+FreeTypeName(exp->__anon1._renew.typeName);
 break;
 case 2:
-(__ecereNameSpace__ecere__com__eSystem_Delete(exp->constant), exp->constant = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete(exp->__anon1.__anon1.constant), exp->__anon1.__anon1.constant = 0);
 break;
 case 0:
-if(exp->identifier)
-FreeIdentifier(exp->identifier);
+if(exp->__anon1.__anon1.identifier)
+FreeIdentifier(exp->__anon1.__anon1.identifier);
 break;
 case 1:
-if(exp->instance)
+if(exp->__anon1.instance)
 {
-FreeInstance(exp->instance);
-exp->instance = (((void *)0));
+FreeInstance(exp->__anon1.instance);
+exp->__anon1.instance = (((void *)0));
 }
 break;
 case 3:
-(__ecereNameSpace__ecere__com__eSystem_Delete(exp->string), exp->string = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete(exp->__anon1.__anon2.string), exp->__anon1.__anon2.string = 0);
 break;
 case 4:
-if(exp->op.exp1)
-FreeExpression(exp->op.exp1);
-if(exp->op.exp2)
-FreeExpression(exp->op.exp2);
+if(exp->__anon1.op.exp1)
+FreeExpression(exp->__anon1.op.exp1);
+if(exp->__anon1.op.exp2)
+FreeExpression(exp->__anon1.op.exp2);
 break;
 case 5:
 {
-FreeList(exp->list, FreeExpression);
+FreeList(exp->__anon1.list, FreeExpression);
 break;
 }
 case 6:
 {
-if(exp->index.exp)
-FreeExpression(exp->index.exp);
-if(exp->index.index)
-FreeList(exp->index.index, FreeExpression);
+if(exp->__anon1.index.exp)
+FreeExpression(exp->__anon1.index.exp);
+if(exp->__anon1.index.index)
+FreeList(exp->__anon1.index.index, FreeExpression);
 break;
 }
 case 7:
 {
-if(exp->call.exp)
-FreeExpression(exp->call.exp);
-if(exp->call.arguments)
-FreeList(exp->call.arguments, FreeExpression);
+if(exp->__anon1.call.exp)
+FreeExpression(exp->__anon1.call.exp);
+if(exp->__anon1.call.arguments)
+FreeList(exp->__anon1.call.arguments, FreeExpression);
 break;
 }
 case 8:
 case 9:
-if(exp->member.exp)
-FreeExpression(exp->member.exp);
-if(exp->member.member)
-FreeIdentifier(exp->member.member);
+if(exp->__anon1.member.exp)
+FreeExpression(exp->__anon1.member.exp);
+if(exp->__anon1.member.member)
+FreeIdentifier(exp->__anon1.member.member);
 break;
 case 10:
-FreeTypeName(exp->_new.typeName);
+FreeTypeName(exp->__anon1._new.typeName);
 break;
 case 36:
-FreeTypeName(exp->_new.typeName);
+FreeTypeName(exp->__anon1._new.typeName);
 break;
 case 11:
-if(exp->cast.exp)
-FreeExpression(exp->cast.exp);
-FreeTypeName(exp->cast.typeName);
+if(exp->__anon1.cast.exp)
+FreeExpression(exp->__anon1.cast.exp);
+FreeTypeName(exp->__anon1.cast.typeName);
 break;
 case 12:
 {
-if(exp->cond.cond)
-FreeExpression(exp->cond.cond);
-if(exp->cond.exp)
-FreeList(exp->cond.exp, FreeExpression);
-if(exp->cond.elseExp)
-FreeExpression(exp->cond.elseExp);
+if(exp->__anon1.cond.cond)
+FreeExpression(exp->__anon1.cond.cond);
+if(exp->__anon1.cond.exp)
+FreeList(exp->__anon1.cond.exp, FreeExpression);
+if(exp->__anon1.cond.elseExp)
+FreeExpression(exp->__anon1.cond.elseExp);
 break;
 }
 case 23:
 {
-if(exp->compound)
-FreeStatement(exp->compound);
+if(exp->__anon1.compound)
+FreeStatement(exp->__anon1.compound);
 break;
 }
 case 32:
 {
-if(exp->list)
-FreeList(exp->list, FreeExpression);
+if(exp->__anon1.list)
+FreeList(exp->__anon1.list, FreeExpression);
 break;
 }
 case 33:
 {
-if(exp->initializer.typeName)
-FreeTypeName(exp->initializer.typeName);
-if(exp->initializer.initializer)
-FreeInitializer(exp->initializer.initializer);
+if(exp->__anon1.initializer.typeName)
+FreeTypeName(exp->__anon1.initializer.typeName);
+if(exp->__anon1.initializer.initializer)
+FreeInitializer(exp->__anon1.initializer.initializer);
 break;
 }
 case 16:
 break;
 case 24:
-if(exp->_classExp.specifiers)
-FreeList(exp->_classExp.specifiers, FreeSpecifier);
-if(exp->_classExp.decl)
-FreeDeclarator(exp->_classExp.decl);
+if(exp->__anon1._classExp.specifiers)
+FreeList(exp->__anon1._classExp.specifiers, FreeSpecifier);
+if(exp->__anon1._classExp.decl)
+FreeDeclarator(exp->__anon1._classExp.decl);
 break;
 case 29:
 case 31:
 case 30:
-if(exp->db.id)
-FreeIdentifier(exp->db.id);
-(__ecereNameSpace__ecere__com__eSystem_Delete(exp->db.table), exp->db.table = 0);
+if(exp->__anon1.db.id)
+FreeIdentifier(exp->__anon1.db.id);
+(__ecereNameSpace__ecere__com__eSystem_Delete(exp->__anon1.db.table), exp->__anon1.db.table = 0);
 break;
 case 28:
-if(exp->dbopen.ds)
-FreeExpression(exp->dbopen.ds);
-if(exp->dbopen.name)
-FreeExpression(exp->dbopen.name);
+if(exp->__anon1.dbopen.ds)
+FreeExpression(exp->__anon1.dbopen.ds);
+if(exp->__anon1.dbopen.name)
+FreeExpression(exp->__anon1.dbopen.name);
 break;
 case 34:
-if(exp->vaArg.exp)
-FreeExpression(exp->vaArg.exp);
-if(exp->vaArg.typeName)
-FreeTypeName(exp->vaArg.typeName);
+if(exp->__anon1.vaArg.exp)
+FreeExpression(exp->__anon1.vaArg.exp);
+if(exp->__anon1.vaArg.typeName)
+FreeTypeName(exp->__anon1.vaArg.typeName);
 break;
 case 35:
-if(exp->list)
-FreeList(exp->list, FreeExpression);
+if(exp->__anon1.list)
+FreeList(exp->__anon1.list, FreeExpression);
 break;
 case 15:
-if(exp->_class)
-FreeSpecifier(exp->_class);
+if(exp->__anon1._class)
+FreeSpecifier(exp->__anon1._class);
 break;
 case 25:
-if(exp->classData.id)
-FreeIdentifier(exp->classData.id);
+if(exp->__anon1.classData.id)
+FreeIdentifier(exp->__anon1.classData.id);
 break;
 case 18:
-if(exp->identifier)
-FreeIdentifier(exp->identifier);
+if(exp->__anon1.__anon1.identifier)
+FreeIdentifier(exp->__anon1.__anon1.identifier);
 break;
 case 20:
-(__ecereNameSpace__ecere__com__eSystem_Delete(exp->constant), exp->constant = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete(exp->__anon1.__anon1.constant), exp->__anon1.__anon1.constant = 0);
 break;
 case 37:
 case 19:
-if(exp->member.exp)
-FreeExpression(exp->member.exp);
-if(exp->member.member)
-FreeIdentifier(exp->member.member);
+if(exp->__anon1.member.exp)
+FreeExpression(exp->__anon1.member.exp);
+if(exp->__anon1.member.member)
+FreeIdentifier(exp->__anon1.member.member);
 break;
 case 38:
-if(exp->call.exp)
-FreeExpression(exp->call.exp);
-if(exp->call.arguments)
-FreeList(exp->call.arguments, FreeExpression);
+if(exp->__anon1.call.exp)
+FreeExpression(exp->__anon1.call.exp);
+if(exp->__anon1.call.arguments)
+FreeList(exp->__anon1.call.arguments, FreeExpression);
 break;
 case 17:
 case 21:
@@ -1747,10 +1747,10 @@ FreeExpression(attr->exp);
 
 void FreeExtDecl(struct ExtDecl * extDecl)
 {
-if(extDecl->type == 1 && extDecl->attr)
-FreeAttrib(extDecl->attr);
+if(extDecl->type == 1 && extDecl->__anon1.attr)
+FreeAttrib(extDecl->__anon1.attr);
 else if(extDecl->type == 0)
-(__ecereNameSpace__ecere__com__eSystem_Delete(extDecl->s), extDecl->s = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete(extDecl->__anon1.s), extDecl->__anon1.s = 0);
 ((extDecl ? (__ecereClass_ExtDecl->Destructor ? __ecereClass_ExtDecl->Destructor((void *)extDecl) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(extDecl)) : 0), extDecl = 0);
 }
 
@@ -1761,35 +1761,35 @@ FreeDeclarator(decl->declarator);
 switch(decl->type)
 {
 case 0:
-if(decl->structDecl.exp)
-FreeExpression(decl->structDecl.exp);
-if(decl->structDecl.posExp)
-FreeExpression(decl->structDecl.posExp);
-if(decl->structDecl.attrib)
-FreeAttrib(decl->structDecl.attrib);
+if(decl->__anon1.structDecl.exp)
+FreeExpression(decl->__anon1.structDecl.exp);
+if(decl->__anon1.structDecl.posExp)
+FreeExpression(decl->__anon1.structDecl.posExp);
+if(decl->__anon1.structDecl.attrib)
+FreeAttrib(decl->__anon1.structDecl.attrib);
 break;
 case 1:
-FreeIdentifier(decl->identifier);
+FreeIdentifier(decl->__anon1.identifier);
 break;
 case 2:
 break;
 case 3:
-if(decl->array.exp)
-FreeExpression(decl->array.exp);
-if(decl->array.enumClass)
-FreeSpecifier(decl->array.enumClass);
+if(decl->__anon1.array.exp)
+FreeExpression(decl->__anon1.array.exp);
+if(decl->__anon1.array.enumClass)
+FreeSpecifier(decl->__anon1.array.enumClass);
 break;
 case 4:
-FreeList(decl->function.parameters, FreeTypeName);
+FreeList(decl->__anon1.function.parameters, FreeTypeName);
 break;
 case 5:
-if(decl->pointer.pointer)
-FreePointer(decl->pointer.pointer);
+if(decl->__anon1.pointer.pointer)
+FreePointer(decl->__anon1.pointer.pointer);
 break;
 case 6:
 case 7:
-if(decl->extended.extended)
-FreeExtDecl(decl->extended.extended);
+if(decl->__anon1.extended.extended)
+FreeExtDecl(decl->__anon1.extended.extended);
 break;
 }
 ((decl ? (__ecereClass_Declarator->Destructor ? __ecereClass_Declarator->Destructor((void *)decl) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(decl)) : 0), decl = 0);
@@ -1834,106 +1834,106 @@ switch(stmt->type)
 {
 case 13:
 {
-if(stmt->asmStmt.spec)
-FreeSpecifier(stmt->asmStmt.spec);
-if(stmt->asmStmt.inputFields)
-FreeList(stmt->asmStmt.inputFields, FreeAsmField);
-if(stmt->asmStmt.outputFields)
-FreeList(stmt->asmStmt.outputFields, FreeAsmField);
-if(stmt->asmStmt.clobberedFields)
-FreeList(stmt->asmStmt.clobberedFields, FreeAsmField);
-(__ecereNameSpace__ecere__com__eSystem_Delete(stmt->asmStmt.statements), stmt->asmStmt.statements = 0);
+if(stmt->__anon1.asmStmt.spec)
+FreeSpecifier(stmt->__anon1.asmStmt.spec);
+if(stmt->__anon1.asmStmt.inputFields)
+FreeList(stmt->__anon1.asmStmt.inputFields, FreeAsmField);
+if(stmt->__anon1.asmStmt.outputFields)
+FreeList(stmt->__anon1.asmStmt.outputFields, FreeAsmField);
+if(stmt->__anon1.asmStmt.clobberedFields)
+FreeList(stmt->__anon1.asmStmt.clobberedFields, FreeAsmField);
+(__ecereNameSpace__ecere__com__eSystem_Delete(stmt->__anon1.asmStmt.statements), stmt->__anon1.asmStmt.statements = 0);
 break;
 }
 case 0:
-if(stmt->labeled.stmt)
-FreeStatement(stmt->labeled.stmt);
+if(stmt->__anon1.labeled.stmt)
+FreeStatement(stmt->__anon1.labeled.stmt);
 break;
 case 1:
-if(stmt->caseStmt.exp)
-FreeExpression(stmt->caseStmt.exp);
-if(stmt->caseStmt.stmt)
-FreeStatement(stmt->caseStmt.stmt);
+if(stmt->__anon1.caseStmt.exp)
+FreeExpression(stmt->__anon1.caseStmt.exp);
+if(stmt->__anon1.caseStmt.stmt)
+FreeStatement(stmt->__anon1.caseStmt.stmt);
 break;
 case 14:
-if(stmt->decl)
-FreeDeclaration(stmt->decl);
+if(stmt->__anon1.decl)
+FreeDeclaration(stmt->__anon1.decl);
 break;
 case 2:
 {
-if(stmt->compound.declarations)
-FreeList(stmt->compound.declarations, FreeDeclaration);
-if(stmt->compound.statements)
-FreeList(stmt->compound.statements, FreeStatement);
-if(stmt->compound.context)
+if(stmt->__anon1.compound.declarations)
+FreeList(stmt->__anon1.compound.declarations, FreeDeclaration);
+if(stmt->__anon1.compound.statements)
+FreeList(stmt->__anon1.compound.statements, FreeStatement);
+if(stmt->__anon1.compound.context)
 {
-FreeContext(stmt->compound.context);
-((stmt->compound.context ? (__ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)stmt->compound.context) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(stmt->compound.context)) : 0), stmt->compound.context = 0);
+FreeContext(stmt->__anon1.compound.context);
+((stmt->__anon1.compound.context ? (__ecereClass_Context->Destructor ? __ecereClass_Context->Destructor((void *)stmt->__anon1.compound.context) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(stmt->__anon1.compound.context)) : 0), stmt->__anon1.compound.context = 0);
 }
 break;
 }
 case 3:
 {
-if(stmt->expressions)
-FreeList(stmt->expressions, FreeExpression);
+if(stmt->__anon1.expressions)
+FreeList(stmt->__anon1.expressions, FreeExpression);
 break;
 }
 case 4:
 {
-if(stmt->ifStmt.exp)
-FreeList(stmt->ifStmt.exp, FreeExpression);
-if(stmt->ifStmt.stmt)
-FreeStatement(stmt->ifStmt.stmt);
-if(stmt->ifStmt.elseStmt)
-FreeStatement(stmt->ifStmt.elseStmt);
+if(stmt->__anon1.ifStmt.exp)
+FreeList(stmt->__anon1.ifStmt.exp, FreeExpression);
+if(stmt->__anon1.ifStmt.stmt)
+FreeStatement(stmt->__anon1.ifStmt.stmt);
+if(stmt->__anon1.ifStmt.elseStmt)
+FreeStatement(stmt->__anon1.ifStmt.elseStmt);
 break;
 }
 case 5:
 {
-if(stmt->switchStmt.exp)
-FreeList(stmt->switchStmt.exp, FreeExpression);
-if(stmt->switchStmt.stmt)
-FreeStatement(stmt->switchStmt.stmt);
+if(stmt->__anon1.switchStmt.exp)
+FreeList(stmt->__anon1.switchStmt.exp, FreeExpression);
+if(stmt->__anon1.switchStmt.stmt)
+FreeStatement(stmt->__anon1.switchStmt.stmt);
 break;
 }
 case 6:
 {
-if(stmt->whileStmt.exp)
-FreeList(stmt->whileStmt.exp, FreeExpression);
-if(stmt->whileStmt.stmt)
-FreeStatement(stmt->whileStmt.stmt);
+if(stmt->__anon1.whileStmt.exp)
+FreeList(stmt->__anon1.whileStmt.exp, FreeExpression);
+if(stmt->__anon1.whileStmt.stmt)
+FreeStatement(stmt->__anon1.whileStmt.stmt);
 break;
 }
 case 7:
 {
-if(stmt->doWhile.stmt)
-FreeStatement(stmt->doWhile.stmt);
-if(stmt->doWhile.exp)
-FreeList(stmt->doWhile.exp, FreeExpression);
+if(stmt->__anon1.doWhile.stmt)
+FreeStatement(stmt->__anon1.doWhile.stmt);
+if(stmt->__anon1.doWhile.exp)
+FreeList(stmt->__anon1.doWhile.exp, FreeExpression);
 break;
 }
 case 8:
 {
-if(stmt->forStmt.init)
-FreeStatement(stmt->forStmt.init);
-if(stmt->forStmt.check)
-FreeStatement(stmt->forStmt.check);
-if(stmt->forStmt.increment)
-FreeList(stmt->forStmt.increment, FreeExpression);
-if(stmt->forStmt.stmt)
-FreeStatement(stmt->forStmt.stmt);
+if(stmt->__anon1.forStmt.init)
+FreeStatement(stmt->__anon1.forStmt.init);
+if(stmt->__anon1.forStmt.check)
+FreeStatement(stmt->__anon1.forStmt.check);
+if(stmt->__anon1.forStmt.increment)
+FreeList(stmt->__anon1.forStmt.increment, FreeExpression);
+if(stmt->__anon1.forStmt.stmt)
+FreeStatement(stmt->__anon1.forStmt.stmt);
 break;
 }
 case 18:
 {
-if(stmt->forEachStmt.id)
-FreeIdentifier(stmt->forEachStmt.id);
-if(stmt->forEachStmt.exp)
-FreeList(stmt->forEachStmt.exp, FreeExpression);
-if(stmt->forEachStmt.filter)
-FreeList(stmt->forEachStmt.filter, FreeExpression);
-if(stmt->forEachStmt.stmt)
-FreeStatement(stmt->forEachStmt.stmt);
+if(stmt->__anon1.forEachStmt.id)
+FreeIdentifier(stmt->__anon1.forEachStmt.id);
+if(stmt->__anon1.forEachStmt.exp)
+FreeList(stmt->__anon1.forEachStmt.exp, FreeExpression);
+if(stmt->__anon1.forEachStmt.filter)
+FreeList(stmt->__anon1.forEachStmt.filter, FreeExpression);
+if(stmt->__anon1.forEachStmt.stmt)
+FreeStatement(stmt->__anon1.forEachStmt.stmt);
 break;
 }
 case 9:
@@ -1943,19 +1943,19 @@ break;
 case 11:
 break;
 case 12:
-if(stmt->expressions)
-FreeList(stmt->expressions, FreeExpression);
+if(stmt->__anon1.expressions)
+FreeList(stmt->__anon1.expressions, FreeExpression);
 break;
 case 17:
 case 15:
 case 16:
 {
-if(stmt->_watch.watcher)
-FreeExpression(stmt->_watch.watcher);
-if(stmt->_watch.object)
-FreeExpression(stmt->_watch.object);
-if(stmt->_watch.watches)
-FreeList(stmt->_watch.watches, (stmt->type == 17) ? FreePropertyWatch : FreeIdentifier);
+if(stmt->__anon1._watch.watcher)
+FreeExpression(stmt->__anon1._watch.watcher);
+if(stmt->__anon1._watch.object)
+FreeExpression(stmt->__anon1._watch.object);
+if(stmt->__anon1._watch.watches)
+FreeList(stmt->__anon1._watch.watches, (stmt->type == 17) ? FreePropertyWatch : FreeIdentifier);
 break;
 }
 }
@@ -1968,12 +1968,12 @@ switch(initializer->type)
 {
 case 1:
 {
-FreeList(initializer->list, FreeInitializer);
+FreeList(initializer->__anon1.list, FreeInitializer);
 break;
 }
 case 0:
-if(initializer->exp)
-FreeExpression(initializer->exp);
+if(initializer->__anon1.exp)
+FreeExpression(initializer->__anon1.exp);
 if(initializer->id)
 FreeIdentifier(initializer->id);
 break;
@@ -2010,32 +2010,32 @@ switch(decl->type)
 {
 case 0:
 {
-if(decl->specifiers)
-FreeList(decl->specifiers, FreeSpecifier);
-if(decl->declarators)
-FreeList(decl->declarators, FreeDeclarator);
+if(decl->__anon1.__anon1.specifiers)
+FreeList(decl->__anon1.__anon1.specifiers, FreeSpecifier);
+if(decl->__anon1.__anon1.declarators)
+FreeList(decl->__anon1.__anon1.declarators, FreeDeclarator);
 if(decl->extStorage)
 FreeSpecifier(decl->extStorage);
 break;
 }
 case 1:
 {
-if(decl->specifiers)
-FreeList(decl->specifiers, FreeSpecifier);
-if(decl->declarators)
-FreeList(decl->declarators, FreeInitDeclarator);
+if(decl->__anon1.__anon1.specifiers)
+FreeList(decl->__anon1.__anon1.specifiers, FreeSpecifier);
+if(decl->__anon1.__anon1.declarators)
+FreeList(decl->__anon1.__anon1.declarators, FreeInitDeclarator);
 break;
 }
 case 2:
-if(decl->inst)
-FreeInstance(decl->inst);
+if(decl->__anon1.inst)
+FreeInstance(decl->__anon1.inst);
 break;
 case 3:
 {
-if(decl->exp)
-FreeExpression(decl->exp);
-if(decl->id)
-FreeIdentifier(decl->id);
+if(decl->__anon1.__anon2.exp)
+FreeExpression(decl->__anon1.__anon2.exp);
+if(decl->__anon1.__anon2.id)
+FreeIdentifier(decl->__anon1.__anon2.id);
 break;
 }
 }
@@ -2093,18 +2093,18 @@ union
 {
 struct __ecereNameSpace__ecere__sys__OldList *  dataMembers;
 struct ClassFunction * function;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 void FreeClassFunction(struct ClassFunction * func);
 
 void FreeMembersInit(struct MembersInit * init)
 {
-if(init->type == 0 && init->dataMembers)
-FreeList(init->dataMembers, FreeMemberInit);
-if(init->type == 1 && init->function)
+if(init->type == 0 && init->__anon1.dataMembers)
+FreeList(init->__anon1.dataMembers, FreeMemberInit);
+if(init->type == 1 && init->__anon1.function)
 {
-FreeClassFunction(init->function);
+FreeClassFunction(init->__anon1.function);
 }
 ((init ? (__ecereClass_MembersInit->Destructor ? __ecereClass_MembersInit->Destructor((void *)init) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(init)) : 0), init = 0);
 }
@@ -2123,8 +2123,8 @@ if(inst->exp)
 FreeExpression(inst->exp);
 if(inst->data)
 {
-struct Symbol * classSym = FindClass(inst->_class->name);
-struct __ecereNameSpace__ecere__com__Class * _class = classSym ? classSym->registered : (((void *)0));
+struct Symbol * classSym = FindClass(inst->_class->__anon1.__anon1.name);
+struct __ecereNameSpace__ecere__com__Class * _class = classSym ? classSym->__anon1.registered : (((void *)0));
 
 if(_class)
 {
@@ -2203,37 +2203,37 @@ void FreeClassDef(struct ClassDef * def)
 switch(def->type)
 {
 case 2:
-if(def->decl)
-FreeDeclaration(def->decl);
+if(def->__anon1.decl)
+FreeDeclaration(def->__anon1.decl);
 break;
 case 1:
 {
-FreeList(def->defProperties, FreeMemberInit);
+FreeList(def->__anon1.defProperties, FreeMemberInit);
 break;
 }
 case 0:
-if(def->function)
-FreeClassFunction(def->function);
+if(def->__anon1.function)
+FreeClassFunction(def->__anon1.function);
 break;
 case 3:
-if(def->propertyDef)
-FreeProperty(def->propertyDef);
+if(def->__anon1.propertyDef)
+FreeProperty(def->__anon1.propertyDef);
 break;
 case 10:
-if(def->propertyDef)
-FreeProperty(def->propertyDef);
+if(def->__anon1.propertyDef)
+FreeProperty(def->__anon1.propertyDef);
 break;
 case 13:
 break;
 case 9:
 {
-if(def->decl)
-FreeDeclaration(def->decl);
+if(def->__anon1.decl)
+FreeDeclaration(def->__anon1.decl);
 break;
 }
 case 5:
 {
-(__ecereNameSpace__ecere__com__eSystem_Delete(def->designer), def->designer = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete(def->__anon1.designer), def->__anon1.designer = 0);
 break;
 }
 case 7:
@@ -2241,23 +2241,23 @@ break;
 case 6:
 break;
 case 11:
-if(def->id)
-FreeIdentifier(def->id);
-if(def->initializer)
-FreeInitializer(def->initializer);
+if(def->__anon1.__anon1.id)
+FreeIdentifier(def->__anon1.__anon1.id);
+if(def->__anon1.__anon1.initializer)
+FreeInitializer(def->__anon1.__anon1.initializer);
 break;
 case 8:
 {
-if(def->defaultProperty)
-FreeIdentifier(def->defaultProperty);
+if(def->__anon1.defaultProperty)
+FreeIdentifier(def->__anon1.defaultProperty);
 break;
 }
 case 12:
 break;
 case 4:
 {
-if(def->propertyWatch)
-FreePropertyWatch(def->propertyWatch);
+if(def->__anon1.propertyWatch)
+FreePropertyWatch(def->__anon1.propertyWatch);
 break;
 }
 }
@@ -2306,9 +2306,9 @@ struct
 {
 struct TypeName * dataType;
 char *  name;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__sys__OldList *  items;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 void FreeDBTableEntry(struct DBTableEntry * entry)
@@ -2318,14 +2318,14 @@ FreeIdentifier(entry->id);
 switch(entry->type)
 {
 case 0:
-if(entry->dataType)
-FreeTypeName(entry->dataType);
-if(entry->name)
-(__ecereNameSpace__ecere__com__eSystem_Delete(entry->name), entry->name = 0);
+if(entry->__anon1.__anon1.dataType)
+FreeTypeName(entry->__anon1.__anon1.dataType);
+if(entry->__anon1.__anon1.name)
+(__ecereNameSpace__ecere__com__eSystem_Delete(entry->__anon1.__anon1.name), entry->__anon1.__anon1.name = 0);
 break;
 case 1:
-if(entry->items)
-FreeList(entry->items, FreeDBIndexItem);
+if(entry->__anon1.items)
+FreeList(entry->__anon1.items, FreeDBIndexItem);
 break;
 }
 ((entry ? (__ecereClass_DBTableEntry->Destructor ? __ecereClass_DBTableEntry->Destructor((void *)entry) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(entry)) : 0), entry = 0);
@@ -2345,26 +2345,26 @@ void FreeExternal(struct External * external)
 switch(external->type)
 {
 case 0:
-if(external->function)
-FreeFunction(external->function);
+if(external->__anon1.function)
+FreeFunction(external->__anon1.function);
 break;
 case 1:
-if(external->declaration)
-FreeDeclaration(external->declaration);
+if(external->__anon1.declaration)
+FreeDeclaration(external->__anon1.declaration);
 break;
 case 2:
-if(external->_class)
-FreeClass(external->_class);
+if(external->__anon1._class)
+FreeClass(external->__anon1._class);
 break;
 case 3:
-(__ecereNameSpace__ecere__com__eSystem_Delete(external->importString), external->importString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete(external->__anon1.importString), external->__anon1.importString = 0);
 break;
 case 4:
-FreeIdentifier(external->id);
+FreeIdentifier(external->__anon1.id);
 break;
 case 5:
-if(external->table)
-FreeDBTable(external->table);
+if(external->__anon1.table)
+FreeDBTable(external->__anon1.table);
 break;
 }
 ((external ? (__ecereClass_External->Destructor ? __ecereClass_External->Destructor((void *)external) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(external)) : 0), external = 0);
@@ -2478,7 +2478,7 @@ union
 {
 const char *  dataTypeString;
 int memberType;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg;
 void *  param;
 } __attribute__ ((gcc_struct));
index 2fe284e..177c567 100644 (file)
@@ -211,14 +211,14 @@ struct
 {
 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;
@@ -306,7 +306,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -325,7 +325,7 @@ union
 {
 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));
@@ -347,7 +347,7 @@ float f;
 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;
@@ -364,14 +364,14 @@ struct
 {
 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
 {
@@ -450,7 +450,7 @@ 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;
@@ -485,7 +485,7 @@ union
 struct Expression * expression;
 struct Identifier * identifier;
 struct TemplateDatatype * templateDatatype;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
@@ -509,7 +509,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -519,11 +519,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -579,7 +579,7 @@ struct
 {
 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;
@@ -629,7 +629,7 @@ struct Declaration * declaration;
 char *  importString;
 struct Identifier * id;
 struct DBTableDef * table;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 int importType;
 } __attribute__ ((gcc_struct));
 
@@ -656,7 +656,7 @@ union
 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
@@ -665,20 +665,20 @@ struct
 {
 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;
@@ -839,7 +839,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -849,9 +849,9 @@ 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));
 
 enum yytokentype
@@ -975,7 +975,7 @@ union
 {
 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;
@@ -1013,7 +1013,7 @@ struct
 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;
@@ -1041,8 +1041,8 @@ struct
 {
 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));
@@ -3110,7 +3110,7 @@ if(yyvsp[(1) - (2)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (2)].id->_class->name ? yyvsp[(1) - (2)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (2)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (2)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (2)].id->string);
 _DeclClass(0, name);
@@ -3150,7 +3150,7 @@ if(yyvsp[(1) - (2)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (2)].id->_class->name ? yyvsp[(1) - (2)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (2)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (2)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (2)].id->string);
 _DeclClass(0, name);
@@ -3203,7 +3203,7 @@ if(yyvsp[(1) - (2)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (2)].id->_class->name ? yyvsp[(1) - (2)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (2)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (2)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (2)].id->string);
 _DeclClass(0, name);
@@ -3407,7 +3407,7 @@ case 27:
 if(yyvsp[(1) - (3)].classFunction->declarator)
 {
 yyvsp[(1) - (3)].classFunction->declarator = MkStructDeclarator(yyvsp[(1) - (3)].classFunction->declarator, (((void *)0)));
-yyvsp[(1) - (3)].classFunction->declarator->structDecl.attrib = yyvsp[(2) - (3)].attrib;
+yyvsp[(1) - (3)].classFunction->declarator->__anon1.structDecl.attrib = yyvsp[(2) - (3)].attrib;
 }
 ProcessClassFunctionBody(yyvsp[(1) - (3)].classFunction, (((void *)0)));
 yyval.classFunction->loc = (yyloc);
@@ -4385,7 +4385,7 @@ yyvsp[(1) - (3)].prop->issetStmt = yyvsp[(3) - (3)].stmt;
 break;
 case 132:
 {
-yyvsp[(1) - (2)].prop->isWatchable = 0x1;
+yyvsp[(1) - (2)].prop->__anon1.isWatchable = 0x1;
 ;
 }
 break;
@@ -4681,7 +4681,7 @@ break;
 case 176:
 {
 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (1)].list, (((void *)0)), (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
 ;
@@ -4690,7 +4690,7 @@ break;
 case 177:
 {
 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list, (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
 ;
@@ -4699,7 +4699,7 @@ break;
 case 178:
 {
 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].list, (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
 ;
@@ -4708,7 +4708,7 @@ break;
 case 179:
 {
 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(2) - (2)].list, (((void *)0)), (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
 ;
@@ -4718,7 +4718,7 @@ case 180:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (2)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
 ;
 }
@@ -4727,7 +4727,7 @@ case 181:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (2)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
 ;
 }
@@ -4735,7 +4735,7 @@ break;
 case 182:
 {
 yyval.classDef = MkClassDefClassData(MkStructDeclaration(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].list, (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 ;
 }
@@ -4757,7 +4757,7 @@ FreeIdentifier(yyvsp[(2) - (2)].id);
 break;
 case 185:
 {
-yyval.classDef = MkClassDefDesigner(yyvsp[(2) - (2)].specifier->name);
+yyval.classDef = MkClassDefDesigner(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 ;
 }
@@ -4772,7 +4772,7 @@ case 187:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (1)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
 ;
 }
@@ -4781,7 +4781,7 @@ case 188:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (1)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
 ;
 }
@@ -4799,7 +4799,7 @@ case 190:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
 yyval.classDef->loc = yyvsp[(1) - (2)].instance->loc;
-yyval.classDef->decl->loc = yyval.classDef->loc;
+yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
 ;
 }
@@ -4808,7 +4808,7 @@ case 191:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
 yyval.classDef->loc = yyvsp[(1) - (2)].instance->loc;
-yyval.classDef->decl->loc = yyval.classDef->loc;
+yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
 ;
 }
@@ -4827,7 +4827,7 @@ case 193:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (3)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = yyval.classDef->loc;
+yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
 ;
 }
@@ -4836,7 +4836,7 @@ case 194:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (3)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = yyval.classDef->loc;
+yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
 ;
 }
@@ -5076,7 +5076,7 @@ break;
 case 237:
 {
 yyvsp[(1) - (2)].context;
-yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(2) - (2)].specifier->name);
+yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 ++defaultMemberAccess;
@@ -5099,7 +5099,7 @@ break;
 case 239:
 {
 yyvsp[(2) - (3)].context;
-yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (3)].specifier->name);
+yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
 FreeIdentifier(yyvsp[(1) - (3)].id);
 yyval.symbol->nameLoc = (yylsp[(3) - (3)]);
 yyval.symbol->isRemote = 0x1;
@@ -5122,7 +5122,7 @@ break;
 case 241:
 {
 yyvsp[(1) - (5)].context;
-yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->name);
+yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
 yyval.symbol->templateParams = yyvsp[(4) - (5)].list;
 yyval.symbol->nameLoc = (yylsp[(2) - (5)]);
 FreeSpecifier(yyvsp[(2) - (5)].specifier);
@@ -5147,7 +5147,7 @@ break;
 case 243:
 {
 yyvsp[(2) - (6)].context;
-yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->name);
+yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
 yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
 FreeIdentifier(yyvsp[(1) - (6)].id);
 yyval.symbol->nameLoc = (yylsp[(3) - (6)]);
@@ -5216,7 +5216,7 @@ break;
 case 249:
 {
 yyvsp[(1) - (3)].context;
-yyval._class = MkClass(DeclClass(0, yyvsp[(2) - (3)].specifier->name), (((void *)0)), (((void *)0)));
+yyval._class = MkClass(DeclClass(0, yyvsp[(2) - (3)].specifier->__anon1.__anon1.name), (((void *)0)), (((void *)0)));
 FreeSpecifier(yyvsp[(2) - (3)].specifier);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -5419,7 +5419,7 @@ yyval.exp->loc = (yyloc);
 break;
 case 270:
 {
-char * constant = yyvsp[(1) - (2)].exp->constant;
+char * constant = yyvsp[(1) - (2)].exp->__anon1.__anon1.constant;
 int len = strlen(constant);
 
 if(constant[len - 1] == '.')
@@ -5659,8 +5659,8 @@ break;
 case 308:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
-yyval.exp->call.argLoc.start = (yylsp[(2) - (3)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(3) - (3)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
 yyval.exp->loc = (yyloc);
 ;
 }
@@ -5668,8 +5668,8 @@ break;
 case 309:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
-yyval.exp->call.argLoc.start = (yylsp[(2) - (4)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(4) - (4)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
 yyval.exp->loc = (yyloc);
 ;
 }
@@ -5677,8 +5677,8 @@ break;
 case 310:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
-yyval.exp->call.argLoc.start = (yylsp[(2) - (4)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(4) - (4)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
 yyval.exp->loc = (yyloc);
 if((*yyvsp[(3) - (4)].list).last)
 ((struct Expression *)(*yyvsp[(3) - (4)].list).last)->loc.end = (yylsp[(4) - (4)]).start;
@@ -5730,8 +5730,8 @@ break;
 case 317:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
-yyval.exp->call.argLoc.start = (yylsp[(2) - (3)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(3) - (3)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
 yyval.exp->loc = (yyloc);
 ;
 }
@@ -5739,8 +5739,8 @@ break;
 case 318:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
-yyval.exp->call.argLoc.start = (yylsp[(2) - (4)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(4) - (4)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
 yyval.exp->loc = (yyloc);
 ;
 }
@@ -6606,20 +6606,20 @@ case 461:
 {
 yyerror();
 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
-yyval.exp->call.argLoc.start = (yylsp[(2) - (3)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(3) - (3)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
 yyval.exp->loc = (yyloc);
-yyval.exp->call.argLoc.end.charPos++;
+yyval.exp->__anon1.call.argLoc.end.charPos++;
 ;
 }
 break;
 case 462:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
-yyval.exp->call.argLoc.start = (yylsp[(2) - (3)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(3) - (3)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
 yyval.exp->loc = (yyloc);
-yyval.exp->call.argLoc.end.charPos++;
+yyval.exp->__anon1.call.argLoc.end.charPos++;
 ;
 }
 break;
@@ -6634,9 +6634,9 @@ case 464:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
 yyval.exp->loc = (yyloc);
-yyval.exp->call.argLoc.start = (yylsp[(2) - (3)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(3) - (3)]).end;
-yyval.exp->call.argLoc.end.charPos++;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
+yyval.exp->__anon1.call.argLoc.end.charPos++;
 ;
 }
 break;
@@ -6826,16 +6826,16 @@ case 498:
 {
 if(yyvsp[(1) - (2)].exp->type == 0)
 {
-if(yyvsp[(1) - (2)].exp->identifier->_class && !yyvsp[(1) - (2)].exp->identifier->_class->name)
+if(yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->_class && !yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->_class->__anon1.__anon1.name)
 {
 char name[1024];
 
 strcpy(name, "::");
-strcat(name, yyvsp[(1) - (2)].exp->identifier->string);
+strcat(name, yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->string);
 _DeclClass(0, name);
 }
 else
-_DeclClass(0, yyvsp[(1) - (2)].exp->identifier->string);
+_DeclClass(0, yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->string);
 skipErrors = 0x0;
 FreeExpression(yyvsp[(1) - (2)].exp);
 FreeExpression(yyvsp[(2) - (2)].exp);
@@ -7121,7 +7121,7 @@ case 541:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
 yyval.exp->loc = (yyloc);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (4)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
 ;
 }
 break;
@@ -7129,7 +7129,7 @@ case 542:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
 yyval.exp->loc = (yyloc);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (4)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
 ;
 }
 break;
@@ -7137,7 +7137,7 @@ case 543:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
 yyval.exp->loc = (yyloc);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (4)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
 ;
 }
 break;
@@ -7145,7 +7145,7 @@ case 544:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
 yyval.exp->loc = (yyloc);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (4)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
 ;
 }
 break;
@@ -7181,7 +7181,7 @@ case 549:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
 yyval.exp->loc = (yyloc);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (4)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
 ;
 }
 break;
@@ -7189,7 +7189,7 @@ case 550:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
 yyval.exp->loc = (yyloc);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (4)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
 ;
 }
 break;
@@ -7197,7 +7197,7 @@ case 551:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
 yyval.exp->loc = (yyloc);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (4)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
 ;
 }
 break;
@@ -7205,7 +7205,7 @@ case 552:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
 yyval.exp->loc = (yyloc);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (4)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
 ;
 }
 break;
@@ -7270,8 +7270,8 @@ case 561:
 yyerror();
 yyval.exp = MkExpCondition(yyvsp[(1) - (3)].exp, MkListOne(MkExpDummy()), MkExpDummy());
 yyval.exp->loc = (yyloc);
-((struct Expression *)(*yyval.exp->cond.exp).last)->loc = (yylsp[(2) - (3)]);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (3)]);
+((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (3)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (3)]);
 ;
 }
 break;
@@ -7279,8 +7279,8 @@ case 562:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (3)].exp, MkListOne(MkExpDummy()), MkExpDummy());
 yyval.exp->loc = (yyloc);
-((struct Expression *)(*yyval.exp->cond.exp).last)->loc = (yylsp[(2) - (3)]);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (3)]);
+((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (3)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (3)]);
 ;
 }
 break;
@@ -7289,8 +7289,8 @@ case 563:
 yyerror();
 yyval.exp = MkExpCondition(yyvsp[(1) - (2)].exp, MkListOne(MkExpDummy()), MkExpDummy());
 yyval.exp->loc = (yyloc);
-((struct Expression *)(*yyval.exp->cond.exp).last)->loc = (yylsp[(2) - (2)]);
-yyval.exp->cond.elseExp->loc = (yylsp[(2) - (2)]);
+((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (2)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(2) - (2)]);
 ;
 }
 break;
@@ -7298,8 +7298,8 @@ case 564:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (2)].exp, MkListOne(MkExpDummy()), MkExpDummy());
 yyval.exp->loc = (yyloc);
-((struct Expression *)(*yyval.exp->cond.exp).last)->loc = (yylsp[(2) - (2)]);
-yyval.exp->cond.elseExp->loc = (yylsp[(2) - (2)]);
+((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (2)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(2) - (2)]);
 ;
 }
 break;
@@ -7543,7 +7543,7 @@ defaultMemberAccess--;
 break;
 case 605:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->name), (((void *)0)));
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 ;
@@ -7569,7 +7569,7 @@ defaultMemberAccess--;
 break;
 case 608:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->name), (((void *)0)));
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), (((void *)0)));
 FreeSpecifier(yyvsp[(2) - (4)].specifier);
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
@@ -7626,7 +7626,7 @@ case 614:
 {
 yyval.specifier = MkEnum(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].list);
 yyval.specifier->loc = (yyloc);
-yyval.specifier->definitions = yyvsp[(6) - (6)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 ;
@@ -7636,7 +7636,7 @@ case 615:
 {
 yyval.specifier = MkEnum(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].list);
 yyval.specifier->loc = (yyloc);
-yyval.specifier->definitions = yyvsp[(6) - (6)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 ;
@@ -7644,7 +7644,7 @@ defaultMemberAccess--;
 break;
 case 616:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->name), yyvsp[(4) - (4)].list);
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), yyvsp[(4) - (4)].list);
 yyval.specifier->loc = (yyloc);
 FreeSpecifier(yyvsp[(2) - (4)].specifier);
 if(defaultMemberAccess > -1)
@@ -7654,7 +7654,7 @@ defaultMemberAccess--;
 break;
 case 617:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->name), yyvsp[(4) - (5)].list);
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
 yyval.specifier->loc = (yyloc);
 FreeSpecifier(yyvsp[(2) - (5)].specifier);
 if(defaultMemberAccess > -1)
@@ -7664,7 +7664,7 @@ defaultMemberAccess--;
 break;
 case 618:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->name), (((void *)0)));
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), (((void *)0)));
 yyval.specifier->loc = (yyloc);
 FreeSpecifier(yyvsp[(2) - (4)].specifier);
 if(defaultMemberAccess > -1)
@@ -7674,9 +7674,9 @@ defaultMemberAccess--;
 break;
 case 619:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->name), yyvsp[(4) - (6)].list);
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->__anon1.__anon1.name), yyvsp[(4) - (6)].list);
 yyval.specifier->loc = (yyloc);
-yyval.specifier->definitions = yyvsp[(6) - (6)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
 FreeSpecifier(yyvsp[(2) - (6)].specifier);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7685,9 +7685,9 @@ defaultMemberAccess--;
 break;
 case 620:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->name), yyvsp[(4) - (6)].list);
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->__anon1.__anon1.name), yyvsp[(4) - (6)].list);
 yyval.specifier->loc = (yyloc);
-yyval.specifier->definitions = yyvsp[(6) - (6)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
 FreeSpecifier(yyvsp[(2) - (6)].specifier);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7705,7 +7705,7 @@ defaultMemberAccess--;
 break;
 case 622:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->name), yyvsp[(4) - (5)].list);
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
 yyval.specifier->loc = (yyloc);
 FreeSpecifier(yyvsp[(2) - (5)].specifier);
 if(defaultMemberAccess > -1)
@@ -7723,9 +7723,9 @@ DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(2) - (2)].id->string);
 break;
 case 624:
 {
-yyval.id = MkIdentifier(yyvsp[(2) - (2)].specifier->name);
+yyval.id = MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(2) - (2)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 ;
 }
@@ -7740,7 +7740,7 @@ break;
 case 626:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, (((void *)0)));
-yyval.specifier->baseSpecs = yyvsp[(3) - (5)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7758,7 +7758,7 @@ break;
 case 628:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(5) - (5)].list);
-yyval.specifier->baseSpecs = yyvsp[(3) - (5)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7768,7 +7768,7 @@ break;
 case 629:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, yyvsp[(5) - (6)].list);
-yyval.specifier->baseSpecs = yyvsp[(3) - (6)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7778,7 +7778,7 @@ break;
 case 630:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, (((void *)0)));
-yyval.specifier->baseSpecs = yyvsp[(3) - (5)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7788,8 +7788,8 @@ break;
 case 631:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
-yyval.specifier->baseSpecs = yyvsp[(3) - (7)].list;
-yyval.specifier->definitions = yyvsp[(7) - (7)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7799,8 +7799,8 @@ break;
 case 632:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
-yyval.specifier->baseSpecs = yyvsp[(3) - (7)].list;
-yyval.specifier->definitions = yyvsp[(7) - (7)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7810,8 +7810,8 @@ break;
 case 633:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (8)].id, yyvsp[(5) - (8)].list);
-yyval.specifier->baseSpecs = yyvsp[(3) - (8)].list;
-yyval.specifier->definitions = yyvsp[(8) - (8)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (8)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(8) - (8)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7821,8 +7821,8 @@ break;
 case 634:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (8)].id, yyvsp[(5) - (8)].list);
-yyval.specifier->baseSpecs = yyvsp[(3) - (8)].list;
-yyval.specifier->definitions = yyvsp[(8) - (8)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (8)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(8) - (8)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7832,8 +7832,8 @@ break;
 case 635:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, (((void *)0)));
-yyval.specifier->baseSpecs = yyvsp[(3) - (7)].list;
-yyval.specifier->definitions = yyvsp[(7) - (7)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7843,8 +7843,8 @@ break;
 case 636:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, (((void *)0)));
-yyval.specifier->baseSpecs = yyvsp[(3) - (7)].list;
-yyval.specifier->definitions = yyvsp[(7) - (7)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7899,7 +7899,7 @@ break;
 case 642:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(3) - (5)].list);
-yyval.specifier->definitions = yyvsp[(5) - (5)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(5) - (5)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7909,7 +7909,7 @@ break;
 case 643:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(3) - (5)].list);
-yyval.specifier->definitions = yyvsp[(5) - (5)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(5) - (5)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7919,7 +7919,7 @@ break;
 case 644:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, yyvsp[(5) - (6)].list);
-yyval.specifier->baseSpecs = yyvsp[(3) - (6)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7929,7 +7929,7 @@ break;
 case 645:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
-yyval.specifier->baseSpecs = yyvsp[(3) - (7)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7939,7 +7939,7 @@ break;
 case 646:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, (((void *)0)));
-yyval.specifier->baseSpecs = yyvsp[(3) - (6)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -8271,7 +8271,7 @@ break;
 case 709:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
-yyval.declarator->structDecl.attrib = yyvsp[(2) - (2)].attrib;
+yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -8293,7 +8293,7 @@ break;
 case 712:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
-yyval.declarator->structDecl.posExp = yyvsp[(5) - (5)].exp;
+yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -8315,7 +8315,7 @@ break;
 case 715:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
-yyval.declarator->structDecl.posExp = yyvsp[(5) - (5)].exp;
+yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -8323,7 +8323,7 @@ break;
 case 716:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
-yyval.declarator->structDecl.posExp = yyvsp[(5) - (5)].exp;
+yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -8331,7 +8331,7 @@ break;
 case 717:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
-yyval.declarator->structDecl.posExp = yyvsp[(5) - (5)].exp;
+yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -8353,15 +8353,15 @@ break;
 case 720:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, yyvsp[(2) - (2)].id, (((void *)0)));
-yyval.specifier->addNameSpace = 0x1;
-yyval.specifier->ctx = PushContext();
+yyval.specifier->__anon1.__anon2.addNameSpace = 0x1;
+yyval.specifier->__anon1.__anon2.ctx = PushContext();
 ;
 }
 break;
 case 721:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->name), (((void *)0)));
-yyval.specifier->ctx = PushContext();
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
+yyval.specifier->__anon1.__anon2.ctx = PushContext();
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 ;
 }
@@ -8369,17 +8369,17 @@ break;
 case 722:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (3)].extDecl;
-yyval.specifier->addNameSpace = 0x1;
-yyval.specifier->ctx = PushContext();
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
+yyval.specifier->__anon1.__anon2.addNameSpace = 0x1;
+yyval.specifier->__anon1.__anon2.ctx = PushContext();
 ;
 }
 break;
 case 723:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->name), (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (3)].extDecl;
-yyval.specifier->ctx = PushContext();
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0)));
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
+yyval.specifier->__anon1.__anon2.ctx = PushContext();
 FreeSpecifier(yyvsp[(3) - (3)].specifier);
 ;
 }
@@ -8413,7 +8413,7 @@ break;
 case 727:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (4)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -8476,7 +8476,7 @@ break;
 case 734:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(4) - (4)].list);
-yyval.specifier->extDeclStruct = yyvsp[(2) - (4)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 ;
@@ -8485,7 +8485,7 @@ break;
 case 735:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(4) - (4)].list);
-yyval.specifier->extDeclStruct = yyvsp[(2) - (4)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 ;
@@ -8494,7 +8494,7 @@ break;
 case 736:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (4)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 ;
@@ -8514,14 +8514,14 @@ case 738:
 yyval.specifier = yyvsp[(1) - (1)].specifier;
 if(declMode)
 {
-(yyvsp[(1) - (1)].specifier->addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext->nextID++, yyvsp[(1) - (1)].specifier->id->string);
+(yyvsp[(1) - (1)].specifier->__anon1.__anon2.addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext->nextID++, yyvsp[(1) - (1)].specifier->__anon1.__anon2.id->string);
 }
 ;
 }
 break;
 case 739:
 {
-struct Symbol * symbol = (yyvsp[(1) - (4)].specifier->addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext->nextID++, yyvsp[(1) - (4)].specifier->id->string);
+struct Symbol * symbol = (yyvsp[(1) - (4)].specifier->__anon1.__anon2.addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext->nextID++, yyvsp[(1) - (4)].specifier->__anon1.__anon2.id->string);
 
 yyval.specifier = yyvsp[(1) - (4)].specifier;
 symbol->templateParams = yyvsp[(3) - (4)].list;
@@ -8531,7 +8531,7 @@ break;
 case 740:
 {
 yyval.specifier = yyvsp[(1) - (3)].specifier;
-yyval.specifier->baseSpecs = yyvsp[(3) - (3)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (3)].list;
 SetupBaseSpecs((((void *)0)), yyvsp[(3) - (3)].list);
 ;
 }
@@ -8572,7 +8572,7 @@ break;
 case 745:
 {
 yyval.specifier = yyvsp[(1) - (3)].specifier;
-yyval.specifier->definitions = yyvsp[(3) - (3)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 PopContext(curContext);
@@ -8582,7 +8582,7 @@ break;
 case 746:
 {
 yyval.specifier = yyvsp[(1) - (3)].specifier;
-yyval.specifier->definitions = yyvsp[(3) - (3)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 PopContext(curContext);
@@ -8603,12 +8603,12 @@ case 748:
 PopContext(curContext);
 if(!declMode)
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->id, yyvsp[(3) - (3)].list);
-yyvsp[(1) - (3)].specifier->id = (((void *)0));
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->__anon1.__anon2.id, yyvsp[(3) - (3)].list);
+yyvsp[(1) - (3)].specifier->__anon1.__anon2.id = (((void *)0));
 FreeSpecifier(yyvsp[(1) - (3)].specifier);
 }
 else
-yyval.specifier->definitions = yyvsp[(3) - (3)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 ;
@@ -8619,12 +8619,12 @@ case 749:
 PopContext(curContext);
 if(!declMode)
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->id, yyvsp[(3) - (3)].list);
-yyvsp[(1) - (3)].specifier->id = (((void *)0));
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->__anon1.__anon2.id, yyvsp[(3) - (3)].list);
+yyvsp[(1) - (3)].specifier->__anon1.__anon2.id = (((void *)0));
 FreeSpecifier(yyvsp[(1) - (3)].specifier);
 }
 else
-yyval.specifier->definitions = yyvsp[(3) - (3)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 ;
@@ -9120,7 +9120,7 @@ if(yyvsp[(1) - (4)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (4)].id->_class->name ? yyvsp[(1) - (4)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (4)].id->string);
 _DeclClass(0, name);
@@ -9136,7 +9136,7 @@ break;
 case 819:
 {
 yyval.list = yyvsp[(1) - (5)].list;
-if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->name)
+if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->__anon1.__anon1.name)
 {
 char name[1024];
 
@@ -9221,7 +9221,7 @@ if(yyvsp[(1) - (4)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (4)].id->_class->name ? yyvsp[(1) - (4)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (4)].id->string);
 _DeclClass(0, name);
@@ -9236,7 +9236,7 @@ FreeIdentifier(yyvsp[(1) - (4)].id);
 break;
 case 831:
 {
-if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->name)
+if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->__anon1.__anon1.name)
 {
 char name[1024];
 
@@ -9341,7 +9341,7 @@ if(yyvsp[(1) - (4)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (4)].id->_class->name ? yyvsp[(1) - (4)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (4)].id->string);
 _DeclClass(0, name);
@@ -9356,7 +9356,7 @@ FreeIdentifier(yyvsp[(1) - (4)].id);
 break;
 case 845:
 {
-if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->name)
+if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->__anon1.__anon1.name)
 {
 char name[1024];
 
@@ -9461,7 +9461,7 @@ if(yyvsp[(1) - (4)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (4)].id->_class->name ? yyvsp[(1) - (4)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (4)].id->string);
 _DeclClass(0, name);
@@ -9476,7 +9476,7 @@ FreeIdentifier(yyvsp[(1) - (4)].id);
 break;
 case 859:
 {
-if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->name)
+if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->__anon1.__anon1.name)
 {
 char name[1024];
 
@@ -9542,8 +9542,8 @@ ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(
 break;
 case 868:
 {
-char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (1)].specifier->name, "::", strlen(yyvsp[(1) - (1)].specifier->name), 0x1, 0x0);
-char * s = colon ? colon + 2 : yyvsp[(1) - (1)].specifier->name;
+char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (1)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (1)].specifier->__anon1.__anon1.name), 0x1, 0x0);
+char * s = colon ? colon + 2 : yyvsp[(1) - (1)].specifier->__anon1.__anon1.name;
 
 yyval.declarator = MkDeclaratorIdentifier(MkIdentifier(s));
 FreeSpecifier(yyvsp[(1) - (1)].specifier);
@@ -9559,8 +9559,8 @@ break;
 case 870:
 {
 struct Declarator * decl;
-char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->name, "::", strlen(yyvsp[(1) - (4)].specifier->name), 0x1, 0x0);
-char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->name;
+char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 0x1, 0x0);
+char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
 
 decl = MkDeclaratorIdentifier(MkIdentifier(s));
 FreeSpecifier(yyvsp[(1) - (4)].specifier);
@@ -9571,8 +9571,8 @@ break;
 case 871:
 {
 struct Declarator * decl;
-char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->name, "::", strlen(yyvsp[(1) - (4)].specifier->name), 0x1, 0x0);
-char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->name;
+char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 0x1, 0x0);
+char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
 
 decl = MkDeclaratorIdentifier(MkIdentifier(s));
 FreeSpecifier(yyvsp[(1) - (4)].specifier);
@@ -9583,8 +9583,8 @@ break;
 case 872:
 {
 struct Declarator * decl;
-char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->name, "::", strlen(yyvsp[(1) - (4)].specifier->name), 0x1, 0x0);
-char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->name;
+char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 0x1, 0x0);
+char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
 
 decl = MkDeclaratorIdentifier(MkIdentifier(s));
 FreeSpecifier(yyvsp[(1) - (4)].specifier);
@@ -9595,8 +9595,8 @@ break;
 case 873:
 {
 struct Declarator * decl;
-char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->name, "::", strlen(yyvsp[(1) - (3)].specifier->name), 0x1, 0x0);
-char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->name;
+char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name), 0x1, 0x0);
+char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->__anon1.__anon1.name;
 
 decl = MkDeclaratorIdentifier(MkIdentifier(s));
 FreeSpecifier(yyvsp[(1) - (3)].specifier);
@@ -10563,8 +10563,8 @@ ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
 break;
 case 1024:
 {
-char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->name, "::", strlen(yyvsp[(1) - (3)].specifier->name), 0x1, 0x0);
-char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->name;
+char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name), 0x1, 0x0);
+char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->__anon1.__anon1.name;
 
 yyval.list = MkList();
 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), (((void *)0))));
@@ -11089,9 +11089,9 @@ break;
 case 1112:
 {
 yyval.stmt = MkCaseStmt(MkExpDummy(), yyvsp[(3) - (3)].stmt);
-yyval.stmt->caseStmt.exp->loc = (yylsp[(2) - (3)]);
+yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
 yyval.stmt->loc = (yyloc);
-yyval.stmt->caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
+yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
 ;
 }
 break;
@@ -11144,9 +11144,9 @@ struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
 stmt->loc = (yylsp[(3) - (3)]);
 Compiler_Warning("eC expects all declarations to precede statements in the block (C89 style)\n");
 yyval.stmt = MkCaseStmt(MkExpDummy(), stmt);
-yyval.stmt->caseStmt.exp->loc = (yylsp[(2) - (3)]);
+yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
 yyval.stmt->loc = (yyloc);
-yyval.stmt->caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
+yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
 ;
 }
 break;
@@ -11187,18 +11187,18 @@ break;
 case 1122:
 {
 yyval.stmt = MkCaseStmt(MkExpDummy(), yyvsp[(3) - (3)].stmt);
-yyval.stmt->caseStmt.exp->loc = (yylsp[(2) - (3)]);
+yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
 yyval.stmt->loc = (yyloc);
-yyval.stmt->caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
+yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
 ;
 }
 break;
 case 1123:
 {
 yyval.stmt = MkCaseStmt(MkExpDummy(), (((void *)0)));
-yyval.stmt->caseStmt.exp->loc = (yylsp[(2) - (2)]);
+yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (2)]);
 yyval.stmt->loc = (yyloc);
-yyval.stmt->caseStmt.exp->loc.start = (yylsp[(1) - (2)]).end;
+yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (2)]).end;
 ;
 }
 break;
@@ -11258,9 +11258,9 @@ struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
 stmt->loc = (yylsp[(3) - (3)]);
 Compiler_Warning("eC expects all declarations to precede statements in the block (C89 style)\n");
 yyval.stmt = MkCaseStmt(MkExpDummy(), stmt);
-yyval.stmt->caseStmt.exp->loc = (yylsp[(2) - (3)]);
+yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
 yyval.stmt->loc = (yyloc);
-yyval.stmt->caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
+yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
 ;
 }
 break;
@@ -11616,7 +11616,7 @@ break;
 case 1178:
 {
 yyval.stmt = yyvsp[(2) - (2)].stmt;
-yyval.stmt->compound.context = yyvsp[(1) - (2)].context;
+yyval.stmt->__anon1.compound.context = yyvsp[(1) - (2)].context;
 PopContext(yyvsp[(1) - (2)].context);
 yyval.stmt->loc = (yyloc);
 yyval.stmt->loc.end.charPos++;
@@ -11627,7 +11627,7 @@ break;
 case 1179:
 {
 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
-yyval.stmt->compound.context = yyvsp[(1) - (1)].context;
+yyval.stmt->__anon1.compound.context = yyvsp[(1) - (1)].context;
 PopContext(yyvsp[(1) - (1)].context);
 yyval.stmt->loc = (yyloc);
 yyval.stmt->loc.end.charPos++;
@@ -11638,7 +11638,7 @@ break;
 case 1180:
 {
 yyval.stmt = yyvsp[(2) - (2)].stmt;
-yyval.stmt->compound.context = yyvsp[(1) - (2)].context;
+yyval.stmt->__anon1.compound.context = yyvsp[(1) - (2)].context;
 PopContext(yyvsp[(1) - (2)].context);
 yyval.stmt->loc = (yyloc);
 yyval.stmt->loc.end.charPos++;
@@ -11813,7 +11813,7 @@ break;
 case 1205:
 {
 yyval.stmt = MkForStmt(MkExpressionStmt(yyvsp[(3) - (4)].list), (((void *)0)), (((void *)0)), (((void *)0)));
-yyval.stmt->forStmt.init->loc = (yylsp[(3) - (4)]);
+yyval.stmt->__anon1.forStmt.init->loc = (yylsp[(3) - (4)]);
 yyval.stmt->loc = (yyloc);
 ;
 }
@@ -11829,7 +11829,7 @@ case 1207:
 {
 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, MkExpressionStmt(yyvsp[(4) - (5)].list), (((void *)0)), (((void *)0)));
 yyval.stmt->loc = (yyloc);
-yyval.stmt->forStmt.check->loc = (yylsp[(4) - (5)]);
+yyval.stmt->__anon1.forStmt.check->loc = (yylsp[(4) - (5)]);
 ;
 }
 break;
@@ -12308,7 +12308,7 @@ yyval.external->loc = (yyloc);
 break;
 case 1267:
 {
-yyval.external = MkExternalNameSpace(MkIdentifier(yyvsp[(2) - (2)].specifier->name));
+yyval.external = MkExternalNameSpace(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name));
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 yyval.external->loc = (yyloc);
 ;
@@ -12481,7 +12481,7 @@ yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (6)].string, symbol, yyvsp[(5) - (6)
 break;
 case 1290:
 {
-struct Symbol * symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->name);
+struct Symbol * symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
 
 FreeSpecifier(yyvsp[(3) - (6)].specifier);
 yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (6)].string, symbol, yyvsp[(5) - (6)].list);
index d3edf1a..086f925 100644 (file)
@@ -193,7 +193,7 @@ float f;
 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;
@@ -384,7 +384,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -394,9 +394,9 @@ 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);
index f65d403..5f31385 100644 (file)
@@ -193,7 +193,7 @@ float f;
 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;
@@ -210,14 +210,14 @@ struct
 {
 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
 {
@@ -296,7 +296,7 @@ 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;
@@ -376,7 +376,7 @@ union
 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
@@ -385,20 +385,20 @@ struct
 {
 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;
@@ -559,7 +559,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -569,9 +569,9 @@ 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));
 
 extern int yychar;
@@ -907,7 +907,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct OpTable ops;
 } __attribute__ ((gcc_struct));
 
@@ -1124,7 +1124,7 @@ for(link = existingClass->templatedClasses.first; link; link = link->next)
 {
 struct Symbol * symbol = link->data;
 
-symbol->registered = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, symbol->string);
+symbol->__anon1.registered = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, symbol->string);
 }
 }
 if(fixed)
@@ -1138,7 +1138,7 @@ regClass->structSize = regClass->offset;
 }
 if(regClass && existingClass)
 {
-existingClass->registered = regClass;
+existingClass->__anon1.registered = regClass;
 regClass->symbol = existingClass;
 existingClass->id = (((int)0x7fffffff));
 existingClass->idCode = (((int)0x7fffffff));
@@ -1342,7 +1342,13 @@ char name[1024];
 int type = 0;
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg =
 {
-.member = 0
+
+.__anon1 = {
+
+.__anon1 = {
+.dataTypeString = 0
+}
+}
 };
 void * info = (((void *)0));
 
@@ -1370,7 +1376,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof (line))
 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
 if(regClass && strcmp(line, "[None]"))
 {
-defaultArg.dataTypeString = __ecereNameSpace__ecere__sys__CopyString(line);
+defaultArg.__anon1.__anon1.dataTypeString = __ecereNameSpace__ecere__sys__CopyString(line);
 }
 break;
 case 2:
@@ -1397,7 +1403,7 @@ exp->destType = ProcessTypeString(info, 0x0);
 ProcessExpressionType(exp);
 ComputeExpression(exp);
 op = GetOperand(exp);
-defaultArg.expression.ui64 = op.ui64;
+defaultArg.__anon1.expression.__anon1.ui64 = op.__anon1.ui64;
 FreeExpression(exp);
 }
 skipErrors = 0x0;
@@ -1417,7 +1423,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof (line))
 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
 if(regClass && strcmp(line, "[None]"))
 {
-defaultArg.memberString = __ecereNameSpace__ecere__sys__CopyString(line);
+defaultArg.__anon1.__anon2.memberString = __ecereNameSpace__ecere__sys__CopyString(line);
 }
 break;
 }
@@ -1426,7 +1432,7 @@ __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(regClass, name, type,
 if(type == 0 || type == 2)
 (__ecereNameSpace__ecere__com__eSystem_Delete(info), info = 0);
 if(type == 0 || type == 1)
-(__ecereNameSpace__ecere__com__eSystem_Delete((void *)defaultArg.dataTypeString), defaultArg.dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)defaultArg.__anon1.__anon1.dataTypeString), defaultArg.__anon1.__anon1.dataTypeString = 0);
 }
 if(regClass)
 __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(regClass);
index 75681db..246eb2b 100644 (file)
@@ -149,7 +149,7 @@ union
 {
 char * s;
 struct Attrib * attr;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefinition;
@@ -207,14 +207,14 @@ struct
 {
 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;
@@ -302,7 +302,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -330,7 +330,7 @@ union
 {
 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));
@@ -352,7 +352,7 @@ float f;
 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;
@@ -369,14 +369,14 @@ struct
 {
 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
 {
@@ -455,7 +455,7 @@ 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;
@@ -497,7 +497,7 @@ union
 {
 struct TemplateDatatype * dataType;
 int memberType;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct TemplateArgument * defaultArgument;
 const char *  dataTypeString;
 struct Type * baseType;
@@ -520,7 +520,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -530,11 +530,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -597,7 +597,7 @@ struct
 {
 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;
@@ -641,7 +641,7 @@ struct Declaration * declaration;
 char *  importString;
 struct Identifier * id;
 struct DBTableDef * table;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 int importType;
 } __attribute__ ((gcc_struct));
 
@@ -668,7 +668,7 @@ union
 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
@@ -677,20 +677,20 @@ struct
 {
 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;
@@ -733,7 +733,7 @@ struct
 {
 struct __ecereNameSpace__ecere__sys__OldList members;
 char *  enumName;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Type * returnType;
@@ -741,13 +741,13 @@ struct __ecereNameSpace__ecere__sys__OldList params;
 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;
@@ -755,10 +755,10 @@ int arraySize;
 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;
@@ -912,7 +912,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -922,9 +922,9 @@ 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));
 
 enum yytokentype
@@ -1055,7 +1055,7 @@ union
 {
 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;
@@ -1102,8 +1102,8 @@ struct
 {
 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));
@@ -1148,18 +1148,18 @@ if(id->_class)
 {
 if(id->_class->type == 8)
 {
-if(id->_class->templateParameter && id->_class->templateParameter->identifier && id->_class->templateParameter->identifier->string)
+if(id->_class->__anon1.templateParameter && id->_class->__anon1.templateParameter->identifier && id->_class->__anon1.templateParameter->identifier->string)
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
-})[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, id->_class->templateParameter->identifier->string);
+})[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, id->_class->__anon1.templateParameter->identifier->string);
 }
 else
 {
-if(id->_class->name)
+if(id->_class->__anon1.__anon1.name)
 {
-if(!strcmp(id->_class->name, "class"))
+if(!strcmp(id->_class->__anon1.__anon1.name, "class"))
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -1170,7 +1170,7 @@ else
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
-})[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, id->_class->name);
+})[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, id->_class->__anon1.__anon1.name);
 }
 }
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
@@ -1433,11 +1433,11 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "class(");
-if(exp->_classExp.specifiers)
+if(exp->__anon1._classExp.specifiers)
 {
 struct Specifier * spec;
 
-for(spec = (*exp->_classExp.specifiers).first; spec; spec = spec->next)
+for(spec = (*exp->__anon1._classExp.specifiers).first; spec; spec = spec->next)
 {
 OutputSpecifier(spec, f, 0x0);
 if(spec->next)
@@ -1447,14 +1447,14 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
 }
-if(exp->_classExp.decl)
+if(exp->__anon1._classExp.decl)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-OutputDeclarator(exp->_classExp.decl, f);
+OutputDeclarator(exp->__anon1._classExp.decl, f);
 }
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
@@ -1469,7 +1469,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__extension__ (");
-OutputStatement(exp->compound, f);
+OutputStatement(exp->__anon1.compound, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -1495,13 +1495,13 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-OutputTypeName(exp->_renew.typeName, f, 0x0);
+OutputTypeName(exp->__anon1._renew.typeName, f, 0x0);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
-OutputExpression(exp->_renew.size, f);
+OutputExpression(exp->__anon1._renew.size, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -1519,13 +1519,13 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-OutputTypeName(exp->_renew.typeName, f, 0x0);
+OutputTypeName(exp->__anon1._renew.typeName, f, 0x0);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
-OutputExpression(exp->_renew.size, f);
+OutputExpression(exp->__anon1._renew.size, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -1538,19 +1538,19 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "renew ");
-OutputExpression(exp->_renew.exp, f);
+OutputExpression(exp->__anon1._renew.exp, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-OutputTypeName(exp->_renew.typeName, f, 0x0);
+OutputTypeName(exp->__anon1._renew.typeName, f, 0x0);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
-OutputExpression(exp->_renew.size, f);
+OutputExpression(exp->__anon1._renew.size, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -1563,19 +1563,19 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "renew0 ");
-OutputExpression(exp->_renew.exp, f);
+OutputExpression(exp->__anon1._renew.exp, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-OutputTypeName(exp->_renew.typeName, f, 0x0);
+OutputTypeName(exp->__anon1._renew.typeName, f, 0x0);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
-OutputExpression(exp->_renew.size, f);
+OutputExpression(exp->__anon1._renew.size, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -1583,50 +1583,50 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "]");
 break;
 case 0:
-if(exp->identifier)
-OutputIdentifier(exp->identifier, f);
+if(exp->__anon1.__anon1.identifier)
+OutputIdentifier(exp->__anon1.__anon1.identifier, f);
 break;
 case 1:
-if(exp->instance)
-OutputInstance(exp->instance, f);
+if(exp->__anon1.instance)
+OutputInstance(exp->__anon1.instance, f);
 break;
 case 2:
-if(exp->constant)
+if(exp->__anon1.__anon1.constant)
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
-})[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, exp->constant);
+})[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, exp->__anon1.__anon1.constant);
 break;
 case 3:
-if(exp->string)
+if(exp->__anon1.__anon2.string)
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
-})[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, exp->string);
+})[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, exp->__anon1.__anon2.string);
 break;
 case 4:
-if(exp->op.exp1)
+if(exp->__anon1.op.exp1)
 {
-OutputExpression(exp->op.exp1, f);
-if(exp->op.exp2)
+OutputExpression(exp->__anon1.op.exp1, f);
+if(exp->__anon1.op.exp2)
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
 }
-OutputOperator(exp->op.op, f);
-if(exp->op.exp2)
+OutputOperator(exp->__anon1.op.op, f);
+if(exp->__anon1.op.exp2)
 {
-if(exp->op.exp1 || (exp->op.exp2->type == 4 && !exp->op.exp2->op.exp1 && exp->op.exp2->op.op == exp->op.op))
+if(exp->__anon1.op.exp1 || (exp->__anon1.op.exp2->type == 4 && !exp->__anon1.op.exp2->__anon1.op.exp1 && exp->__anon1.op.exp2->__anon1.op.op == exp->__anon1.op.op))
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-OutputExpression(exp->op.exp2, f);
+OutputExpression(exp->__anon1.op.exp2, f);
 }
 break;
 case 32:
@@ -1645,9 +1645,9 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
-if(exp->list)
+if(exp->__anon1.list)
 {
-for(expression = (*exp->list).first; expression; expression = expression->next)
+for(expression = (*exp->__anon1.list).first; expression; expression = expression->next)
 {
 OutputExpression(expression, f);
 if(expression->next)
@@ -1669,15 +1669,15 @@ case 6:
 {
 struct Expression * expression;
 
-if(exp->index.exp)
-OutputExpression(exp->index.exp, f);
+if(exp->__anon1.index.exp)
+OutputExpression(exp->__anon1.index.exp, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
-if(exp->index.index)
-for(expression = (*exp->index.index).first; expression; expression = expression->next)
+if(exp->__anon1.index.index)
+for(expression = (*exp->__anon1.index.index).first; expression; expression = expression->next)
 {
 OutputExpression(expression, f);
 if(expression->next)
@@ -1696,17 +1696,17 @@ break;
 }
 case 7:
 {
-OutputExpression(exp->call.exp, f);
+OutputExpression(exp->__anon1.call.exp, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
-if(exp->call.arguments)
+if(exp->__anon1.call.arguments)
 {
 struct Expression * expression;
 
-for(expression = (*exp->call.arguments).first; expression; expression = expression->next)
+for(expression = (*exp->__anon1.call.arguments).first; expression; expression = expression->next)
 {
 OutputExpression(expression, f);
 if(expression->next)
@@ -1725,24 +1725,24 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 break;
 }
 case 8:
-if(exp->member.exp)
-OutputExpression(exp->member.exp, f);
+if(exp->__anon1.member.exp)
+OutputExpression(exp->__anon1.member.exp, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ".");
-if(exp->member.member)
-OutputIdentifier(exp->member.member, f);
+if(exp->__anon1.member.member)
+OutputIdentifier(exp->__anon1.member.member, f);
 break;
 case 9:
-OutputExpression(exp->member.exp, f);
+OutputExpression(exp->__anon1.member.exp, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "->");
-OutputIdentifier(exp->member.member, f);
+OutputIdentifier(exp->__anon1.member.member, f);
 break;
 case 10:
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
@@ -1750,7 +1750,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "sizeof(");
-OutputTypeName(exp->typeName, f, 0x0);
+OutputTypeName(exp->__anon1.typeName, f, 0x0);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -1763,7 +1763,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__alignof__(");
-OutputTypeName(exp->typeName, f, 0x0);
+OutputTypeName(exp->__anon1.typeName, f, 0x0);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -1776,15 +1776,15 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__extension__ (");
-if(exp->initializer.typeName)
-OutputTypeName(exp->initializer.typeName, f, 0x0);
+if(exp->__anon1.initializer.typeName)
+OutputTypeName(exp->__anon1.initializer.typeName, f, 0x0);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
-if(exp->initializer.initializer)
-OutputInitializer(exp->initializer.initializer, f);
+if(exp->__anon1.initializer.initializer)
+OutputInitializer(exp->__anon1.initializer.initializer, f);
 break;
 case 11:
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
@@ -1792,17 +1792,17 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
-OutputTypeName(exp->cast.typeName, f, 0x0);
+OutputTypeName(exp->__anon1.cast.typeName, f, 0x0);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
-if(exp->cast.exp)
-OutputExpression(exp->cast.exp, f);
+if(exp->__anon1.cast.exp)
+OutputExpression(exp->__anon1.cast.exp, f);
 break;
 case 12:
-OutputExpression(exp->cond.cond, f);
+OutputExpression(exp->__anon1.cond.cond, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -1811,7 +1811,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 {
 struct Expression * expression;
 
-for(expression = (*exp->cond.exp).first; expression; expression = expression->next)
+for(expression = (*exp->__anon1.cond.exp).first; expression; expression = expression->next)
 {
 OutputExpression(expression, f);
 if(expression->next)
@@ -1827,8 +1827,8 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " : ");
-if(exp->cond.elseExp)
-OutputExpression(exp->cond.elseExp, f);
+if(exp->__anon1.cond.elseExp)
+OutputExpression(exp->__anon1.cond.elseExp, f);
 break;
 case 34:
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
@@ -1836,13 +1836,13 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__builtin_va_arg(");
-OutputExpression(exp->vaArg.exp, f);
+OutputExpression(exp->__anon1.vaArg.exp, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ", ");
-OutputTypeName(exp->vaArg.typeName, f, 0x0);
+OutputTypeName(exp->__anon1.vaArg.typeName, f, 0x0);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -1855,11 +1855,11 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
-if(exp->list)
+if(exp->__anon1.list)
 {
 struct Expression * expression;
 
-for(expression = (*exp->list).first; expression; expression = expression->next)
+for(expression = (*exp->__anon1.list).first; expression; expression = expression->next)
 {
 OutputExpression(expression, f);
 if(expression->next)
@@ -1989,36 +1989,36 @@ outputLine += 2;
 switch(stmt->type)
 {
 case 14:
-OutputDeclaration(stmt->decl, f);
+OutputDeclaration(stmt->__anon1.decl, f);
 break;
 case 0:
-OutputIdentifier(stmt->labeled.id, f);
+OutputIdentifier(stmt->__anon1.labeled.id, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ":\n");
 outputLine++;
-if(stmt->labeled.stmt)
+if(stmt->__anon1.labeled.stmt)
 {
-if(stmt->labeled.stmt->type == 14)
+if(stmt->__anon1.labeled.stmt->type == 14)
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "; ");
-OutputStatement(stmt->labeled.stmt, f);
+OutputStatement(stmt->__anon1.labeled.stmt, f);
 }
 break;
 case 1:
-if(stmt->caseStmt.exp)
+if(stmt->__anon1.caseStmt.exp)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "case ");
-OutputExpression(stmt->caseStmt.exp, f);
+OutputExpression(stmt->__anon1.caseStmt.exp, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -2035,15 +2035,15 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "default:\n");
 outputLine++;
 }
-if(stmt->caseStmt.stmt)
+if(stmt->__anon1.caseStmt.stmt)
 {
-if(stmt->caseStmt.stmt->type == 14)
+if(stmt->__anon1.caseStmt.stmt->type == 14)
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "; ");
-OutputStatement(stmt->caseStmt.stmt, f);
+OutputStatement(stmt->__anon1.caseStmt.stmt, f);
 }
 break;
 case 2:
@@ -2054,20 +2054,20 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "{\n");
 outputLine++;
-if(stmt->compound.declarations)
+if(stmt->__anon1.compound.declarations)
 {
 struct Declaration * decl;
 
-for(decl = (*stmt->compound.declarations).first; decl; decl = decl->next)
+for(decl = (*stmt->__anon1.compound.declarations).first; decl; decl = decl->next)
 {
 OutputDeclaration(decl, f);
 }
 }
-if(stmt->compound.statements)
+if(stmt->__anon1.compound.statements)
 {
 struct Statement * statement;
 
-if(stmt->compound.declarations)
+if(stmt->__anon1.compound.declarations)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
@@ -2076,7 +2076,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n");
 outputLine++;
 }
-for(statement = (*stmt->compound.statements).first; statement; statement = statement->next)
+for(statement = (*stmt->__anon1.compound.statements).first; statement; statement = statement->next)
 {
 OutputStatement(statement, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
@@ -2101,11 +2101,11 @@ break;
 }
 case 3:
 {
-if(stmt->expressions)
+if(stmt->__anon1.expressions)
 {
 struct Expression * exp;
 
-for(exp = (*stmt->expressions).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.expressions).first; exp; exp = exp->next)
 {
 OutputExpression(exp, f);
 if(exp->next)
@@ -2132,7 +2132,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "if(");
-for(exp = (*stmt->ifStmt.exp).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.ifStmt.exp).first; exp; exp = exp->next)
 {
 OutputExpression(exp, f);
 if(exp->next)
@@ -2148,9 +2148,9 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")\n");
 outputLine++;
-if(stmt->ifStmt.stmt)
-OutputStatement(stmt->ifStmt.stmt, f);
-if(stmt->ifStmt.elseStmt)
+if(stmt->__anon1.ifStmt.stmt)
+OutputStatement(stmt->__anon1.ifStmt.stmt, f);
+if(stmt->__anon1.ifStmt.elseStmt)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
@@ -2163,7 +2163,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "else");
-if(stmt->ifStmt.elseStmt->type != 4)
+if(stmt->__anon1.ifStmt.elseStmt->type != 4)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
@@ -2178,7 +2178,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-OutputStatement(stmt->ifStmt.elseStmt, f);
+OutputStatement(stmt->__anon1.ifStmt.elseStmt, f);
 }
 break;
 }
@@ -2191,9 +2191,9 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "switch(");
-if(stmt->switchStmt.exp)
+if(stmt->__anon1.switchStmt.exp)
 {
-for(exp = (*stmt->switchStmt.exp).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
 {
 OutputExpression(exp, f);
 if(exp->next)
@@ -2210,7 +2210,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")\n");
 outputLine++;
-OutputStatement(stmt->switchStmt.stmt, f);
+OutputStatement(stmt->__anon1.switchStmt.stmt, f);
 break;
 }
 case 6:
@@ -2222,9 +2222,9 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "while(");
-if(stmt->switchStmt.exp)
+if(stmt->__anon1.switchStmt.exp)
 {
-for(exp = (*stmt->switchStmt.exp).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
 {
 OutputExpression(exp, f);
 if(exp->next)
@@ -2241,7 +2241,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")\n");
 outputLine++;
-OutputStatement(stmt->whileStmt.stmt, f);
+OutputStatement(stmt->__anon1.whileStmt.stmt, f);
 break;
 }
 case 7:
@@ -2254,13 +2254,13 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "do\n");
 outputLine++;
-OutputStatement(stmt->whileStmt.stmt, f);
+OutputStatement(stmt->__anon1.whileStmt.stmt, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "while(");
-for(exp = (*stmt->switchStmt.exp).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
 {
 OutputExpression(exp, f);
 if(exp->next)
@@ -2286,26 +2286,26 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "for(");
-OutputStatement(stmt->forStmt.init, f);
+OutputStatement(stmt->__anon1.forStmt.init, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-OutputStatement(stmt->forStmt.check, f);
+OutputStatement(stmt->__anon1.forStmt.check, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-if(stmt->forStmt.increment)
+if(stmt->__anon1.forStmt.increment)
 {
 if(inCompiler && outputLineNumbers && stmt->loc.end.line)
 {
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", stmt->loc.end.line, name);
 outputLine += 2;
 }
-for(exp = (*stmt->forStmt.increment).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.forStmt.increment).first; exp; exp = exp->next)
 {
 OutputExpression(exp, f);
 if(exp->next)
@@ -2322,7 +2322,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")\n");
 outputLine++;
-OutputStatement(stmt->forStmt.stmt, f);
+OutputStatement(stmt->__anon1.forStmt.stmt, f);
 break;
 }
 case 9:
@@ -2332,7 +2332,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "goto ");
-OutputIdentifier(stmt->gotoStmt.id, f);
+OutputIdentifier(stmt->__anon1.gotoStmt.id, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -2360,7 +2360,7 @@ struct Expression * exp;
 
 if(inCompiler && memoryGuard)
 {
-struct Expression * exp = stmt->expressions ? (*stmt->expressions).last : (((void *)0));
+struct Expression * exp = stmt->__anon1.expressions ? (*stmt->__anon1.expressions).last : (((void *)0));
 struct Type * returnType = exp ? (exp->destType ? exp->destType : exp->expType) : (((void *)0));
 
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "{ ");
@@ -2373,13 +2373,13 @@ struct TypeName * typeName;
 
 if(returnType->kind == 20)
 {
-if(returnType->templateParameter->dataTypeString)
-decl = SpecDeclFromString(returnType->templateParameter->dataTypeString, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereReturnVal")));
-else if(returnType->templateParameter->dataType)
+if(returnType->__anon1.templateParameter->dataTypeString)
+decl = SpecDeclFromString(returnType->__anon1.templateParameter->dataTypeString, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereReturnVal")));
+else if(returnType->__anon1.templateParameter->__anon1.dataType)
 {
 (__ecereNameSpace__ecere__com__eSystem_Delete(specs), specs = 0);
-specs = CopyList(returnType->templateParameter->dataType->specifiers, CopySpecifier);
-decl = PlugDeclarator(returnType->templateParameter->dataType->decl, MkDeclaratorIdentifier(MkIdentifier("__ecereReturnVal")));
+specs = CopyList(returnType->__anon1.templateParameter->__anon1.dataType->specifiers, CopySpecifier);
+decl = PlugDeclarator(returnType->__anon1.templateParameter->__anon1.dataType->decl, MkDeclaratorIdentifier(MkIdentifier("__ecereReturnVal")));
 }
 else
 {
@@ -2407,14 +2407,14 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "return ");
 else
 {
-struct Expression * exp = stmt->expressions ? (*stmt->expressions).last : (((void *)0));
+struct Expression * exp = stmt->__anon1.expressions ? (*stmt->__anon1.expressions).last : (((void *)0));
 
 if(exp && exp->expType && exp->expType->kind != 0)
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "__ecereReturnVal = ");
 }
-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)
 {
 OutputExpression(exp, f);
 if(exp->next)
@@ -2432,7 +2432,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ";");
 if(inCompiler && memoryGuard)
 {
-struct Expression * exp = stmt->expressions ? (struct Expression *)(*stmt->expressions).last : (((void *)0));
+struct Expression * exp = stmt->__anon1.expressions ? (struct Expression *)(*stmt->__anon1.expressions).last : (((void *)0));
 
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " __ecereNameSpace__ecere__com__MemoryGuard_PopLoc();");
 if(exp && exp->expType && exp->expType->kind != 0)
@@ -2452,8 +2452,8 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__asm__ ");
-if(stmt->asmStmt.spec)
-OutputSpecifier(stmt->asmStmt.spec, f, 0x0);
+if(stmt->__anon1.asmStmt.spec)
+OutputSpecifier(stmt->__anon1.asmStmt.spec, f, 0x0);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -2463,17 +2463,17 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
-})[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, stmt->asmStmt.statements);
-if(stmt->asmStmt.inputFields || stmt->asmStmt.outputFields || stmt->asmStmt.clobberedFields)
+})[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, stmt->__anon1.asmStmt.statements);
+if(stmt->__anon1.asmStmt.inputFields || stmt->__anon1.asmStmt.outputFields || stmt->__anon1.asmStmt.clobberedFields)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ":");
-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->prev)
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
@@ -2485,16 +2485,16 @@ OutputAsmField(field, f);
 }
 }
 }
-if(stmt->asmStmt.outputFields || stmt->asmStmt.clobberedFields)
+if(stmt->__anon1.asmStmt.outputFields || stmt->__anon1.asmStmt.clobberedFields)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ":");
-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->prev)
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
@@ -2506,14 +2506,14 @@ OutputAsmField(field, f);
 }
 }
 }
-if(stmt->asmStmt.clobberedFields)
+if(stmt->__anon1.asmStmt.clobberedFields)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ":");
-for(field = (*stmt->asmStmt.clobberedFields).first; field; field = field->next)
+for(field = (*stmt->__anon1.asmStmt.clobberedFields).first; field; field = field->next)
 {
 if(field->prev)
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
@@ -2590,36 +2590,36 @@ if(decl->declarator)
 {
 OutputDeclarator(decl->declarator, f);
 }
-if(decl->structDecl.exp)
+if(decl->__anon1.structDecl.exp)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " : ");
-OutputExpression(decl->structDecl.exp, f);
+OutputExpression(decl->__anon1.structDecl.exp, f);
 }
-if(decl->structDecl.posExp)
+if(decl->__anon1.structDecl.posExp)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " : ");
-OutputExpression(decl->structDecl.posExp, f);
+OutputExpression(decl->__anon1.structDecl.posExp, f);
 }
-if(decl->structDecl.attrib)
+if(decl->__anon1.structDecl.attrib)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-OutputAttrib(decl->structDecl.attrib, f);
+OutputAttrib(decl->__anon1.structDecl.attrib, f);
 }
 break;
 case 1:
-OutputIdentifier(decl->identifier, f);
+OutputIdentifier(decl->__anon1.identifier, f);
 break;
 case 2:
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
@@ -2635,8 +2635,8 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
 break;
 case 6:
-if(decl->extended.extended)
-OutputExtDecl(decl->extended.extended, f);
+if(decl->__anon1.extended.extended)
+OutputExtDecl(decl->__anon1.extended.extended, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -2651,8 +2651,8 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-if(decl->extended.extended)
-OutputExtDecl(decl->extended.extended, f);
+if(decl->__anon1.extended.extended)
+OutputExtDecl(decl->__anon1.extended.extended, f);
 break;
 case 3:
 if(decl->declarator)
@@ -2664,19 +2664,19 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "[");
-if(decl->array.exp)
+if(decl->__anon1.array.exp)
 {
-ProcessExpressionType(decl->array.exp);
-ComputeExpression(decl->array.exp);
-OutputExpression(decl->array.exp, f);
+ProcessExpressionType(decl->__anon1.array.exp);
+ComputeExpression(decl->__anon1.array.exp);
+OutputExpression(decl->__anon1.array.exp, f);
 }
-else if(decl->array.enumClass)
+else if(decl->__anon1.array.enumClass)
 {
-struct Symbol * _class = decl->array.enumClass->symbol;
+struct Symbol * _class = decl->__anon1.array.enumClass->__anon1.__anon1.symbol;
 
-if(_class && _class->registered)
+if(_class && _class->__anon1.registered)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "%d", (int)__ecereNameSpace__ecere__com__eClass_GetProperty(_class->registered, "enumSize"));
+__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "%d", (int)__ecereNameSpace__ecere__com__eClass_GetProperty(_class->__anon1.registered, "enumSize"));
 }
 }
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
@@ -2696,9 +2696,9 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "(");
-if(decl->function.parameters && (*decl->function.parameters).first)
+if(decl->__anon1.function.parameters && (*decl->__anon1.function.parameters).first)
 {
-for(param = (*decl->function.parameters).first; param; param = param->next)
+for(param = (*decl->__anon1.function.parameters).first; param; param = param->next)
 {
 OutputTypeName(param, f, 0x0);
 if(param->next)
@@ -2717,8 +2717,8 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 break;
 }
 case 5:
-if(decl->pointer.pointer)
-OutputPointer(decl->pointer.pointer, f);
+if(decl->__anon1.pointer.pointer)
+OutputPointer(decl->__anon1.pointer.pointer, f);
 if(decl->declarator)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
@@ -2815,14 +2815,14 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 
 static void OutputExtDecl(struct ExtDecl * extDecl, struct __ecereNameSpace__ecere__com__Instance * f)
 {
-if(extDecl->type == 0 && extDecl->s)
+if(extDecl->type == 0 && extDecl->__anon1.s)
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
-})[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, extDecl->s);
+})[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, extDecl->__anon1.s);
 else if(extDecl->type == 1)
-OutputAttrib(extDecl->attr, f);
+OutputAttrib(extDecl->__anon1.attr, f);
 }
 
 extern struct Symbol * FindClass(const char *  name);
@@ -2834,7 +2834,7 @@ static void OutputSpecifier(struct Specifier * spec, struct __ecereNameSpace__ec
 switch(spec->type)
 {
 case 0:
-switch(spec->specifier)
+switch(spec->__anon1.specifier)
 {
 case TYPEDEF:
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
@@ -3036,11 +3036,11 @@ break;
 }
 break;
 case 5:
-if(spec->extDecl)
-OutputExtDecl(spec->extDecl, f);
+if(spec->__anon1.__anon1.extDecl)
+OutputExtDecl(spec->__anon1.__anon1.extDecl, f);
 break;
 case 1:
-if(spec->name && !strcmp(spec->name, "class"))
+if(spec->__anon1.__anon1.name && !strcmp(spec->__anon1.__anon1.name, "class"))
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
@@ -3050,10 +3050,10 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 }
 else
 {
-struct Symbol * symbol = spec->symbol;
+struct Symbol * symbol = spec->__anon1.__anon1.symbol;
 
-if(!symbol && spec->name)
-symbol = FindClass(spec->name);
+if(!symbol && spec->__anon1.__anon1.name)
+symbol = FindClass(spec->__anon1.__anon1.name);
 if(symbol)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
@@ -3062,12 +3062,12 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, symbol->string ? symbol->string : "(null)");
 }
-else if(spec->name)
+else if(spec->__anon1.__anon1.name)
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
-})[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, spec->name);
+})[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, spec->__anon1.__anon1.name);
 }
 break;
 case 2:
@@ -3077,16 +3077,16 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "enum");
-if(spec->id)
+if(spec->__anon1.__anon2.id)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-OutputIdentifier(spec->id, f);
+OutputIdentifier(spec->__anon1.__anon2.id, f);
 }
-if(spec->list)
+if(spec->__anon1.__anon2.list)
 {
 struct Enumerator * enumerator;
 
@@ -3096,7 +3096,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n{\n");
 outputLine += 2;
-for(enumerator = (*spec->list).first; enumerator; enumerator = enumerator->next)
+for(enumerator = (*spec->__anon1.__anon2.list).first; enumerator; enumerator = enumerator->next)
 {
 OutputEnumerator(enumerator, f);
 if(enumerator->next)
@@ -3123,25 +3123,25 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, (spec->type == 3) ? "struct" : "union");
-if(spec->extDeclStruct)
+if(spec->__anon1.__anon2.extDeclStruct)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-OutputExtDecl(spec->extDeclStruct, f);
+OutputExtDecl(spec->__anon1.__anon2.extDeclStruct, f);
 }
-if(spec->id)
+if(spec->__anon1.__anon2.id)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-OutputIdentifier(spec->id, f);
+OutputIdentifier(spec->__anon1.__anon2.id, f);
 }
-if(spec->definitions)
+if(spec->__anon1.__anon2.definitions)
 {
 struct ClassDef * def;
 
@@ -3151,7 +3151,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "\n{\n");
 outputLine += 2;
-for(def = (*spec->definitions).first; def; def = def->next)
+for(def = (*spec->__anon1.__anon2.definitions).first; def; def = def->next)
 {
 OutputClassDef(def, f);
 }
@@ -3169,7 +3169,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "__typeof(");
-OutputExpression(spec->expression, f);
+OutputExpression(spec->__anon1.expression, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -3182,7 +3182,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, "subclass(");
-OutputSpecifier(spec->_class, f, 0x0);
+OutputSpecifier(spec->__anon1._class, f, 0x0);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -3190,7 +3190,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ")");
 break;
 case 8:
-OutputIdentifier(spec->templateParameter->identifier, f);
+OutputIdentifier(spec->__anon1.templateParameter->identifier, f);
 break;
 }
 }
@@ -3249,7 +3249,7 @@ if(inCompiler && outputLineNumbers && initializer->loc.start.line)
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "\n#line %d \"%s\"\n", initializer->loc.start.line, name);
 outputLine += 2;
 }
-for(init = (*initializer->list).first; init; init = init->next)
+for(init = (*initializer->__anon1.list).first; init; init = init->next)
 {
 OutputInitializer(init, f);
 if(init->next)
@@ -3279,8 +3279,8 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-if(initializer->exp)
-OutputExpression(initializer->exp, f);
+if(initializer->__anon1.exp)
+OutputExpression(initializer->__anon1.exp, f);
 break;
 }
 }
@@ -3330,13 +3330,13 @@ case 1:
 {
 struct InitDeclarator * d;
 
-if(decl->specifiers)
+if(decl->__anon1.__anon1.specifiers)
 {
 unsigned int inTypeDef = 0x0;
 
-for(spec = (*decl->specifiers).first; spec; spec = spec->next)
+for(spec = (*decl->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
 {
-if(spec->type == 0 && spec->specifier == TYPEDEF)
+if(spec->type == 0 && spec->__anon1.specifier == TYPEDEF)
 inTypeDef = 0x1;
 OutputSpecifier(spec, f, inTypeDef && !spec->next);
 if(spec->next)
@@ -3347,14 +3347,14 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
 }
 }
-if(decl->declarators && (*decl->declarators).first)
+if(decl->__anon1.__anon1.declarators && (*decl->__anon1.__anon1.declarators).first)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-for(d = (*decl->declarators).first; d; d = d->next)
+for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
 {
 OutputInitDeclarator(d, f);
 if(d->next)
@@ -3369,9 +3369,9 @@ break;
 }
 case 0:
 {
-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)
 {
 OutputSpecifier(spec, f, 0x0);
 if(spec->next)
@@ -3382,7 +3382,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
 }
 }
-if(decl->declarators)
+if(decl->__anon1.__anon1.declarators)
 {
 struct Declarator * d;
 
@@ -3391,7 +3391,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, " ");
-for(d = (*decl->declarators).first; d; d = d->next)
+for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
 {
 OutputDeclarator(d, f);
 if(d->next)
@@ -3414,9 +3414,9 @@ OutputSpecifier(decl->extStorage, f, 0x0);
 break;
 }
 case 2:
-if(decl->inst)
+if(decl->__anon1.inst)
 {
-OutputInstance(decl->inst, f);
+OutputInstance(decl->__anon1.inst, f);
 }
 break;
 case 3:
@@ -3563,9 +3563,9 @@ case 0:
 {
 struct MemberInit * member;
 
-if(init->dataMembers)
+if(init->__anon1.dataMembers)
 {
-for(member = (*init->dataMembers).first; member; member = member->next)
+for(member = (*init->__anon1.dataMembers).first; member; member = member->next)
 {
 OutputMemberInit(member, f);
 if(member->next)
@@ -3579,7 +3579,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 break;
 }
 case 1:
-OutputClassFunction(init->function, f);
+OutputClassFunction(init->__anon1.function, f);
 break;
 }
 }
@@ -3718,9 +3718,9 @@ static void OutputClassDef(struct ClassDef * def, struct __ecereNameSpace__ecere
 switch(def->type)
 {
 case 2:
-if(def->decl)
+if(def->__anon1.decl)
 {
-OutputDeclaration(def->decl, f);
+OutputDeclaration(def->__anon1.decl, f);
 if(def->next && def->next->type != 2)
 {
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
@@ -3736,7 +3736,7 @@ case 1:
 {
 struct MemberInit * init;
 
-for(init = (*def->defProperties).first; init; init = init->next)
+for(init = (*def->__anon1.defProperties).first; init; init = init->next)
 {
 OutputMemberInit(init, f);
 if(init->next)
@@ -3755,7 +3755,7 @@ outputLine += 2;
 break;
 }
 case 0:
-OutputClassFunction(def->function, f);
+OutputClassFunction(def->__anon1.function, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -3827,7 +3827,7 @@ for(external = ast->first; external; external = external->next)
 switch(external->type)
 {
 case 0:
-OutputFunction(external->function, f);
+OutputFunction(external->__anon1.function, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -3836,8 +3836,8 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 outputLine++;
 break;
 case 1:
-if(external->declaration)
-OutputDeclaration(external->declaration, f);
+if(external->__anon1.declaration)
+OutputDeclaration(external->__anon1.declaration, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
@@ -3846,7 +3846,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 outputLine++;
 break;
 case 2:
-OutputClass(external->_class, f);
+OutputClass(external->__anon1._class, f);
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
index 5c2b8cc..f7525f6 100644 (file)
@@ -217,14 +217,14 @@ struct
 {
 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;
@@ -312,7 +312,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -340,7 +340,7 @@ union
 {
 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));
@@ -362,7 +362,7 @@ float f;
 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;
@@ -379,14 +379,14 @@ struct
 {
 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
 {
@@ -465,7 +465,7 @@ 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;
@@ -511,7 +511,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -521,11 +521,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -581,7 +581,7 @@ struct
 {
 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;
@@ -625,7 +625,7 @@ struct Declaration * declaration;
 char *  importString;
 struct Identifier * id;
 struct DBTableDef * table;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 int importType;
 } __attribute__ ((gcc_struct));
 
@@ -652,7 +652,7 @@ union
 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
@@ -661,20 +661,20 @@ struct
 {
 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;
@@ -717,7 +717,7 @@ struct
 {
 struct __ecereNameSpace__ecere__sys__OldList members;
 char *  enumName;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Type * returnType;
@@ -725,13 +725,13 @@ struct __ecereNameSpace__ecere__sys__OldList params;
 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;
@@ -739,10 +739,10 @@ int arraySize;
 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;
@@ -896,7 +896,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -906,9 +906,9 @@ 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));
 
 enum yytokentype
@@ -1010,7 +1010,7 @@ union
 {
 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;
@@ -1048,7 +1048,7 @@ struct
 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;
@@ -1076,8 +1076,8 @@ struct
 {
 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));
@@ -1302,7 +1302,7 @@ extern struct __ecereNameSpace__ecere__com__Instance * privateModule;
 
 static void CheckPublicClass(struct Symbol * classSym, int access, const char * word)
 {
-struct __ecereNameSpace__ecere__com__Class * regClass = classSym ? classSym->registered : (((void *)0));
+struct __ecereNameSpace__ecere__com__Class * regClass = classSym ? classSym->__anon1.registered : (((void *)0));
 
 if(regClass)
 {
@@ -1333,7 +1333,7 @@ for(spec = (*type->qualifiers).first; spec; spec = spec->next)
 {
 if(spec->type == 1)
 {
-struct Symbol * classSym = spec->symbol;
+struct Symbol * classSym = spec->__anon1.__anon1.symbol;
 
 CheckPublicClass(classSym, access, "define");
 }
@@ -1348,13 +1348,13 @@ static void CheckPublicInitializer(struct Initializer * init, int access)
 switch(init->type)
 {
 case 0:
-CheckPublicExpression(init->exp, access);
+CheckPublicExpression(init->__anon1.exp, access);
 break;
 case 1:
 {
 struct Initializer * i;
 
-for(i = (*init->list).first; i; i = i->next)
+for(i = (*init->__anon1.list).first; i; i = i->next)
 CheckPublicInitializer(i, access);
 break;
 }
@@ -1374,16 +1374,16 @@ break;
 case 3:
 break;
 case 4:
-if(exp->op.exp1)
-CheckPublicExpression(exp->op.exp1, access);
-if(exp->op.exp2)
-CheckPublicExpression(exp->op.exp2, access);
+if(exp->__anon1.op.exp1)
+CheckPublicExpression(exp->__anon1.op.exp1, access);
+if(exp->__anon1.op.exp2)
+CheckPublicExpression(exp->__anon1.op.exp2, access);
 break;
 case 5:
 {
 struct Expression * e;
 
-for(e = (*exp->list).first; e; e = e->next)
+for(e = (*exp->__anon1.list).first; e; e = e->next)
 CheckPublicExpression(e, access);
 break;
 }
@@ -1391,8 +1391,8 @@ case 6:
 {
 struct Expression * e;
 
-CheckPublicExpression(exp->index.exp, access);
-for(e = (*exp->index.index).first; e; e = e->next)
+CheckPublicExpression(exp->__anon1.index.exp, access);
+for(e = (*exp->__anon1.index.index).first; e; e = e->next)
 CheckPublicExpression(e, access);
 break;
 }
@@ -1400,67 +1400,67 @@ case 7:
 {
 struct Expression * e;
 
-CheckPublicExpression(exp->call.exp, access);
-if(exp->call.arguments)
+CheckPublicExpression(exp->__anon1.call.exp, access);
+if(exp->__anon1.call.arguments)
 {
-for(e = (*exp->call.arguments).first; e; e = e->next)
+for(e = (*exp->__anon1.call.arguments).first; e; e = e->next)
 CheckPublicExpression(e, access);
 }
 break;
 }
 case 8:
 {
-CheckPublicExpression(exp->member.exp, access);
+CheckPublicExpression(exp->__anon1.member.exp, access);
 break;
 }
 case 9:
 {
-CheckPublicExpression(exp->member.exp, access);
+CheckPublicExpression(exp->__anon1.member.exp, access);
 break;
 }
 case 10:
-CheckPublicTypeName(exp->typeName, access);
+CheckPublicTypeName(exp->__anon1.typeName, access);
 break;
 case 11:
 {
 struct Type * type = exp->expType;
 
-CheckPublicTypeName(exp->cast.typeName, access);
-if(exp->cast.exp)
-CheckPublicExpression(exp->cast.exp, access);
+CheckPublicTypeName(exp->__anon1.cast.typeName, access);
+if(exp->__anon1.cast.exp)
+CheckPublicExpression(exp->__anon1.cast.exp, access);
 break;
 }
 case 12:
 {
 struct Expression * e;
 
-CheckPublicExpression(exp->cond.cond, access);
-for(e = (*exp->cond.exp).first; e; e = e->next)
+CheckPublicExpression(exp->__anon1.cond.cond, access);
+for(e = (*exp->__anon1.cond.exp).first; e; e = e->next)
 CheckPublicExpression(e, access);
-CheckPublicExpression(exp->cond.elseExp, access);
+CheckPublicExpression(exp->__anon1.cond.elseExp, access);
 break;
 }
 case 13:
 case 26:
-CheckPublicExpression(exp->_new.size, access);
+CheckPublicExpression(exp->__anon1._new.size, access);
 break;
 case 14:
 case 27:
-CheckPublicExpression(exp->_renew.size, access);
-CheckPublicExpression(exp->_renew.exp, access);
+CheckPublicExpression(exp->__anon1._renew.size, access);
+CheckPublicExpression(exp->__anon1._renew.exp, access);
 break;
 case 1:
 {
 struct MembersInit * members;
 
-CheckPublicClass(exp->instance->_class->symbol, access, "define");
-for(members = (*exp->instance->members).first; members; members = members->next)
+CheckPublicClass(exp->__anon1.instance->_class->__anon1.__anon1.symbol, access, "define");
+for(members = (*exp->__anon1.instance->members).first; members; members = members->next)
 {
 if(members->type == 0)
 {
 struct MemberInit * member;
 
-for(member = (*members->dataMembers).first; member; member = member->next)
+for(member = (*members->__anon1.dataMembers).first; member; member = member->next)
 {
 CheckPublicInitializer(member->initializer, access);
 }
@@ -1480,7 +1480,7 @@ switch(type->kind)
 {
 case 8:
 {
-CheckPublicClass(type->_class, access, word);
+CheckPublicClass(type->__anon1._class, access, word);
 break;
 }
 case 9:
@@ -1492,20 +1492,20 @@ case 11:
 {
 struct Type * param;
 
-CheckPublicDataType(type->returnType, access, word);
-for(param = type->params.first; param; param = param->next)
+CheckPublicDataType(type->__anon1.__anon2.returnType, access, word);
+for(param = type->__anon1.__anon2.params.first; param; param = param->next)
 CheckPublicDataType(param, access, word);
-CheckPublicClass(type->thisClass, access, word);
+CheckPublicClass(type->__anon1.__anon2.thisClass, access, word);
 break;
 }
 case 12:
-CheckPublicDataType(type->arrayType, access, word);
-if(type->enumClass)
-CheckPublicClass(type->enumClass, access, word);
+CheckPublicDataType(type->__anon1.__anon4.arrayType, access, word);
+if(type->__anon1.__anon4.enumClass)
+CheckPublicClass(type->__anon1.__anon4.enumClass, access, word);
 break;
 case 13:
 {
-CheckPublicDataType(type->type, access, word);
+CheckPublicDataType(type->__anon1.type, access, word);
 break;
 }
 case 16:
@@ -1514,7 +1514,7 @@ break;
 }
 case 19:
 {
-CheckPublicClass(type->_class, access, word);
+CheckPublicClass(type->__anon1._class, access, word);
 break;
 }
 }
@@ -1549,7 +1549,7 @@ for(def = definitions->first; def; def = def->next)
 {
 if(def->type == 2)
 {
-struct Declaration * decl = def->decl;
+struct Declaration * decl = def->__anon1.decl;
 struct __ecereNameSpace__ecere__com__DataMember * dataMember;
 
 yylloc = def->loc;
@@ -1557,9 +1557,9 @@ if(decl->type == 0)
 {
 struct Declarator * d;
 
-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 Identifier * declId = GetDeclId(d);
 
@@ -1578,28 +1578,28 @@ CheckPublicDataType(dataMember->dataType, (def->memberAccess == 2) ? 2 : access,
 }
 }
 }
-else if(decl->specifiers)
+else if(decl->__anon1.__anon1.specifiers)
 {
 struct Specifier * spec;
 
-for(spec = (*decl->specifiers).first; spec; spec = spec->next)
+for(spec = (*decl->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
 {
 if(spec->type == 3 || spec->type == 4)
 {
-if(spec->definitions && !spec->id)
+if(spec->__anon1.__anon2.definitions && !spec->__anon1.__anon2.id)
 {
-CheckMembersDefinitions(regClass, member, spec->definitions, (def->memberAccess == 2) ? 2 : access);
+CheckMembersDefinitions(regClass, member, spec->__anon1.__anon2.definitions, (def->memberAccess == 2) ? 2 : access);
 }
-else if(spec->definitions && spec->id)
+else if(spec->__anon1.__anon2.definitions && spec->__anon1.__anon2.id)
 {
 if(member)
 {
-struct __ecereNameSpace__ecere__com__BTNamedLink * link = (struct __ecereNameSpace__ecere__com__BTNamedLink *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(&member->membersAlpha, spec->id->string);
+struct __ecereNameSpace__ecere__com__BTNamedLink * link = (struct __ecereNameSpace__ecere__com__BTNamedLink *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(&member->membersAlpha, spec->__anon1.__anon2.id->string);
 
 dataMember = link ? link->data : (((void *)0));
 }
 else
-dataMember = __ecereNameSpace__ecere__com__eClass_FindDataMember(regClass, spec->id->string, privateModule, (((void *)0)), (((void *)0)));
+dataMember = __ecereNameSpace__ecere__com__eClass_FindDataMember(regClass, spec->__anon1.__anon2.id->string, privateModule, (((void *)0)), (((void *)0)));
 if(dataMember)
 CheckPublicDataType(dataMember->dataType, (def->memberAccess == 2) ? 2 : access, __ecereNameSpace__ecere__GetTranslatedString("ec", "class data member", (((void *)0))));
 }
@@ -1609,7 +1609,7 @@ CheckPublicDataType(dataMember->dataType, (def->memberAccess == 2) ? 2 : access,
 }
 else if(decl->type == 2)
 {
-CheckPublicClass(decl->inst->_class->symbol, (def->memberAccess == 2) ? 2 : access, __ecereNameSpace__ecere__GetTranslatedString("ec", "class member instance", (((void *)0))));
+CheckPublicClass(decl->__anon1.inst->_class->__anon1.__anon1.symbol, (def->memberAccess == 2) ? 2 : access, __ecereNameSpace__ecere__GetTranslatedString("ec", "class member instance", (((void *)0))));
 }
 }
 }
@@ -1814,22 +1814,22 @@ struct __ecereNameSpace__ecere__com__DataMember * member;
 struct __ecereNameSpace__ecere__com__Property * prop;
 struct __ecereNameSpace__ecere__com__Method * method;
 
-if((prop = __ecereNameSpace__ecere__com__eClass_FindProperty(regClass, def->id->string, privateModule)))
+if((prop = __ecereNameSpace__ecere__com__eClass_FindProperty(regClass, def->__anon1.__anon1.id->string, privateModule)))
 {
-__ecereNameSpace__ecere__com__eClass_AddProperty(regClass, def->id->string, (((void *)0)), (((void *)0)), (((void *)0)), def->memberAccess);
+__ecereNameSpace__ecere__com__eClass_AddProperty(regClass, def->__anon1.__anon1.id->string, (((void *)0)), (((void *)0)), (((void *)0)), def->memberAccess);
 }
-else if((member = __ecereNameSpace__ecere__com__eClass_FindDataMember(regClass, def->id->string, privateModule, (((void *)0)), (((void *)0)))))
+else if((member = __ecereNameSpace__ecere__com__eClass_FindDataMember(regClass, def->__anon1.__anon1.id->string, privateModule, (((void *)0)), (((void *)0)))))
 {
-__ecereNameSpace__ecere__com__eClass_AddDataMember(regClass, def->id->string, (((void *)0)), 0, 0, def->memberAccess);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(regClass, def->__anon1.__anon1.id->string, (((void *)0)), 0, 0, def->memberAccess);
 }
-else if((method = __ecereNameSpace__ecere__com__eClass_FindMethod(regClass, def->id->string, privateModule)))
+else if((method = __ecereNameSpace__ecere__com__eClass_FindMethod(regClass, def->__anon1.__anon1.id->string, privateModule)))
 {
-__ecereNameSpace__ecere__com__eClass_AddMethod(regClass, def->id->string, (((void *)0)), (((void *)0)), def->memberAccess);
+__ecereNameSpace__ecere__com__eClass_AddMethod(regClass, def->__anon1.__anon1.id->string, (((void *)0)), (((void *)0)), def->memberAccess);
 }
 else
 {
 yylloc = def->loc;
-Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "Couldn't find member %s to override\n", (((void *)0))), def->id->string);
+Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "Couldn't find member %s to override\n", (((void *)0))), def->__anon1.__anon1.id->string);
 }
 }
 }
@@ -1858,19 +1858,19 @@ for(def = definitions->first; def; def = def->next)
 {
 if(def->type == 2)
 {
-struct Declaration * decl = def->decl;
+struct Declaration * decl = def->__anon1.decl;
 
 if(decl->type == 0)
 {
 if(inCompiler && classType != 2)
 {
 ListAdd(list, MkClassDefDeclaration(decl));
-def->decl = (((void *)0));
+def->__anon1.decl = (((void *)0));
 }
 }
 else if(decl->type == 2)
 {
-struct Instantiation * inst = decl->inst;
+struct Instantiation * inst = decl->__anon1.inst;
 struct Expression * exp = inst->exp;
 struct Symbol * classSym;
 
@@ -1879,8 +1879,8 @@ if(exp)
 struct __ecereNameSpace__ecere__sys__OldList * specifiers = MkList();
 struct Declarator * d;
 
-ListAdd(specifiers, MkSpecifierName(inst->_class->name));
-d = MkDeclaratorIdentifier(MkIdentifier(exp->identifier->string));
+ListAdd(specifiers, MkSpecifierName(inst->_class->__anon1.__anon1.name));
+d = MkDeclaratorIdentifier(MkIdentifier(exp->__anon1.__anon1.identifier->string));
 if(inCompiler)
 {
 struct __ecereNameSpace__ecere__sys__OldList * declarators = MkList();
@@ -1889,10 +1889,10 @@ ListAdd(declarators, d);
 decl = MkStructDeclaration(specifiers, declarators, (((void *)0)));
 ListAdd(list, MkClassDefDeclaration(decl));
 exp->type = 8;
-exp->member.member = exp->identifier;
-exp->member.exp = QMkExpId("this");
-exp->member.memberType = 3;
-exp->member.thisPtr = 0x1;
+exp->__anon1.member.member = exp->__anon1.__anon1.identifier;
+exp->__anon1.member.exp = QMkExpId("this");
+exp->__anon1.member.memberType = 3;
+exp->__anon1.member.thisPtr = 0x1;
 }
 else
 {
@@ -1900,8 +1900,8 @@ FreeDeclarator(d);
 FreeList(specifiers, FreeSpecifier);
 }
 }
-classSym = inst->_class->symbol;
-if(classSym && classSym->registered && (classSym->registered->type == 1 || classSym->registered->type == 2 || classSym->registered->type == 3))
+classSym = inst->_class->__anon1.__anon1.symbol;
+if(classSym && classSym->__anon1.registered && (classSym->__anon1.registered->type == 1 || classSym->__anon1.registered->type == 2 || classSym->__anon1.registered->type == 3))
 {
 if(inst->members && (*inst->members).count)
 symbol->needConstructor = 0x1;
@@ -1915,14 +1915,14 @@ symbol->needDestructor = 0x1;
 }
 else if(def->type == 9)
 {
-struct Declaration * decl = def->decl;
+struct Declaration * decl = def->__anon1.decl;
 
 if(decl->type == 0)
 {
 if(inCompiler && classType != 2)
 {
 ListAdd(classDataList, MkClassDefDeclaration(decl));
-def->decl = (((void *)0));
+def->__anon1.decl = (((void *)0));
 }
 }
 }
@@ -1932,7 +1932,7 @@ else if(def->type == 4)
 symbol->needConstructor = 0x1;
 else if(def->type == 0)
 {
-struct ClassFunction * func = def->function;
+struct ClassFunction * func = def->__anon1.function;
 
 if(func->isDestructor)
 {
@@ -1949,7 +1949,7 @@ if(!inCompiler && func->body)
 {
 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(&func->body->compound.context->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
+__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&func->body->__anon1.compound.context->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
 }
 }
 }
@@ -1968,7 +1968,7 @@ if(!inCompiler && func->body)
 {
 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(&func->body->compound.context->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
+__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&func->body->__anon1.compound.context->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
 }
 }
 }
@@ -1988,12 +1988,12 @@ symbol->structName = __ecereNameSpace__ecere__sys__CopyString(structName);
 {
 struct Specifier * spec = MkStructOrUnion(3, MkIdentifier(structName), isUnion ? MkListOne(MkClassDefDeclaration(MkStructDeclaration(MkListOne(MkStructOrUnion(4, (((void *)0)), list)), (((void *)0)), (((void *)0))))) : list);
 
-spec->extDeclStruct = extDecl;
+spec->__anon1.__anon2.extDeclStruct = extDecl;
 ListAdd(specs, spec);
 }
 external->symbol = symbol;
-symbol->structExternal = external;
-external->declaration = MkDeclaration(specs, declarators);
+symbol->__anon2.__anon1.structExternal = external;
+external->__anon1.declaration = MkDeclaration(specs, declarators);
 after = external;
 symbol->declaredStruct = 0x1;
 }
@@ -2035,9 +2035,9 @@ if(!strstr(sourceFile, ".main.ec"))
 ListAdd(specs, MkSpecifier(STATIC));
 ListAdd(specs, MkStructOrUnion(3, MkIdentifier("__ecereNameSpace__ecere__com__Class"), (((void *)0))));
 ListAdd(declarators, MkInitDeclarator(MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), MkDeclaratorIdentifier(MkIdentifier(className))), (((void *)0))));
-symbol->methodExternal = MkExternalDeclaration(MkDeclaration(specs, declarators));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(defs, after, symbol->methodExternal);
-after = symbol->methodExternal;
+symbol->__anon2.__anon3.methodExternal = MkExternalDeclaration(MkDeclaration(specs, declarators));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(defs, after, symbol->__anon2.__anon3.methodExternal);
+after = symbol->__anon2.__anon3.methodExternal;
 }
 if(symbol->needDestructor)
 {
@@ -2058,18 +2058,18 @@ if(definitions != (((void *)0)))
 {
 for(def = definitions->first; def; def = def->next)
 {
-if(def->type == 2 && def->decl && def->decl->type == 2)
+if(def->type == 2 && def->__anon1.decl && def->__anon1.decl->type == 2)
 {
-struct Instantiation * inst = def->decl->inst;
-struct Symbol * classSym = inst->_class->symbol;
+struct Instantiation * inst = def->__anon1.decl->__anon1.inst;
+struct Symbol * classSym = inst->_class->__anon1.__anon1.symbol;
 
-if(inst->exp && (!classSym || !classSym->registered || classSym->registered->type == 0))
+if(inst->exp && (!classSym || !classSym->__anon1.registered || classSym->__anon1.registered->type == 0))
 {
 struct Expression * exp = MkExpOp((((void *)0)), DELETE, CopyExpression(inst->exp));
 
 ListAdd(statements, MkExpressionStmt(MkListOne(exp)));
 }
-if(inst->exp && (!classSym || !classSym->registered || classSym->registered->type == 5))
+if(inst->exp && (!classSym || !classSym->__anon1.registered || classSym->__anon1.registered->type == 5))
 {
 struct Expression * exp = MkExpOp((((void *)0)), DELETE, CopyExpression(inst->exp));
 
@@ -2081,12 +2081,12 @@ ListAdd(statements, MkExpressionStmt(MkListOne(exp)));
 if(destructor && destructor->body)
 {
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*statements), (((void *)0)), destructor->body);
-destructor->body->compound.context->parent = context;
+destructor->body->__anon1.compound.context->parent = context;
 destructor->body = (((void *)0));
 }
 body = MkCompoundStmt(declarations, statements);
 PopContext(context);
-body->compound.context = context;
+body->__anon1.compound.context = context;
 decl = MkDeclaratorFunction(MkDeclaratorIdentifier(MkIdentifier(destructorName)), (((void *)0)));
 decl->symbol = __extension__ ({
 struct Symbol * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol);
@@ -2120,12 +2120,12 @@ if(definitions != (((void *)0)))
 {
 for(def = definitions->first; def; def = def->next)
 {
-if(def->type == 2 && def->decl && def->decl->type == 2)
+if(def->type == 2 && def->__anon1.decl && def->__anon1.decl->type == 2)
 {
-struct Instantiation * inst = def->decl->inst;
-struct Symbol * classSym = inst->_class->symbol;
+struct Instantiation * inst = def->__anon1.decl->__anon1.inst;
+struct Symbol * classSym = inst->_class->__anon1.__anon1.symbol;
 
-if(inst->exp && (!classSym || !classSym->registered || classSym->registered->type == 0 || classSym->registered->type == 5))
+if(inst->exp && (!classSym || !classSym->__anon1.registered || classSym->__anon1.registered->type == 0 || classSym->__anon1.registered->type == 5))
 {
 struct Instantiation * newInst = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Instantiation);
 
@@ -2136,7 +2136,7 @@ newInst->_class = CopySpecifier(inst->_class);
 ListAdd(statements, MkExpressionStmt(MkListOne(MkExpInstance(newInst))));
 inst->built = 0x1;
 }
-if(inst->exp && (!classSym || !classSym->registered || classSym->registered->type == 0))
+if(inst->exp && (!classSym || !classSym->__anon1.registered || classSym->__anon1.registered->type == 0))
 {
 ListAdd(statements, MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_IncRef")), MkListOne(CopyExpression(inst->exp))))));
 }
@@ -2144,11 +2144,11 @@ ListAdd(statements, MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdent
 }
 for(def = definitions->first; def; def = def->next)
 {
-if(def->type == 1 && def->defProperties)
+if(def->type == 1 && def->__anon1.defProperties)
 {
 struct MemberInit * propertyDef;
 
-for(propertyDef = (*def->defProperties).first; propertyDef; propertyDef = propertyDef->next)
+for(propertyDef = (*def->__anon1.defProperties).first; propertyDef; propertyDef = propertyDef->next)
 {
 struct Expression * memberExp;
 struct Identifier * id = (*propertyDef->identifiers).first;
@@ -2158,12 +2158,12 @@ if(id)
 memberExp = MkExpMember(MkExpIdentifier(MkIdentifier("this")), id);
 for(id = id->next; id; id = id->next)
 memberExp = MkExpMember(memberExp, id);
-ListAdd(statements, MkExpressionStmt(MkListOne(MkExpOp(memberExp, '=', (propertyDef->initializer && propertyDef->initializer->type == 0 ? propertyDef->initializer->exp : (((void *)0)))))));
+ListAdd(statements, MkExpressionStmt(MkListOne(MkExpOp(memberExp, '=', (propertyDef->initializer && propertyDef->initializer->type == 0 ? propertyDef->initializer->__anon1.exp : (((void *)0)))))));
 }
 if(propertyDef->initializer)
 {
 if(propertyDef->initializer->type == 0)
-propertyDef->initializer->exp = (((void *)0));
+propertyDef->initializer->__anon1.exp = (((void *)0));
 FreeInitializer(propertyDef->initializer);
 }
 propertyDef->initializer = (((void *)0));
@@ -2173,16 +2173,16 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear((&*propertyDef->identi
 }
 for(def = definitions->first; def; def = def->next)
 {
-if(def->type == 2 && def->decl && def->decl->type == 2)
+if(def->type == 2 && def->__anon1.decl && def->__anon1.decl->type == 2)
 {
-struct Instantiation * inst = def->decl->inst;
-struct Symbol * classSym = inst->_class->symbol;
+struct Instantiation * inst = def->__anon1.decl->__anon1.inst;
+struct Symbol * classSym = inst->_class->__anon1.__anon1.symbol;
 
-if(inst->exp || (!classSym || !classSym->registered || classSym->registered->type == 0 || classSym->registered->type == 5))
+if(inst->exp || (!classSym || !classSym->__anon1.registered || classSym->__anon1.registered->type == 0 || classSym->__anon1.registered->type == 5))
 {
-if(!(inst->exp && (!classSym || !classSym->registered || classSym->registered->type == 0 || classSym->registered->type == 5)) || (inst->members && (*inst->members).count))
+if(!(inst->exp && (!classSym || !classSym->__anon1.registered || classSym->__anon1.registered->type == 0 || classSym->__anon1.registered->type == 5)) || (inst->members && (*inst->members).count))
 {
-def->decl->inst = (((void *)0));
+def->__anon1.decl->__anon1.inst = (((void *)0));
 ListAdd(statements, MkExpressionStmt(MkListOne(MkExpInstance(inst))));
 }
 }
@@ -2192,13 +2192,13 @@ ListAdd(statements, MkExpressionStmt(MkListOne(MkExpInstance(inst))));
 if(constructor && constructor->body)
 {
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*statements), constructor->body);
-constructor->body->compound.context->parent = context;
+constructor->body->__anon1.compound.context->parent = context;
 constructor->body = (((void *)0));
 }
 ListAdd(statements, MkReturnStmt(MkListOne(MkExpIdentifier(MkIdentifier("true")))));
 body = MkCompoundStmt(declarations, statements);
 PopContext(context);
-body->compound.context = context;
+body->__anon1.compound.context = context;
 decl = MkDeclaratorFunction(MkDeclaratorIdentifier(MkIdentifier(constructorName)), (((void *)0)));
 decl->symbol = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*excludedSymbols), decl->symbol);
@@ -2217,9 +2217,9 @@ if(definitions != (((void *)0)))
 {
 for(def = definitions->first; def; def = def->next)
 {
-if(def->type == 3 && def->propertyDef)
+if(def->type == 3 && def->__anon1.propertyDef)
 {
-struct PropertyDef * propertyDef = def->propertyDef;
+struct PropertyDef * propertyDef = def->__anon1.propertyDef;
 struct ClassDef * after = def;
 struct ClassDef * newDef;
 
@@ -2246,7 +2246,7 @@ strcat(name, "_Get_");
 FullClassNameCat(name, propertyDef->id->string, 0x1);
 MangleClassName(name);
 params = MkList();
-if(propertyDef->symbol->type && propertyDef->symbol->type->kind == 8 && propertyDef->symbol->type->_class && propertyDef->symbol->type->_class->registered && propertyDef->symbol->type->_class->registered->type == 1)
+if(propertyDef->symbol->type && propertyDef->symbol->type->kind == 8 && propertyDef->symbol->type->__anon1._class && propertyDef->symbol->type->__anon1._class->__anon1.registered && propertyDef->symbol->type->__anon1._class->__anon1.registered->type == 1)
 {
 ListAdd(params, MkTypeName(CopyList(propertyDef->specifiers, CopySpecifier), MkDeclaratorIdentifier(MkIdentifier("value"))));
 decl = PlugDeclarator(propertyDef->declarator, MkDeclaratorFunction(MkDeclaratorIdentifier(MkIdentifier(name)), params));
@@ -2259,7 +2259,7 @@ func = MkClassFunction(CopyList(propertyDef->specifiers, CopySpecifier), (((void
 }
 ProcessClassFunctionBody(func, propertyDef->getStmt);
 func->declarator->symbol = propertyDef->symbol;
-propertyDef->symbol->externalGet = (struct External *)func;
+propertyDef->symbol->__anon2.__anon2.externalGet = (struct External *)func;
 func->dontMangle = 0x1;
 newDef = MkClassDefFunction(func);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(definitions, after, newDef);
@@ -2280,20 +2280,20 @@ FullClassNameCat(name, propertyDef->id->string, 0x1);
 MangleClassName(name);
 params = MkList();
 ListAdd(params, MkTypeName(CopyList(propertyDef->specifiers, CopySpecifier), PlugDeclarator(propertyDef->declarator, MkDeclaratorIdentifier(MkIdentifier("value")))));
-if(propertyDef->isDBProp)
+if(propertyDef->__anon1.isDBProp)
 {
 struct Specifier * spec;
 struct __ecereNameSpace__ecere__sys__OldList * specs = ((struct TypeName *)(*params).last)->qualifiers;
 
 for(spec = (*specs).first; spec; spec = spec->next)
-if(spec->type == 0 && spec->specifier == CONST)
+if(spec->type == 0 && spec->__anon1.specifier == CONST)
 break;
 if(!spec)
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*specs), (((void *)0)), MkSpecifier(CONST));
 }
 decl = MkDeclaratorFunction(MkDeclaratorIdentifier(MkIdentifier(name)), params);
 {
-unsigned int isConversion = propertyDef->symbol->_property && propertyDef->symbol->_property->conversion;
+unsigned int isConversion = propertyDef->symbol->__anon1._property && propertyDef->symbol->__anon1._property->conversion;
 unsigned int useVoid = 0x0;
 
 switch(regClass->type)
@@ -2308,7 +2308,7 @@ useVoid = !isConversion;
 break;
 default:
 useVoid = !isConversion;
-if(useVoid && !propertyDef->isDBProp)
+if(useVoid && !propertyDef->__anon1.isDBProp)
 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "set defined on type without storage for non-conversion property\n", (((void *)0))));
 }
 ListAdd(specifiers, useVoid ? MkSpecifier(VOID) : MkSpecifierName(regClass->fullName));
@@ -2317,8 +2317,8 @@ func = MkClassFunction(specifiers, (((void *)0)), decl, (((void *)0)));
 ProcessClassFunctionBody(func, propertyDef->setStmt);
 func->dontMangle = 0x1;
 func->declarator->symbol = propertyDef->symbol;
-propertyDef->symbol->externalSet = (struct External *)func;
-if(!propertyDef->conversion && regClass->type == 0)
+propertyDef->symbol->__anon2.__anon2.externalSet = (struct External *)func;
+if(!propertyDef->__anon1.conversion && regClass->type == 0)
 func->propSet = propertyDef->symbol;
 newDef = MkClassDefFunction(func);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(definitions, after, newDef);
@@ -2344,7 +2344,7 @@ func = MkClassFunction(specifiers, (((void *)0)), decl, (((void *)0)));
 ProcessClassFunctionBody(func, propertyDef->issetStmt);
 func->dontMangle = 0x1;
 func->declarator->symbol = propertyDef->symbol;
-propertyDef->symbol->externalIsSet = (struct External *)func;
+propertyDef->symbol->__anon2.__anon2.externalIsSet = (struct External *)func;
 newDef = MkClassDefFunction(func);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(definitions, after, newDef);
 after = newDef;
@@ -2355,7 +2355,7 @@ func->body = (((void *)0));
 }
 if(propertyDef->id && inCompiler)
 {
-struct __ecereNameSpace__ecere__com__Property * prop = __ecereNameSpace__ecere__com__eClass_FindProperty(symbol->registered, propertyDef->id->string, privateModule);
+struct __ecereNameSpace__ecere__com__Property * prop = __ecereNameSpace__ecere__com__eClass_FindProperty(symbol->__anon1.registered, propertyDef->id->string, privateModule);
 struct Declaration * decl;
 struct External * external;
 struct __ecereNameSpace__ecere__sys__OldList * specifiers = MkList();
@@ -2382,16 +2382,16 @@ decl = MkDeclaration(specifiers, list);
 external = MkExternalDeclaration(decl);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), curExternal ? curExternal->prev : (((void *)0)), external);
 external->symbol = propertyDef->symbol;
-propertyDef->symbol->externalPtr = external;
+propertyDef->symbol->__anon2.__anon2.externalPtr = external;
 if(inCompiler && prop && prop->symbol)
-((struct Symbol *)prop->symbol)->externalPtr = external;
+((struct Symbol *)prop->symbol)->__anon2.__anon2.externalPtr = external;
 }
 }
 }
 }
-else if(def->type == 10 && def->propertyDef)
+else if(def->type == 10 && def->__anon1.propertyDef)
 {
-struct PropertyDef * propertyDef = def->propertyDef;
+struct PropertyDef * propertyDef = def->__anon1.propertyDef;
 struct ClassDef * after = def;
 struct ClassDef * newDef;
 
@@ -2427,7 +2427,7 @@ func = MkClassFunction(MkListOne(MkSpecifierName("uint64")), (((void *)0)), decl
 }
 ProcessClassFunctionBody(func, propertyDef->getStmt);
 func->declarator->symbol = propertyDef->symbol;
-propertyDef->symbol->externalGet = (struct External *)func;
+propertyDef->symbol->__anon2.__anon2.externalGet = (struct External *)func;
 func->dontMangle = 0x1;
 newDef = MkClassDefFunction(func);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(definitions, after, newDef);
@@ -2436,8 +2436,8 @@ decl = MkDeclaratorFunction(propertyDef->declarator, (((void *)0)));
 func->type = ProcessType(propertyDef->specifiers, decl);
 decl->declarator = (((void *)0));
 FreeDeclarator(decl);
-if(func->type->returnType->kind == 8 && func->type->returnType->_class && func->type->returnType->_class->registered && func->type->returnType->_class->registered->type == 1)
-func->type->returnType->byReference = 0x1;
+if(func->type->__anon1.__anon2.returnType->kind == 8 && func->type->__anon1.__anon2.returnType->__anon1._class && func->type->__anon1.__anon2.returnType->__anon1._class->__anon1.registered && func->type->__anon1.__anon2.returnType->__anon1._class->__anon1.registered->type == 1)
+func->type->__anon1.__anon2.returnType->byReference = 0x1;
 if(inCompiler)
 propertyDef->getStmt = (((void *)0));
 else
@@ -2457,16 +2457,16 @@ strcat(name, propertyDef->id->string);
 MangleClassName(name);
 params = MkList();
 prevCurContext = curContext;
-curContext = body->compound.context;
+curContext = body->__anon1.compound.context;
 ListAdd(params, MkTypeName(MkListOne(MkSpecifierName("uint64")), MkDeclaratorIdentifier(MkIdentifier("_value"))));
 decl = MkDeclaratorFunction(MkDeclaratorIdentifier(MkIdentifier(name)), params);
-if(!body->compound.declarations)
-body->compound.declarations = MkList();
-if(propertyDef->symbol->type && propertyDef->symbol->type->kind == 8 && propertyDef->symbol->type->_class && propertyDef->symbol->type->_class->registered && propertyDef->symbol->type->_class->registered->type == 1)
+if(!body->__anon1.compound.declarations)
+body->__anon1.compound.declarations = MkList();
+if(propertyDef->symbol->type && propertyDef->symbol->type->kind == 8 && propertyDef->symbol->type->__anon1._class && propertyDef->symbol->type->__anon1._class->__anon1.registered && propertyDef->symbol->type->__anon1._class->__anon1.registered->type == 1)
 ptrDecl = MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), PlugDeclarator(propertyDef->declarator, MkDeclaratorIdentifier(MkIdentifier("value"))));
 else
 ptrDecl = PlugDeclarator(propertyDef->declarator, MkDeclaratorIdentifier(MkIdentifier("value")));
-ListAdd(body->compound.declarations, MkDeclaration(CopyList(propertyDef->specifiers, CopySpecifier), MkListOne(MkInitDeclarator(ptrDecl, MkInitializerAssignment(MkExpCast(MkTypeName(CopyList(propertyDef->specifiers, CopySpecifier), CopyDeclarator(propertyDef->declarator)), MkExpIdentifier(MkIdentifier("_value"))))))));
+ListAdd(body->__anon1.compound.declarations, MkDeclaration(CopyList(propertyDef->specifiers, CopySpecifier), MkListOne(MkInitDeclarator(ptrDecl, MkInitializerAssignment(MkExpCast(MkTypeName(CopyList(propertyDef->specifiers, CopySpecifier), CopyDeclarator(propertyDef->declarator)), MkExpIdentifier(MkIdentifier("_value"))))))));
 curContext = prevCurContext;
 {
 struct Symbol * sym = ptrDecl->symbol;
@@ -2480,7 +2480,7 @@ func = MkClassFunction(specifiers, (((void *)0)), decl, (((void *)0)));
 ProcessClassFunctionBody(func, propertyDef->setStmt);
 func->dontMangle = 0x1;
 func->declarator->symbol = propertyDef->symbol;
-propertyDef->symbol->externalSet = (struct External *)func;
+propertyDef->symbol->__anon2.__anon2.externalSet = (struct External *)func;
 newDef = MkClassDefFunction(func);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(definitions, after, newDef);
 after = newDef;
@@ -2492,9 +2492,9 @@ func->body = (((void *)0));
 }
 }
 }
-else if(def->type == 0 && def->function->declarator)
+else if(def->type == 0 && def->__anon1.function->declarator)
 {
-struct ClassFunction * func = def->function;
+struct ClassFunction * func = def->__anon1.function;
 
 func->_class = regClass;
 if(!func->dontMangle)
@@ -2503,11 +2503,11 @@ struct Declarator * funcDecl = GetFuncDecl(func->declarator);
 struct Identifier * id = GetDeclId(funcDecl);
 struct __ecereNameSpace__ecere__com__Method * method;
 
-if(!funcDecl->function.parameters || !(*funcDecl->function.parameters).first)
+if(!funcDecl->__anon1.function.parameters || !(*funcDecl->__anon1.function.parameters).first)
 {
-if(!funcDecl->function.parameters)
-funcDecl->function.parameters = MkList();
-ListAdd(funcDecl->function.parameters, MkTypeName(MkListOne(MkSpecifier(VOID)), (((void *)0))));
+if(!funcDecl->__anon1.function.parameters)
+funcDecl->__anon1.function.parameters = MkList();
+ListAdd(funcDecl->__anon1.function.parameters, MkTypeName(MkListOne(MkSpecifier(VOID)), (((void *)0))));
 }
 method = __ecereNameSpace__ecere__com__eClass_FindMethod(regClass, id->string, privateModule);
 FreeSpecifier(id->_class);
@@ -2557,7 +2557,7 @@ next = external->next;
 curExternal = external;
 if(external->type == 2)
 {
-struct ClassDefinition * _class = external->_class;
+struct ClassDefinition * _class = external->__anon1._class;
 
 if(_class->definitions)
 {
@@ -2566,32 +2566,32 @@ ProcessClass(0, _class->definitions, _class->symbol, _class->baseSpecs, (((void
 }
 else if(external->type == 1)
 {
-struct Declaration * declaration = external->declaration;
+struct Declaration * declaration = external->__anon1.declaration;
 
 if(declaration->type == 1)
 {
-if(declaration->specifiers)
+if(declaration->__anon1.__anon1.specifiers)
 {
 struct Specifier * specifier;
 
-for(specifier = (*declaration->specifiers).first; specifier; specifier = specifier->next)
+for(specifier = (*declaration->__anon1.__anon1.specifiers).first; specifier; specifier = specifier->next)
 {
-if((specifier->type == 2 || specifier->type == 3 || specifier->type == 4) && specifier->id && specifier->id->string && (declaration->declMode || specifier->baseSpecs || (specifier->type == 2 && specifier->definitions)))
+if((specifier->type == 2 || specifier->type == 3 || specifier->type == 4) && specifier->__anon1.__anon2.id && specifier->__anon1.__anon2.id->string && (declaration->declMode || specifier->__anon1.__anon2.baseSpecs || (specifier->type == 2 && specifier->__anon1.__anon2.definitions)))
 {
-struct Symbol * symbol = FindClass(specifier->id->string);
+struct Symbol * symbol = FindClass(specifier->__anon1.__anon2.id->string);
 
 if(symbol)
 {
 struct __ecereNameSpace__ecere__sys__OldList * initDeclarators = (((void *)0));
-struct ExtDecl * extDecl = specifier->extDeclStruct;
+struct ExtDecl * extDecl = specifier->__anon1.__anon2.extDeclStruct;
 
-specifier->extDeclStruct = (((void *)0));
+specifier->__anon1.__anon2.extDeclStruct = (((void *)0));
 if(inCompiler)
 {
-initDeclarators = declaration->declarators;
-declaration->declarators = (((void *)0));
+initDeclarators = declaration->__anon1.__anon1.declarators;
+declaration->__anon1.__anon1.declarators = (((void *)0));
 }
-ProcessClass((specifier->type == 4) ? 6 : 0, specifier->definitions, symbol, specifier->baseSpecs, specifier->list, &specifier->loc, ast, external->prev, initDeclarators, extDecl);
+ProcessClass((specifier->type == 4) ? 6 : 0, specifier->__anon1.__anon2.definitions, symbol, specifier->__anon1.__anon2.baseSpecs, specifier->__anon1.__anon2.list, &specifier->loc, ast, external->prev, initDeclarators, extDecl);
 }
 }
 }
@@ -2601,9 +2601,9 @@ else if(inCompiler && declaration->type == 3)
 {
 yylloc = declaration->loc;
 if(declaration->declMode == 1)
-CheckPublicExpression(declaration->exp, 1);
+CheckPublicExpression(declaration->__anon1.__anon2.exp, 1);
 else if(declaration->declMode != 3)
-CheckPublicExpression(declaration->exp, 2);
+CheckPublicExpression(declaration->__anon1.__anon2.exp, 2);
 }
 }
 else if(external->type == 3)
@@ -2611,13 +2611,13 @@ else if(external->type == 3)
 }
 else if(inCompiler && external->type == 0)
 {
-yylloc = external->function->loc;
-if(!external->function->type)
-external->function->type = ProcessType(external->function->specifiers, external->function->declarator);
-if(external->function->declMode == 1)
-CheckPublicDataType(external->function->type, 1, "function");
-else if(external->function->declMode != 3)
-CheckPublicDataType(external->function->type, 2, "function");
+yylloc = external->__anon1.function->loc;
+if(!external->__anon1.function->type)
+external->__anon1.function->type = ProcessType(external->__anon1.function->specifiers, external->__anon1.function->declarator);
+if(external->__anon1.function->declMode == 1)
+CheckPublicDataType(external->__anon1.function->type, 1, "function");
+else if(external->__anon1.function->declMode != 3)
+CheckPublicDataType(external->__anon1.function->type, 2, "function");
 }
 }
 }
index eae2d61..bb34880 100644 (file)
@@ -201,14 +201,14 @@ struct
 {
 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;
@@ -296,7 +296,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -324,7 +324,7 @@ union
 {
 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));
@@ -346,7 +346,7 @@ float f;
 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;
@@ -363,14 +363,14 @@ struct
 {
 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
 {
@@ -449,7 +449,7 @@ 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;
@@ -488,7 +488,7 @@ union
 struct Expression * expression;
 struct Identifier * identifier;
 struct TemplateDatatype * templateDatatype;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
@@ -504,7 +504,7 @@ union
 {
 struct TemplateDatatype * dataType;
 int memberType;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct TemplateArgument * defaultArgument;
 const char *  dataTypeString;
 struct Type * baseType;
@@ -527,7 +527,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -537,11 +537,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -597,7 +597,7 @@ struct
 {
 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;
@@ -641,7 +641,7 @@ struct Declaration * declaration;
 char *  importString;
 struct Identifier * id;
 struct DBTableDef * table;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 int importType;
 } __attribute__ ((gcc_struct));
 
@@ -668,7 +668,7 @@ union
 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
@@ -677,20 +677,20 @@ struct
 {
 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;
@@ -733,7 +733,7 @@ struct
 {
 struct __ecereNameSpace__ecere__sys__OldList members;
 char *  enumName;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Type * returnType;
@@ -741,13 +741,13 @@ struct __ecereNameSpace__ecere__sys__OldList params;
 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;
@@ -755,10 +755,10 @@ int arraySize;
 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;
@@ -912,7 +912,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -922,9 +922,9 @@ 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));
 
 enum yytokentype
@@ -1066,8 +1066,8 @@ struct
 {
 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));
@@ -1118,8 +1118,6 @@ unsigned int GetBuildingEcereComModule()
 return buildingECERECOMModule;
 }
 
-extern struct Identifier * GetDeclId(struct Declarator * decl);
-
 extern unsigned int inCompiler;
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  MkList(void);
@@ -1172,7 +1170,6 @@ void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(struct __ecereNameS
 
 struct External * ProcessClassFunction(struct __ecereNameSpace__ecere__com__Class * owningClass, struct ClassFunction * func, struct __ecereNameSpace__ecere__sys__OldList * defs, struct External * after, unsigned int makeStatic)
 {
-struct Identifier * id = GetDeclId(func->declarator);
 struct Type * type = (((void *)0));
 struct Symbol * symbol;
 struct External * external = (((void *)0));
@@ -1193,14 +1190,14 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*func->specifiers),
 }
 propSymbol = func->declarator->symbol;
 ReplaceThisClassSpecifiers(func->specifiers, owningClass);
-if(propSymbol->externalGet == (struct External *)func)
+if(propSymbol->__anon2.__anon2.externalGet == (struct External *)func)
 func->declarator->symbol = (((void *)0));
-else if(propSymbol->externalSet == (struct External *)func)
+else if(propSymbol->__anon2.__anon2.externalSet == (struct External *)func)
 {
 func->declarator->symbol = (((void *)0));
 symid++;
 }
-else if(propSymbol->externalIsSet == (struct External *)func)
+else if(propSymbol->__anon2.__anon2.externalIsSet == (struct External *)func)
 {
 func->declarator->symbol = (((void *)0));
 symid += 2;
@@ -1214,18 +1211,18 @@ func->type->refCount++;
 ProcessFunctionBody(function, func->body);
 external = MkExternalFunction(function);
 external->symbol = func->declarator->symbol;
-external->function->_class = func->_class;
+external->__anon1.function->_class = func->_class;
 }
 symbol = func->declarator->symbol;
 symbol->id = symid;
 symbol->idCode = symidCode;
 if(!func->dontMangle)
 {
-struct __ecereNameSpace__ecere__com__Method * method = func->declarator->symbol->method;
+struct __ecereNameSpace__ecere__com__Method * method = func->declarator->symbol->__anon1.method;
 
-func->declarator->symbol->methodExternal = external;
+func->declarator->symbol->__anon2.__anon3.methodExternal = external;
 if(method && method->symbol)
-((struct Symbol *)method->symbol)->methodCodeExternal = external;
+((struct Symbol *)method->symbol)->__anon2.__anon3.methodCodeExternal = external;
 if(method && method->type == 1)
 {
 struct Type * methodDataType;
@@ -1233,31 +1230,31 @@ struct Type * methodDataType;
 ProcessMethodType(method);
 methodDataType = method->dataType;
 type = symbol->type;
-if(!type->staticMethod && !type->thisClass && !type->thisClassTemplate)
+if(!type->__anon1.__anon2.staticMethod && !type->__anon1.__anon2.thisClass && !type->__anon1.__anon2.thisClassTemplate)
 {
-if(method->dataType->thisClassTemplate)
+if(method->dataType->__anon1.__anon2.thisClassTemplate)
 {
 if(owningClass->templateArgs)
 {
-struct __ecereNameSpace__ecere__com__ClassTemplateArgument * arg = FindTemplateArg(owningClass, method->dataType->thisClassTemplate);
+struct __ecereNameSpace__ecere__com__ClassTemplateArgument * arg = FindTemplateArg(owningClass, method->dataType->__anon1.__anon2.thisClassTemplate);
 
 type->byReference = method->dataType->byReference;
 methodDataType = ProcessTypeString(method->dataTypeString, 0x0);
-type->thisClass = methodDataType->thisClass = arg ? FindClass((*arg).dataTypeString) : (((void *)0));
+type->__anon1.__anon2.thisClass = methodDataType->__anon1.__anon2.thisClass = arg ? FindClass((*arg).__anon1.__anon1.dataTypeString) : (((void *)0));
 }
 }
-else if(method->dataType->staticMethod)
-type->staticMethod = 0x1;
-else if(method->dataType->thisClass)
+else if(method->dataType->__anon1.__anon2.staticMethod)
+type->__anon1.__anon2.staticMethod = 0x1;
+else if(method->dataType->__anon1.__anon2.thisClass)
 {
-type->thisClass = method->dataType->thisClass;
+type->__anon1.__anon2.thisClass = method->dataType->__anon1.__anon2.thisClass;
 type->byReference = method->dataType->byReference;
 }
 else
 {
 if(!owningClass->symbol)
 owningClass->symbol = FindClass(owningClass->fullName);
-type->thisClass = owningClass->symbol;
+type->__anon1.__anon2.thisClass = owningClass->symbol;
 type->extraParam = 0x1;
 }
 }
@@ -1271,11 +1268,11 @@ else
 struct Type * typeParam;
 struct Declarator * funcDecl = GetFuncDecl(func->declarator);
 
-if(funcDecl->function.parameters && (*funcDecl->function.parameters).first)
+if(funcDecl->__anon1.function.parameters && (*funcDecl->__anon1.function.parameters).first)
 {
-struct TypeName * param = (*funcDecl->function.parameters).first;
+struct TypeName * param = (*funcDecl->__anon1.function.parameters).first;
 
-for(typeParam = methodDataType->params.first; typeParam && param; typeParam = typeParam->next)
+for(typeParam = methodDataType->__anon1.__anon2.params.first; typeParam && param; typeParam = typeParam->next)
 {
 if(typeParam->classObjectType)
 {
@@ -1293,41 +1290,41 @@ FreeType(methodDataType);
 else
 {
 type = symbol->type;
-if(!type->staticMethod && !type->thisClass)
+if(!type->__anon1.__anon2.staticMethod && !type->__anon1.__anon2.thisClass)
 {
 if(owningClass && !owningClass->symbol)
 owningClass->symbol = FindClass(owningClass->fullName);
-type->thisClass = owningClass ? FindClass(owningClass->fullName) : (((void *)0));
+type->__anon1.__anon2.thisClass = owningClass ? FindClass(owningClass->fullName) : (((void *)0));
 }
 }
 }
 else
 {
-if(symbol->type && !symbol->type->staticMethod && !symbol->type->thisClass)
+if(symbol->type && !symbol->type->__anon1.__anon2.staticMethod && !symbol->type->__anon1.__anon2.thisClass)
 {
 if(!owningClass->symbol)
 owningClass->symbol = FindClass(owningClass->fullName);
-symbol->type->thisClass = owningClass->symbol;
+symbol->type->__anon1.__anon2.thisClass = owningClass->symbol;
 }
-if(propSymbol->externalSet == (struct External *)func && propSymbol->_property && propSymbol->_property->conversion)
+if(propSymbol->__anon2.__anon2.externalSet == (struct External *)func && propSymbol->__anon1._property && propSymbol->__anon1._property->conversion)
 {
-if(symbol->type->thisClass && symbol->type->classObjectType != 1)
+if(symbol->type->__anon1.__anon2.thisClass && symbol->type->classObjectType != 1)
 {
 if(owningClass->type != 1)
-symbol->type->thisClass = (((void *)0));
+symbol->type->__anon1.__anon2.thisClass = (((void *)0));
 }
 }
-if(propSymbol->externalGet == (struct External *)func)
+if(propSymbol->__anon2.__anon2.externalGet == (struct External *)func)
 {
-propSymbol->externalGet = external;
+propSymbol->__anon2.__anon2.externalGet = external;
 }
-else if(propSymbol->externalSet == (struct External *)func)
+else if(propSymbol->__anon2.__anon2.externalSet == (struct External *)func)
 {
-propSymbol->externalSet = external;
+propSymbol->__anon2.__anon2.externalSet = external;
 }
-else if(propSymbol->externalIsSet == (struct External *)func)
+else if(propSymbol->__anon2.__anon2.externalIsSet == (struct External *)func)
 {
-propSymbol->externalIsSet = external;
+propSymbol->__anon2.__anon2.externalIsSet = external;
 }
 else
 {
@@ -1344,12 +1341,12 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(defs, after, external
 }
 else
 {
-struct __ecereNameSpace__ecere__com__Method * method = func->declarator->symbol->method;
+struct __ecereNameSpace__ecere__com__Method * method = func->declarator->symbol->__anon1.method;
 
 if(method && method->symbol)
-((struct Symbol *)method->symbol)->methodCodeExternal = (((void *)0));
-if(func->declarator->symbol && func->declarator->symbol->methodExternal == external)
-func->declarator->symbol->methodExternal = (((void *)0));
+((struct Symbol *)method->symbol)->__anon2.__anon3.methodCodeExternal = (((void *)0));
+if(func->declarator->symbol && func->declarator->symbol->__anon2.__anon3.methodExternal == external)
+func->declarator->symbol->__anon2.__anon3.methodExternal = (((void *)0));
 func->declarator = (((void *)0));
 func->specifiers = (((void *)0));
 FreeExternal(external);
@@ -1360,9 +1357,9 @@ else
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&globalContext->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)symbol);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*excludedSymbols), symbol);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(defs, after, external);
-external->function->declarator = CopyDeclarator(external->function->declarator);
-external->function->specifiers = CopyList(external->function->specifiers, CopySpecifier);
-external->function->body = (((void *)0));
+external->__anon1.function->declarator = CopyDeclarator(external->__anon1.function->declarator);
+external->__anon1.function->specifiers = CopyList(external->__anon1.function->specifiers, CopySpecifier);
+external->__anon1.function->body = (((void *)0));
 }
 }
 return external;
@@ -1412,12 +1409,12 @@ struct Declarator * declarator;
 struct TypeName * moduleParam;
 
 registerModuleBody = MkCompoundStmt(MkList(), MkList());
-registerModuleBody->compound.context = __extension__ ({
+registerModuleBody->__anon1.compound.context = __extension__ ({
 struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 
 __ecereInstance1->parent = globalContext, __ecereInstance1;
 });
-ListAdd(registerModuleBody->compound.declarations, MkDeclaration(MkListOne(MkSpecifierName("ecere::com::Class")), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("class")), (((void *)0))))));
+ListAdd(registerModuleBody->__anon1.compound.declarations, MkDeclaration(MkListOne(MkSpecifierName("ecere::com::Class")), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("class")), (((void *)0))))));
 specifiers = MkList();
 ListAdd(specifiers, MkSpecifier(VOID));
 moduleParam = MkTypeName(MkListOne(MkSpecifierName("Module")), MkDeclaratorIdentifier(MkIdentifier("module")));
@@ -1444,7 +1441,7 @@ struct Declarator * declarator;
 struct TypeName * moduleParam;
 
 unregisterModuleBody = MkCompoundStmt(MkList(), MkList());
-unregisterModuleBody->compound.context = __extension__ ({
+unregisterModuleBody->__anon1.compound.context = __extension__ ({
 struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 
 __ecereInstance1->parent = globalContext, __ecereInstance1;
@@ -1628,7 +1625,7 @@ strcat(name, "_");
 FullClassNameCat(name, prop->name, 0x1);
 MangleClassName(name);
 stmt = MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier(name)), '=', MkExpCall(MkExpIdentifier(MkIdentifier("eClass_AddProperty")), args))));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
 }
 for(member = isMember ? dataMember->members.first : regClass->membersAndProperties.first; member; member = member->next)
@@ -1703,7 +1700,7 @@ else
 {
 stmt = MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("eClass_AddProperty")), args)));
 }
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 if(prop->IsSet)
 {
 char name[1024];
@@ -1714,12 +1711,12 @@ strcat(name, "_IsSet_");
 FullClassNameCat(name, prop->name, 0x0);
 MangleClassName(name);
 stmt = MkExpressionStmt(MkListOne(MkExpOp(MkExpMember(MkExpIdentifier(MkIdentifier(nameM)), MkIdentifier("IsSet")), '=', MkExpCast(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpIdentifier(MkIdentifier(name))))));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
 if(prop->symbol && ((struct Symbol *)prop->symbol)->propCategory)
 {
 stmt = MkExpressionStmt(MkListOne(MkExpOp(MkExpMember(MkExpIdentifier(MkIdentifier(nameM)), MkIdentifier("category")), '=', CopyExpression(((struct Symbol *)prop->symbol)->propCategory))));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
 if(prop->dataTypeString)
 {
@@ -1728,9 +1725,9 @@ struct __ecereNameSpace__ecere__sys__OldList * list = MkList();
 ListAdd(list, MkExpOp(MkExpIdentifier(MkIdentifier(name)), '=', MkExpIdentifier(MkIdentifier(nameM))));
 ListAdd(list, MkExpOp(MkExpIdentifier(MkIdentifier(nameM)), '=', MkExpCast(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpConstant("0"))));
 stmt = MkIfStmt(MkListOne(MkExpOp(MkExpMember(MkExpIdentifier(MkIdentifier("module")), MkIdentifier("application")), EQ_OP, MkExpMember(MkExpIdentifier(MkIdentifier("__thisModule")), MkIdentifier("application")))), MkExpressionStmt(list), (((void *)0)));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 stmt = MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier(nameM)), '=', MkExpCast(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpConstant("0")))));
-ListAdd(unregisterModuleBody->compound.statements, stmt);
+ListAdd(unregisterModuleBody->__anon1.compound.statements, stmt);
 }
 }
 }
@@ -1778,7 +1775,7 @@ ListAdd(args, MkExpIdentifier(MkIdentifier("publicAccess")));
 break;
 }
 stmt = MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("eClass_AddBitMember")), args)));
-ListAdd(statement->compound.statements, stmt);
+ListAdd(statement->__anon1.compound.statements, stmt);
 }
 else if(member->memberAccess == 1 || (member->type == 0 && !member->dataTypeString))
 {
@@ -1811,7 +1808,7 @@ ListAdd(args, (exp = MkExpConstant(string)));
 ListAdd(args, (exp = MkExpConstant("1")));
 ListAdd(args, MkExpIdentifier(MkIdentifier("privateAccess")));
 stmt = MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier(isMember ? "eMember_AddDataMember" : "eClass_AddDataMember")), args)));
-ListAdd(statement->compound.statements, stmt);
+ListAdd(statement->__anon1.compound.statements, stmt);
 privateMembers = 0x0;
 }
 if(member->type == 0)
@@ -1859,7 +1856,7 @@ ListAdd(args, MkExpIdentifier(MkIdentifier("publicAccess")));
 break;
 }
 stmt = MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier(isMember ? "eMember_AddDataMember" : "eClass_AddDataMember")), args)));
-ListAdd(statement->compound.statements, stmt);
+ListAdd(statement->__anon1.compound.statements, stmt);
 lastOffset = member->offset + member->dataType->size;
 }
 else
@@ -1871,7 +1868,7 @@ char memberName[256];
 
 sprintf(memberName, "dataMember%d", memberCount);
 memberCount++;
-curContext = statement->compound.context;
+curContext = statement->__anon1.compound.context;
 context = PushContext();
 args = MkListOne(MkExpIdentifier(MkIdentifier((member->type == 1) ? "unionMember" : "structMember")));
 switch(member->memberAccess)
@@ -1888,7 +1885,7 @@ ListAdd(args, MkExpIdentifier(MkIdentifier("publicAccess")));
 break;
 }
 compound = MkCompoundStmt(MkListOne(MkDeclaration(MkListOne(MkSpecifierName("DataMember")), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(memberName)), MkInitializerAssignment(MkExpCall(MkExpIdentifier(MkIdentifier("eMember_New")), args)))))), MkList());
-compound->compound.context = context;
+compound->__anon1.compound.context = context;
 args = MkList();
 ListAdd(args, MkExpIdentifier(MkIdentifier(className)));
 ListAdd(args, MkExpIdentifier(MkIdentifier(memberName)));
@@ -1897,9 +1894,9 @@ if(isMember)
 stmt = MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("eMember_AddMember")), args)));
 else
 stmt = MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("eClass_AddMember")), args)));
-ListAdd(compound->compound.statements, stmt);
+ListAdd(compound->__anon1.compound.statements, stmt);
 PopContext(context);
-ListAdd(statement->compound.statements, compound);
+ListAdd(statement->__anon1.compound.statements, compound);
 memberCount--;
 lastOffset = member->offset + member->memberOffset;
 }
@@ -1930,7 +1927,7 @@ FullClassNameCat(nameM, prop->name, 0x0);
 MangleClassName(nameM);
 args = MkListOne(MkExpCondition(MkExpIdentifier(MkIdentifier(nameM)), MkListOne(MkExpIdentifier(MkIdentifier(nameM))), MkExpIdentifier(MkIdentifier(name))));
 stmt = MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("eProperty_Watchable")), args)));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
 }
 for(classProperty = (struct __ecereNameSpace__ecere__com__ClassProperty *)__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first(&regClass->classProperties); classProperty; classProperty = (struct __ecereNameSpace__ecere__com__ClassProperty *)__ecereProp___ecereNameSpace__ecere__sys__BTNode_Get_next(((struct __ecereNameSpace__ecere__sys__BTNode *)classProperty)))
@@ -1971,7 +1968,7 @@ ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
 else
 ListAdd(args, MkExpConstant("0"));
 stmt = MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("eClass_AddClassProperty")), args)));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
 }
 }
@@ -2087,7 +2084,7 @@ float f;
 double d;
 long long i64;
 uint64 ui64;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct OpTable ops;
 } __attribute__ ((gcc_struct));
 
@@ -2142,6 +2139,8 @@ extern struct Specifier * MkStructOrUnion(int type, struct Identifier * id, stru
 
 extern unsigned int DummyMethod(void);
 
+extern struct Identifier * GetDeclId(struct Declarator * decl);
+
 extern void DeclareMethod(struct __ecereNameSpace__ecere__com__Method * method, const char *  name);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
@@ -2182,7 +2181,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 static void ProcessClass(int classType, struct __ecereNameSpace__ecere__sys__OldList * definitions, struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs, struct __ecereNameSpace__ecere__sys__OldList * enumValues, struct __ecereNameSpace__ecere__sys__OldList * defs, struct External * external, int declMode)
 {
 struct ClassDef * def;
-struct __ecereNameSpace__ecere__com__Class * regClass = symbol->registered;
+struct __ecereNameSpace__ecere__com__Class * regClass = symbol->__anon1.registered;
 
 if(regClass)
 {
@@ -2204,15 +2203,15 @@ parsingType = 0x0;
 if(!e->exp->expType)
 {
 destType->kind = 8;
-destType->_class = symbol;
+destType->__anon1._class = symbol;
 ProcessExpressionType(e->exp);
 }
-if(e->exp->type == 0 && e->exp->expType && e->exp->identifier && e->exp->identifier->string && e->exp->expType->kind == 15)
+if(e->exp->type == 0 && e->exp->expType && e->exp->__anon1.__anon1.identifier && e->exp->__anon1.__anon1.identifier->string && e->exp->expType->kind == 15)
 {
 struct __ecereNameSpace__ecere__sys__NamedLink * l;
-char * string = e->exp->identifier->string;
+char * string = e->exp->__anon1.__anon1.identifier->string;
 
-for(l = e->exp->expType->members.first; l; l = l->next)
+for(l = e->exp->expType->__anon1.__anon1.members.first; l; l = l->next)
 {
 if(!strcmp(l->name, string))
 {
@@ -2220,7 +2219,7 @@ if(l->data)
 {
 FreeExpContents(e->exp);
 e->exp->type = 2;
-e->exp->constant = PrintUInt((unsigned int)l->data);
+e->exp->__anon1.__anon1.constant = PrintUInt((unsigned int)l->data);
 FreeType(e->exp->expType);
 e->exp->expType = ProcessTypeString("uint", 0x0);
 }
@@ -2238,13 +2237,13 @@ int value;
 switch(op.kind)
 {
 case 1:
-value = op.c;
+value = op.__anon1.c;
 break;
 case 2:
-value = op.s;
+value = op.__anon1.s;
 break;
 default:
-value = op.i;
+value = op.__anon1.i;
 }
 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(regClass, e->id->string, value);
 }
@@ -2277,9 +2276,9 @@ if(inCompiler)
 {
 for(def = definitions->first; def; def = def->next)
 {
-if(def->type == 4 && def->propertyWatch)
+if(def->type == 4 && def->__anon1.propertyWatch)
 {
-struct PropertyWatch * propWatch = def->propertyWatch;
+struct PropertyWatch * propWatch = def->__anon1.propertyWatch;
 struct ClassFunction * func;
 char watcherName[1024];
 struct Identifier * propID;
@@ -2313,10 +2312,10 @@ ListAdd(specifiers, MkSpecifier(STATIC));
 ListAdd(specifiers, MkSpecifier(VOID));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), curExternal->prev, externalDecl);
 decl = MkDeclaration(specifiers, MkListOne(MkInitDeclarator(MkDeclaratorFunction(MkDeclaratorIdentifier(MkIdentifier(watcherName)), MkListOne(MkTypeName(MkListOne(MkSpecifierName(regClass->fullName)), (((void *)0))))), (((void *)0)))));
-externalDecl->declaration = decl;
-if(decl->symbol && !decl->symbol->methodExternal)
+externalDecl->__anon1.declaration = decl;
+if(decl->symbol && !decl->symbol->__anon2.__anon3.methodExternal)
 {
-decl->symbol->methodExternal = externalDecl;
+decl->symbol->__anon2.__anon3.methodExternal = externalDecl;
 decl->symbol->id = symbol->id;
 decl->symbol->idCode = symbol->idCode;
 }
@@ -2339,13 +2338,13 @@ ListAdd(args, MkExpString(s));
 (__ecereNameSpace__ecere__com__eSystem_Delete(s), s = 0);
 }
 ListAdd(args, MkExpIdentifier(MkIdentifier(watcherName)));
-ListAdd(stmt->expressions, MkExpCall(MkExpIdentifier(MkIdentifier("eProperty_SelfWatch")), args));
+ListAdd(stmt->__anon1.expressions, MkExpCall(MkExpIdentifier(MkIdentifier("eProperty_SelfWatch")), args));
 }
 else
 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "Property %s not found in class %s\n", (((void *)0))), propID->string, regClass->fullName);
 }
-FreePropertyWatch(def->propertyWatch);
-def->propertyWatch = (struct PropertyWatch *)stmt;
+FreePropertyWatch(def->__anon1.propertyWatch);
+def->__anon1.propertyWatch = (struct PropertyWatch *)stmt;
 }
 }
 }
@@ -2353,7 +2352,7 @@ for(def = definitions->first; def; def = def->next)
 {
 if(def->type == 0)
 {
-ProcessClassFunction(regClass, def->function, defs, external->prev, declMode == 3);
+ProcessClassFunction(regClass, def->__anon1.function, defs, external->prev, declMode == 3);
 }
 }
 }
@@ -2416,12 +2415,12 @@ if(baseType->kind != 9 && baseType->kind != 10)
 char baseName[1024] = "";
 char * string;
 
-if(baseType->kind == 8 && baseType->_class && baseType->_class->isStatic)
+if(baseType->kind == 8 && baseType->__anon1._class && baseType->__anon1._class->isStatic)
 {
 __ecereNameSpace__ecere__sys__GetLastDirectory(sourceFile, baseName);
 __ecereNameSpace__ecere__sys__ChangeCh(baseName, '.', '_');
 strcat(baseName, "}");
-strcat(baseName, baseType->_class->string);
+strcat(baseName, baseType->__anon1._class->string);
 }
 else
 PrintType(baseType, baseName, 0x0, 0x1);
@@ -2432,7 +2431,7 @@ ListAdd(args, MkExpString(string));
 else
 ListAdd(args, MkExpConstant("0"));
 FreeType(baseType);
-if(((struct Specifier *)baseSpecs->first)->type == 0 && ((struct Specifier *)baseSpecs->first)->specifier == PRIVATE)
+if(((struct Specifier *)baseSpecs->first)->type == 0 && ((struct Specifier *)baseSpecs->first)->__anon1.specifier == PRIVATE)
 inheritanceAccess = 2;
 }
 else
@@ -2511,14 +2510,14 @@ break;
 }
 registerFunction = "eSystem_RegisterClass";
 stmt = MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier("class")), '=', MkExpCall((exp = MkExpIdentifier(MkIdentifier(registerFunction))), args))));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 stmt = MkIfStmt(MkListOne(MkExpOp(MkExpOp(MkExpMember(MkExpIdentifier(MkIdentifier("module")), MkIdentifier("application")), EQ_OP, MkExpMember(MkExpIdentifier(MkIdentifier("__thisModule")), MkIdentifier("application"))), AND_OP, MkExpIdentifier(MkIdentifier("class")))), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier(symbol->className)), '=', MkExpIdentifier(MkIdentifier("class"))))), (((void *)0)));
-ListAdd(registerModuleBody->compound.statements, stmt);
-if(external && external->type == 2 && external->_class->deleteWatchable)
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
+if(external && external->type == 2 && external->__anon1._class->deleteWatchable)
 {
 args = MkListOne(MkExpIdentifier(MkIdentifier("class")));
 stmt = MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("eClass_DestructionWatchable")), args)));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
 if(regClass->base)
 {
@@ -2529,15 +2528,15 @@ for(c = 0; c < base->vTblSize; c++)
 {
 struct Symbol * method = (struct Symbol *)regClass->_vTbl[c];
 
-if((void *)method != DummyMethod && base->_vTbl[c] != (void *)method && method->methodExternal)
+if((void *)method != DummyMethod && base->_vTbl[c] != (void *)method && method->__anon2.__anon3.methodExternal)
 {
-struct External * external = method->methodExternal;
+struct External * external = method->__anon2.__anon3.methodExternal;
 struct __ecereNameSpace__ecere__sys__OldList * args = MkList();
-struct Identifier * id = external->function ? GetDeclId(external->function->declarator) : (((void *)0));
+struct Identifier * id = external->__anon1.function ? GetDeclId(external->__anon1.function->declarator) : (((void *)0));
 
 ListAdd(args, MkExpIdentifier(MkIdentifier("class")));
 {
-char * string = QMkString(method->method->name);
+char * string = QMkString(method->__anon1.method->name);
 
 ListAdd(args, MkExpString(string));
 (__ecereNameSpace__ecere__com__eSystem_Delete(string), string = 0);
@@ -2551,7 +2550,7 @@ struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__e
 __ecereInstance1->refCount = 1, __ecereInstance1;
 });
 stmt = MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("eClass_AddMethod")), args)));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
 }
 }
@@ -2566,9 +2565,9 @@ if(method->type == 1 && method->_class == regClass && method->vid == c)
 {
 char name[1024];
 struct Expression * exp;
-struct External * external = method->symbol ? ((struct Symbol *)method->symbol)->methodCodeExternal : (((void *)0));
+struct External * external = method->symbol ? ((struct Symbol *)method->symbol)->__anon2.__anon3.methodCodeExternal : (((void *)0));
 struct __ecereNameSpace__ecere__sys__OldList * args = MkList();
-struct Identifier * id = (external && external->function) ? GetDeclId(external->function->declarator) : (((void *)0));
+struct Identifier * id = (external && external->__anon1.function) ? GetDeclId(external->__anon1.function->declarator) : (((void *)0));
 
 ListAdd(args, MkExpIdentifier(MkIdentifier("class")));
 {
@@ -2583,7 +2582,7 @@ char * string = QMkString(method->dataTypeString);
 ListAdd(args, MkExpString(string));
 (__ecereNameSpace__ecere__com__eSystem_Delete(string), string = 0);
 }
-if(id && external->function->body)
+if(id && external->__anon1.function->body)
 {
 ListAdd(args, (exp = MkExpIdentifier(MkIdentifier(id->string))));
 exp->expType = __extension__ ({
@@ -2616,7 +2615,7 @@ strcat(name, method->name);
 exp = MkExpCall(MkExpIdentifier(MkIdentifier("eClass_AddVirtualMethod")), args);
 stmt = MkExpressionStmt(MkListOne(exp));
 DeclareMethod(method, name);
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
 }
 }
@@ -2627,9 +2626,9 @@ if(method->type == 1 && method->_class == regClass)
 ;
 else if(method->memberAccess == 1 || !method->dataTypeString)
 {
-struct External * external = method->symbol ? ((struct Symbol *)method->symbol)->methodCodeExternal : (((void *)0));
+struct External * external = method->symbol ? ((struct Symbol *)method->symbol)->__anon2.__anon3.methodCodeExternal : (((void *)0));
 struct __ecereNameSpace__ecere__sys__OldList * args = MkList();
-struct Identifier * id = (external && external->function) ? GetDeclId(external->function->declarator) : (((void *)0));
+struct Identifier * id = (external && external->__anon1.function) ? GetDeclId(external->__anon1.function->declarator) : (((void *)0));
 
 ListAdd(args, MkExpIdentifier(MkIdentifier("class")));
 {
@@ -2644,7 +2643,7 @@ char * string = QMkString(method->dataTypeString);
 ListAdd(args, MkExpString(string));
 (__ecereNameSpace__ecere__com__eSystem_Delete(string), string = 0);
 }
-if(id && external->function->body)
+if(id && external->__anon1.function->body)
 {
 ListAdd(args, (exp = MkExpIdentifier(MkIdentifier(id->string))));
 exp->expType = __extension__ ({
@@ -2671,7 +2670,7 @@ ListAdd(args, MkExpIdentifier(MkIdentifier("publicAccess")));
 break;
 }
 stmt = MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("eClass_AddMethod")), args)));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
 }
 RegisterMembersAndProperties(regClass, 0x0, "class", registerModuleBody);
@@ -2699,7 +2698,7 @@ sprintf(temp, "%d", (int)value->data);
 ListAdd(args, MkExpConstant(temp));
 }
 stmt = MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("eEnum_AddFixedValue")), args)));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
 }
 if(symbol->templateParams)
@@ -2723,7 +2722,7 @@ switch(param->type)
 case 0:
 case 2:
 {
-char * typeString = param->dataType ? StringFromSpecDecl(param->dataType->specifiers, param->dataType->decl) : (((void *)0));
+char * typeString = param->__anon1.dataType ? StringFromSpecDecl(param->__anon1.dataType->specifiers, param->__anon1.dataType->decl) : (((void *)0));
 char * string = QMkString(typeString);
 
 ListAdd(args, MkExpString(string));
@@ -2736,7 +2735,7 @@ case 1:
 char memberTypeString[132] = "TemplateMemberType::";
 unsigned int needClass = 0x1;
 
-((const char *  (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass___ecereNameSpace__ecere__com__TemplateMemberType->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass___ecereNameSpace__ecere__com__TemplateMemberType, &param->memberType, memberTypeString + strlen(memberTypeString), (((void *)0)), &needClass);
+((const char *  (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass___ecereNameSpace__ecere__com__TemplateMemberType->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass___ecereNameSpace__ecere__com__TemplateMemberType, &param->__anon1.memberType, memberTypeString + strlen(memberTypeString), (((void *)0)), &needClass);
 ListAdd(args, MkExpCast(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpIdentifier(MkIdentifier(memberTypeString))));
 break;
 }
@@ -2749,7 +2748,7 @@ switch(param->type)
 {
 case 0:
 {
-char * typeString = param->defaultArgument->templateDatatype ? StringFromSpecDecl(param->defaultArgument->templateDatatype->specifiers, param->defaultArgument->templateDatatype->decl) : (((void *)0));
+char * typeString = param->defaultArgument->__anon1.templateDatatype ? StringFromSpecDecl(param->defaultArgument->__anon1.templateDatatype->specifiers, param->defaultArgument->__anon1.templateDatatype->decl) : (((void *)0));
 char * string = QMkString(typeString);
 
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*members), MkMemberInit(MkListOne(MkIdentifier("dataTypeString")), MkInitializerAssignment(MkExpString(string))));
@@ -2763,16 +2762,16 @@ char memberString[1024];
 char * string;
 
 memberString[0] = '\0';
-if(param->defaultArgument->identifier->_class)
+if(param->defaultArgument->__anon1.identifier->_class)
 {
-if(param->defaultArgument->identifier->_class->type == 8)
-strcpy(memberString, param->defaultArgument->identifier->_class->templateParameter->identifier->string);
-else if(param->defaultArgument->identifier->_class->name)
-strcpy(memberString, param->defaultArgument->identifier->_class->name);
+if(param->defaultArgument->__anon1.identifier->_class->type == 8)
+strcpy(memberString, param->defaultArgument->__anon1.identifier->_class->__anon1.templateParameter->identifier->string);
+else if(param->defaultArgument->__anon1.identifier->_class->__anon1.__anon1.name)
+strcpy(memberString, param->defaultArgument->__anon1.identifier->_class->__anon1.__anon1.name);
 }
 if(memberString[0])
 strcat(memberString, "::");
-strcat(memberString, param->defaultArgument->identifier->string);
+strcat(memberString, param->defaultArgument->__anon1.identifier->string);
 string = QMkString(memberString);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*members), MkMemberInit(MkListOne(MkIdentifier("dataTypeString")), MkInitializerAssignment(MkExpString(string))));
 (__ecereNameSpace__ecere__com__eSystem_Delete(string), string = 0);
@@ -2782,7 +2781,10 @@ case 2:
 {
 struct Operand op =
 {
-0, 0, 0, .c = 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
 }
@@ -2791,8 +2793,8 @@ struct __ecereNameSpace__ecere__sys__OldList * ids = MkList();
 char * ui64String;
 char * string = (((void *)0));
 
-op = GetOperand(param->defaultArgument->expression);
-ui64String = PrintUInt64(op.ui64);
+op = GetOperand(param->defaultArgument->__anon1.expression);
+ui64String = PrintUInt64(op.__anon1.ui64);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*ids), MkIdentifier("expression"));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*ids), MkIdentifier("ui64"));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*members), MkMemberInit(ids, MkInitializerAssignment(MkExpConstant(ui64String))));
@@ -2806,48 +2808,48 @@ ListAdd(args, MkExpInstance(MkInstantiation(MkSpecifierName("ClassTemplateArgume
 else
 ListAdd(args, MkExpIdentifier(MkIdentifier("null")));
 stmt = MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("eClass_AddTemplateParameter")), args)));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
 stmt = MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("eClass_DoneAddingTemplateParameters")), MkListOne(MkExpIdentifier(MkIdentifier("class"))))));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
 if(definitions != (((void *)0)))
 {
 for(def = definitions->first; def; def = def->next)
 {
-if(def->type == 4 && def->propertyWatch)
+if(def->type == 4 && def->__anon1.propertyWatch)
 {
-ListAdd(registerModuleBody->compound.statements, (struct Statement *)def->propertyWatch);
-def->propertyWatch = (((void *)0));
+ListAdd(registerModuleBody->__anon1.compound.statements, (struct Statement *)def->__anon1.propertyWatch);
+def->__anon1.propertyWatch = (((void *)0));
 }
 else if(def->type == 5)
 {
 {
-char * s = QMkString(def->designer);
+char * s = QMkString(def->__anon1.designer);
 
 stmt = MkIfStmt(MkListOne(MkExpIdentifier(MkIdentifier("class"))), MkExpressionStmt(MkListOne(MkExpOp(MkExpMember(MkExpIdentifier(MkIdentifier("class")), MkIdentifier("designerClass")), '=', MkExpString(s)))), (((void *)0)));
 (__ecereNameSpace__ecere__com__eSystem_Delete(s), s = 0);
 }
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
 else if(def->type == 6)
 {
 stmt = MkIfStmt(MkListOne(MkExpIdentifier(MkIdentifier("class"))), MkExpressionStmt(MkListOne(MkExpOp(MkExpMember(MkExpIdentifier(MkIdentifier("class")), MkIdentifier("noExpansion")), '=', MkExpConstant("1")))), (((void *)0)));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
 else if(def->type == 7)
 {
 stmt = MkIfStmt(MkListOne(MkExpIdentifier(MkIdentifier("class"))), MkExpressionStmt(MkListOne(MkExpOp(MkExpMember(MkExpIdentifier(MkIdentifier("class")), MkIdentifier("fixed")), '=', MkExpConstant("1")))), (((void *)0)));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 if(regClass)
 regClass->fixed = 0x1;
 }
 else if(def->type == 8)
 {
-char * s = QMkString(def->defaultProperty->string);
+char * s = QMkString(def->__anon1.defaultProperty->string);
 
 stmt = MkIfStmt(MkListOne(MkExpIdentifier(MkIdentifier("class"))), MkExpressionStmt(MkListOne(MkExpOp(MkExpMember(MkExpIdentifier(MkIdentifier("class")), MkIdentifier("defaultProperty")), '=', MkExpString(s)))), (((void *)0)));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 (__ecereNameSpace__ecere__com__eSystem_Delete(s), s = 0);
 }
 else if(def->type == 11)
@@ -2859,10 +2861,10 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add])(classPropValues, (uint64)(__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ClassPropertyValue);
 
-((struct ClassPropertyValue *)(((char *)__ecereInstance1 + __ecereClass_ClassPropertyValue->offset)))->regClass = regClass, ((struct ClassPropertyValue *)(((char *)__ecereInstance1 + __ecereClass_ClassPropertyValue->offset)))->id = def->id, ((struct ClassPropertyValue *)(((char *)__ecereInstance1 + __ecereClass_ClassPropertyValue->offset)))->exp = def->initializer->exp, __ecereInstance1;
+((struct ClassPropertyValue *)(((char *)__ecereInstance1 + __ecereClass_ClassPropertyValue->offset)))->regClass = regClass, ((struct ClassPropertyValue *)(((char *)__ecereInstance1 + __ecereClass_ClassPropertyValue->offset)))->id = def->__anon1.__anon1.id, ((struct ClassPropertyValue *)(((char *)__ecereInstance1 + __ecereClass_ClassPropertyValue->offset)))->exp = def->__anon1.__anon1.initializer->__anon1.exp, __ecereInstance1;
 })));
-def->id = (((void *)0));
-def->initializer->exp = (((void *)0));
+def->__anon1.__anon1.id = (((void *)0));
+def->__anon1.__anon1.initializer->__anon1.exp = (((void *)0));
 }
 }
 }
@@ -2920,7 +2922,7 @@ next = external->next;
 curExternal = external;
 if(external->type == 2)
 {
-struct ClassDefinition * _class = external->_class;
+struct ClassDefinition * _class = external->__anon1._class;
 
 if(_class->definitions)
 {
@@ -2936,21 +2938,21 @@ else if(external->type == 0)
 {
 unsigned int setStaticMethod = 0x0;
 
-if(external->symbol && !external->symbol->type->thisClass && !external->symbol->type->staticMethod)
+if(external->symbol && !external->symbol->type->__anon1.__anon2.thisClass && !external->symbol->type->__anon1.__anon2.staticMethod)
 {
-external->symbol->type->staticMethod = 0x1;
+external->symbol->type->__anon1.__anon2.staticMethod = 0x1;
 setStaticMethod = 0x1;
 }
 if(inCompiler)
 {
-struct FunctionDefinition * function = external->function;
+struct FunctionDefinition * function = external->__anon1.function;
 struct Statement * stmt;
 struct __ecereNameSpace__ecere__sys__OldList * args;
 
 if(!strcmp(function->declarator->symbol->string, "__on_register_module"))
 {
-ListAdd(registerModuleBody->compound.statements, function->body);
-function->body->compound.context->parent = registerModuleBody->compound.context;
+ListAdd(registerModuleBody->__anon1.compound.statements, function->body);
+function->body->__anon1.compound.context->parent = registerModuleBody->__anon1.compound.context;
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*ast), external);
 function->body = (((void *)0));
 FreeExternal(external);
@@ -2971,10 +2973,10 @@ char * string;
 char type[1024] = "";
 
 if(setStaticMethod)
-function->declarator->symbol->type->staticMethod = 0x0;
+function->declarator->symbol->type->__anon1.__anon2.staticMethod = 0x0;
 PrintType(function->declarator->symbol->type, type, 0x1, 0x1);
 if(setStaticMethod)
-function->declarator->symbol->type->staticMethod = 0x1;
+function->declarator->symbol->type->__anon1.__anon2.staticMethod = 0x1;
 string = QMkString(type);
 ListAdd(args, MkExpString(string));
 (__ecereNameSpace__ecere__com__eSystem_Delete(string), string = 0);
@@ -2997,30 +2999,30 @@ ListAdd(args, MkExpIdentifier(MkIdentifier(buildingECERECOMModule ? "baseSystemA
 break;
 }
 stmt = MkExpressionStmt(MkListOne(MkExpCall((MkExpIdentifier(MkIdentifier("eSystem_RegisterFunction"))), args)));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
 }
 else if(external->type == 1)
 {
-struct Declaration * declaration = external->declaration;
+struct Declaration * declaration = external->__anon1.declaration;
 
 if(external->symbol)
 {
-if(external->symbol->type && external->symbol->type->kind == 11 && !external->symbol->type->thisClass)
-external->symbol->type->staticMethod = 0x1;
+if(external->symbol->type && external->symbol->type->kind == 11 && !external->symbol->type->__anon1.__anon2.thisClass)
+external->symbol->type->__anon1.__anon2.staticMethod = 0x1;
 }
 if(external->symbol && declaration->type == 1)
 {
-if(declaration->specifiers)
+if(declaration->__anon1.__anon1.specifiers)
 {
 struct Specifier * specifier;
 unsigned int removeExternal = 0x0;
 
-for(specifier = (*declaration->specifiers).first; specifier; specifier = specifier->next)
+for(specifier = (*declaration->__anon1.__anon1.specifiers).first; specifier; specifier = specifier->next)
 {
-if((specifier->type == 2 || specifier->type == 3 || specifier->type == 4) && specifier->id && specifier->id->string && (declaration->declMode || specifier->baseSpecs || (specifier->type == 2 && specifier->definitions)))
+if((specifier->type == 2 || specifier->type == 3 || specifier->type == 4) && specifier->__anon1.__anon2.id && specifier->__anon1.__anon2.id->string && (declaration->declMode || specifier->__anon1.__anon2.baseSpecs || (specifier->type == 2 && specifier->__anon1.__anon2.definitions)))
 {
-struct Symbol * symbol = FindClass(specifier->id->string);
+struct Symbol * symbol = FindClass(specifier->__anon1.__anon2.id->string);
 
 if(symbol)
 {
@@ -3031,9 +3033,9 @@ classType = 4;
 else
 classType = 1;
 removeExternal = 0x1;
-symbol->ctx = specifier->ctx;
-specifier->ctx = (((void *)0));
-ProcessClass(classType, specifier->definitions, symbol, specifier->baseSpecs, specifier->list, ast, external, declaration->declMode);
+symbol->ctx = specifier->__anon1.__anon2.ctx;
+specifier->__anon1.__anon2.ctx = (((void *)0));
+ProcessClass(classType, specifier->__anon1.__anon2.definitions, symbol, specifier->__anon1.__anon2.baseSpecs, specifier->__anon1.__anon2.list, ast, external, declaration->declMode);
 }
 }
 }
@@ -3053,7 +3055,7 @@ struct __ecereNameSpace__ecere__sys__OldList * args = MkList();
 
 CreateRegisterModuleBody();
 {
-char * string = QMkString(declaration->id->string);
+char * string = QMkString(declaration->__anon1.__anon2.id->string);
 
 ListAdd(args, MkExpString(string));
 (__ecereNameSpace__ecere__com__eSystem_Delete(string), string = 0);
@@ -3062,7 +3064,7 @@ ListAdd(args, MkExpString(string));
 char * string;
 char type[1024] = "";
 
-PrintExpression(declaration->exp, type);
+PrintExpression(declaration->__anon1.__anon2.exp, type);
 string = QMkString(type);
 ListAdd(args, MkExpString(string));
 (__ecereNameSpace__ecere__com__eSystem_Delete(string), string = 0);
@@ -3082,7 +3084,7 @@ ListAdd(args, MkExpIdentifier(MkIdentifier(buildingECERECOMModule ? "baseSystemA
 break;
 }
 stmt = MkExpressionStmt(MkListOne(MkExpCall((MkExpIdentifier(MkIdentifier("eSystem_RegisterDefine"))), args)));
-ListAdd(registerModuleBody->compound.statements, stmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
 }
 }
@@ -3132,12 +3134,12 @@ char * __ecTemp1 = (((struct __ecereNameSpace__ecere__com__Instance *)__ecerePro
 ((struct ClassPropertyValue *)(__ecTemp1 + __ecereClass_ClassPropertyValue->offset));
 })->exp));
 compoundStmt = MkCompoundStmt(MkListOne(MkDeclaration(MkListOne(MkSpecifierName("ecere::com::Class")), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("_class")), MkInitializerAssignment(MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eSystem_FindClass")), findClassArgs)))))), MkListOne(MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eClass_SetProperty")), args)))));
-compoundStmt->compound.context = __extension__ ({
+compoundStmt->__anon1.compound.context = __extension__ ({
 struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 
-__ecereInstance1->parent = registerModuleBody->compound.context, __ecereInstance1;
+__ecereInstance1->parent = registerModuleBody->__anon1.compound.context, __ecereInstance1;
 });
-ListAdd(registerModuleBody->compound.statements, compoundStmt);
+ListAdd(registerModuleBody->__anon1.compound.statements, compoundStmt);
 }
 }
 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *))__extension__ ({
index 6bd547b..782a602 100644 (file)
@@ -156,7 +156,7 @@ union
 {
 char * s;
 struct Attrib * attr;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefinition;
@@ -227,14 +227,14 @@ struct
 {
 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;
@@ -322,7 +322,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -350,7 +350,7 @@ union
 {
 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));
@@ -372,7 +372,7 @@ float f;
 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;
@@ -389,14 +389,14 @@ struct
 {
 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
 {
@@ -475,7 +475,7 @@ 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;
@@ -517,7 +517,7 @@ union
 {
 struct TemplateDatatype * dataType;
 int memberType;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct TemplateArgument * defaultArgument;
 const char *  dataTypeString;
 struct Type * baseType;
@@ -540,7 +540,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -550,11 +550,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -610,7 +610,7 @@ struct
 {
 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;
@@ -654,7 +654,7 @@ struct Declaration * declaration;
 char *  importString;
 struct Identifier * id;
 struct DBTableDef * table;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 int importType;
 } __attribute__ ((gcc_struct));
 
@@ -699,7 +699,7 @@ union
 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
@@ -708,20 +708,20 @@ struct
 {
 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;
@@ -764,7 +764,7 @@ struct
 {
 struct __ecereNameSpace__ecere__sys__OldList members;
 char *  enumName;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Type * returnType;
@@ -772,13 +772,13 @@ struct __ecereNameSpace__ecere__sys__OldList params;
 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;
@@ -786,10 +786,10 @@ int arraySize;
 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;
@@ -943,7 +943,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -953,9 +953,9 @@ 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);
@@ -1095,7 +1095,7 @@ union
 {
 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;
@@ -1133,7 +1133,7 @@ struct
 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;
@@ -1169,8 +1169,8 @@ struct
 {
 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));
@@ -1285,14 +1285,14 @@ extern struct Type * ProcessType(struct __ecereNameSpace__ecere__sys__OldList *
 
 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);
 else
-param->baseType = ProcessType(param->dataType->specifiers, param->dataType->decl);
+param->baseType = ProcessType(param->__anon1.dataType->specifiers, param->__anon1.dataType->decl);
 }
 return param->baseType;
 }
@@ -1322,9 +1322,9 @@ if(type1->passAsTemplate && !type2->passAsTemplate)
 return 0x1;
 return type1->isSigned != type2->isSigned;
 case 8:
-return type1->_class != type2->_class;
+return type1->__anon1._class != type2->__anon1._class;
 case 13:
-return (type1->type && type2->type && type1->type->constant != type2->type->constant) || 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;
 }
@@ -1380,7 +1380,7 @@ union
 {
 const char *  dataTypeString;
 int memberType;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg;
 void *  param;
 } __attribute__ ((gcc_struct));
@@ -1411,13 +1411,13 @@ struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ec
 
 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)
 {
@@ -1426,7 +1426,7 @@ if(symbol)
 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));
@@ -1446,9 +1446,9 @@ classProp = __ecereNameSpace__ecere__com__eClass_FindClassProperty(_class, id->s
 if(prop || method || member || classProp)
 {
 exp->type = 8;
-exp->member.member = id;
-exp->member.memberType = 0;
-exp->member.exp = QMkExpId("this");
+exp->__anon1.member.member = id;
+exp->__anon1.member.memberType = 0;
+exp->__anon1.member.exp = QMkExpId("this");
 exp->addedThis = 0x1;
 }
 else if(_class && _class->templateParams.first)
@@ -1472,12 +1472,12 @@ if(argExp)
 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))));
 }
 }
 }
@@ -1739,42 +1739,42 @@ float f;
 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;
@@ -1792,35 +1792,35 @@ return GetOpInt(&op2, value2);
 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;
@@ -1836,35 +1836,35 @@ return GetOpUInt(&op2, 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;
@@ -1880,35 +1880,35 @@ return GetOpInt64(&op2, 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;
@@ -1924,35 +1924,35 @@ return GetOpUInt64(&op2, 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;
@@ -1968,35 +1968,35 @@ return GetOpIntPtr(&op2, 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;
@@ -2012,35 +2012,35 @@ return GetOpUIntPtr(&op2, 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;
@@ -2056,35 +2056,35 @@ return GetOpIntSize(&op2, 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;
@@ -2100,35 +2100,35 @@ return GetOpUIntSize(&op2, 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;
@@ -2144,35 +2144,35 @@ return GetOpShort(&op2, 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;
@@ -2188,35 +2188,35 @@ return GetOpUShort(&op2, 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;
@@ -2232,35 +2232,35 @@ return GetOpChar(&op2, 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;
@@ -2276,35 +2276,35 @@ return GetOpUChar(&op2, 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;
@@ -2320,35 +2320,35 @@ return GetOpFloat(&op2, 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;
@@ -2468,7 +2468,7 @@ else if(dataMember->type == 0 && dataMember->dataType)
 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)
 {
@@ -2778,7 +2778,7 @@ type->alignment = size = sizeof(double);
 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)
 {
@@ -2803,47 +2803,47 @@ case 19:
 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 != 2 && type->arraySizeExp->expType->kind != 1 && type->arraySizeExp->expType->kind != 5 && type->arraySizeExp->expType->kind != 4 && type->arraySizeExp->expType->kind != 23 && type->arraySizeExp->expType->kind != 22 && 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);
@@ -2863,7 +2863,7 @@ case 10:
 {
 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);
@@ -2881,7 +2881,7 @@ break;
 }
 case 20:
 {
-struct TemplateParameter * param = type->templateParameter;
+struct TemplateParameter * param = type->__anon1.templateParameter;
 struct Type * baseType = ProcessTemplateParameterType(param);
 
 if(baseType)
@@ -2947,6 +2947,7 @@ unsigned int maxSize = 0;
 int alignment;
 unsigned int size;
 struct __ecereNameSpace__ecere__com__DataMember * member;
+int anonID = 1;
 struct Context * context = isMember ? (((void *)0)) : SetupTemplatesContext(_class);
 
 if(addedPadding)
@@ -3009,11 +3010,13 @@ case 1:
 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)));
 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)
 {
@@ -3092,6 +3095,62 @@ FinishTemplatesContext(context);
 return topMember ? topMember->memberID : _class->memberID;
 }
 
+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 = 0x0;
+
+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 = 0x1;
+}
+}
+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);
@@ -3121,9 +3180,9 @@ 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;
@@ -3131,35 +3190,35 @@ struct __ecereNameSpace__ecere__sys__OldList * declarations = (((void *)0));
 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, 0x0);
 structName[0] = (char)0;
 FullClassNameCat(structName, name, 0x0);
-if(external && external->declaration && external->declaration->specifiers)
+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;
 
 classSym->declaredStructSym = 0x1;
 declarations = MkList();
-AddMembers(declarations, classSym->registered, 0x0, (((void *)0)), classSym->registered, &addedPadding);
+AddMembers(declarations, classSym->__anon1.registered, 0x0, (((void *)0)), classSym->__anon1.registered, &addedPadding);
 if(!(*declarations).count || ((*declarations).count == 1 && addedPadding))
 {
 FreeList(declarations, FreeClassDef);
@@ -3171,12 +3230,12 @@ if(skipNoHead || declarations)
 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;
 }
@@ -3188,10 +3247,10 @@ external = MkExternalDeclaration((((void *)0)));
 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];
 
@@ -3200,7 +3259,7 @@ FullClassNameCat(className, classSym->string, 0x1);
 MangleClassName(className);
 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;
 }
@@ -3211,7 +3270,7 @@ char className[1024];
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
 MangleClassName(className);
-classSym->structExternal = external;
+classSym->__anon2.__anon1.structExternal = external;
 DeclareClass(classSym, className);
 external->symbol = classSym;
 }
@@ -3220,24 +3279,36 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), curExternal
 }
 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, 0x0);
 }
-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);
 
@@ -3324,7 +3395,7 @@ 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)
+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 = 0x1;
 }
 if(!symbol->type)
@@ -3336,7 +3407,7 @@ 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;
@@ -3366,12 +3437,12 @@ if(spec->type == 1)
 {
 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);
+DeclareStruct(spec->__anon1.__anon1.name, 0x0);
 simple = 0x1;
 }
 }
@@ -3396,19 +3467,19 @@ decl = MkDeclaration(specifiers, declarators);
 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;
@@ -3444,11 +3515,11 @@ if(spec->type == 1)
 {
 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, 0x0);
 }
 }
 }
@@ -3466,15 +3537,15 @@ decl = MkDeclaration(specifiers, declarators);
 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;
@@ -3509,11 +3580,11 @@ 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;
 }
@@ -3527,10 +3598,10 @@ if(source)
 {
 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);
@@ -3538,7 +3609,7 @@ struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__e
 __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++;
@@ -3558,7 +3629,7 @@ if(source)
 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++;
 }
@@ -3660,9 +3731,9 @@ for(ident = ident->next; ident && type; ident = ident->next)
 {
 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;
 }
@@ -3670,7 +3741,7 @@ else if(type->kind == 9 || type->kind == 10)
 {
 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))
 {
@@ -3681,7 +3752,7 @@ break;
 }
 }
 }
-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));
@@ -3694,7 +3765,7 @@ if(sClass->templateClass)
 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)
 {
@@ -3713,19 +3784,19 @@ if(curParam)
 {
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument arg = _class->templateArgs[id];
 
-if(arg.dataTypeString)
+if(arg.__anon1.__anon1.dataTypeString)
 {
 unsigned int constant = type->constant;
 
-type = ProcessTypeString(arg.dataTypeString, 0x0);
+type = ProcessTypeString(arg.__anon1.__anon1.dataTypeString, 0x0);
 if(type->kind == 8 && constant)
 type->constant = 0x1;
 else if(type->kind == 13)
 {
-struct Type * t = type->type;
+struct Type * t = type->__anon1.type;
 
 while(t->kind == 13)
-t = t->type;
+t = t->__anon1.type;
 if(constant)
 t->constant = constant;
 }
@@ -3738,9 +3809,9 @@ 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;
@@ -3784,12 +3855,12 @@ 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;
 }
 }
@@ -3805,9 +3876,9 @@ case 2:
 {
 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);
@@ -3821,13 +3892,13 @@ break;
 }
 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;
 }
 }
@@ -3871,22 +3942,22 @@ freeType = 0x1;
 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, 0x1))
+else if(!MatchTypes(member->initializer->__anon1.exp->expType, type, (((void *)0)), (((void *)0)), _class, 0x1, 0x1, 0x0, 0x0, 0x1))
 {
 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "incompatible instance method %s\n", (((void *)0))), ident->string);
 }
@@ -3935,8 +4006,6 @@ Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "too many init
 }
 }
 
-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);
@@ -3964,10 +4033,10 @@ struct MembersInit * members;
 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, 0x0);
 afterExternal = afterExternal ? afterExternal : curExternal;
 if(inst->exp)
 ProcessExpressionType(inst->exp);
@@ -3989,7 +4058,7 @@ char name[1024];
 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;
@@ -4015,21 +4084,21 @@ struct __ecereNameSpace__ecere__com__Method * method = __ecereNameSpace__ecere__
 
 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);
@@ -4039,7 +4108,7 @@ 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, 0x1);
 if(nameID)
 {
 FreeSpecifier(nameID->_class);
@@ -4055,47 +4124,47 @@ struct External * externalDecl;
 
 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;
 }
@@ -4119,27 +4188,27 @@ struct Type * param;
 
 if(declareParams)
 {
-for(param = type->params.first; param; param = param->next)
+for(param = type->__anon1.__anon2.params.first; param; param = param->next)
 DeclareType(param, declarePointers, 0x1);
 }
-DeclareType(type->returnType, declarePointers, 0x1);
+DeclareType(type->__anon1.__anon2.returnType, declarePointers, 0x1);
 }
 else if(type->kind == 13 && declarePointers)
-DeclareType(type->type, declarePointers, 0x0);
+DeclareType(type->__anon1.type, declarePointers, 0x0);
 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)
+for(member = type->__anon1.__anon1.members.first; member; member = member->next)
 DeclareType(member, 0x0, 0x0);
 }
 else if(type->kind == 12)
-DeclareType(type->arrayType, declarePointers, 0x0);
+DeclareType(type->__anon1.__anon4.arrayType, declarePointers, 0x0);
 }
 }
 
@@ -4178,7 +4247,7 @@ if(curParam)
 {
 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;
 }
@@ -4238,7 +4307,7 @@ if(!param)
 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__ ({
@@ -4275,11 +4344,11 @@ method->dataType = ProcessTypeString(method->dataTypeString, 0x0);
 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;
 }
 }
 }
@@ -4320,7 +4389,7 @@ void DeclareMethod(struct __ecereNameSpace__ecere__com__Method * method, const c
 {
 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;
@@ -4374,13 +4443,13 @@ symbol->type->refCount++;
 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)
+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 = 0x1;
 }
 }
 if(method->type != 1 && method->dataType)
 DeclareType(method->dataType, 0x1, 0x1);
-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;
@@ -4425,25 +4494,25 @@ FreeSpecifier(spec);
 }
 }
 }
-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);
 }
 }
 }
@@ -4451,7 +4520,7 @@ ProcessDeclarator(d);
 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);
 
@@ -4462,17 +4531,17 @@ if(functionSymbol->type)
 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));
 }
@@ -4576,11 +4645,11 @@ struct Specifier * spec;
 
 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);
 }
 }
 }
@@ -4624,8 +4693,8 @@ unsigned int dllImport = 0x0;
 if(!function->dataType)
 {
 function->dataType = ProcessTypeString(function->dataTypeString, 0x0);
-if(!function->dataType->thisClass)
-function->dataType->staticMethod = 0x1;
+if(!function->dataType->__anon1.__anon2.thisClass)
+function->dataType->__anon1.__anon2.staticMethod = 0x1;
 }
 if(inCompiler)
 {
@@ -4648,8 +4717,8 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&module->functions, symb
 }
 {
 symbol->type = ProcessTypeString(function->dataTypeString, 0x0);
-if(!symbol->type->thisClass)
-symbol->type->staticMethod = 0x1;
+if(!symbol->type->__anon1.__anon2.thisClass)
+symbol->type->__anon1.__anon2.staticMethod = 0x1;
 }
 }
 imported = symbol->_import ? 0x1 : 0x0;
@@ -4659,7 +4728,7 @@ dllImport = 0x1;
 DeclareType(function->dataType, 0x1, 0x1);
 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;
@@ -4679,7 +4748,7 @@ if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)function->module +
 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);
@@ -4687,10 +4756,10 @@ break;
 }
 }
 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))));
 {
@@ -4700,7 +4769,7 @@ curContext = globalContext;
 decl = MkDeclaration(specifiers, declarators);
 curContext = oldCtx;
 }
-if(symbol->pointerExternal)
+if(symbol->__anon2.__anon1.pointerExternal)
 {
 struct Symbol * functionSymbol = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol);
 
@@ -4711,17 +4780,17 @@ if(functionSymbol->type)
 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;
@@ -4762,7 +4831,7 @@ data->dataType = ProcessTypeString(data->dataTypeString, 0x0);
 DeclareType(data->dataType, 0x1, 0x1);
 if(inCompiler)
 {
-if(!symbol->pointerExternal)
+if(!symbol->__anon2.__anon1.pointerExternal)
 {
 struct Declaration * decl;
 struct __ecereNameSpace__ecere__sys__OldList * specifiers, * declarators;
@@ -4780,11 +4849,11 @@ 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;
@@ -4808,19 +4877,19 @@ static unsigned int CheckConstCompatibility(struct Type * source, struct Type *
 {
 unsigned int status = 0x1;
 
-if(((source->kind == 8 && source->_class && source->_class->registered) || source->kind == 12 || source->kind == 13) && ((dest->kind == 8 && dest->_class && dest->_class->registered) || dest->kind == 13))
+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->_class->registered : (((void *)0));
-struct __ecereNameSpace__ecere__com__Class * destClass = dest->kind == 8 ? dest->_class->registered : (((void *)0));
+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->type)
-sourceType = sourceType->type;
-while((destType->kind == 13 || destType->kind == 12) && destType->type)
-destType = destType->type;
+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 = 0x0;
@@ -4844,14 +4913,14 @@ if(warnConst)
 CheckConstCompatibility(source, dest, 0x1);
 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;
@@ -4862,7 +4931,7 @@ if(source->classObjectType != 3)
 return 0x1;
 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;
 }
@@ -4877,50 +4946,50 @@ return 0x1;
 }
 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))
+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 0x1;
 }
 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))
+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 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))
+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 0x1;
-if(((source->kind == 8 && dest->kind == 8) || (source->kind == 19 && dest->kind == 19)) && source->_class)
+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)
+if(source->__anon1._class->__anon1.registered == dest->__anon1._class->__anon1.registered)
 return 0x1;
 }
 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;
 }
 }
-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))
+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 0x1;
 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;
 }
 }
 }
 }
-if(source->kind == 19 && dest->kind == 8 && dest->_class && !strcmp(dest->_class->string, "ecere::com::Class"))
+if(source->kind == 19 && dest->kind == 8 && dest->__anon1._class && !strcmp(dest->__anon1._class->string, "ecere::com::Class"))
 return 0x1;
 if(doConversion)
 {
@@ -4928,7 +4997,7 @@ 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;
 
@@ -4946,7 +5015,7 @@ if(!conversions && !convert->Get)
 return 0x1;
 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))
+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 0x1;
 else
 {
@@ -4965,7 +5034,7 @@ if(dest->kind == 8)
 {
 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;
 
@@ -4978,16 +5047,16 @@ unsigned int success = 0x0;
 
 if(!convert->dataType)
 convert->dataType = ProcessTypeString(convert->dataTypeString, 0x0);
-if(warnConst && convert->dataType->kind == 13 && convert->dataType->type && dest->constant)
+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->type = ptrType, __ecereInstance1;
+__ecereInstance1->kind = 13, __ecereInstance1->refCount = 1, __ecereInstance1->__anon1.type = ptrType, __ecereInstance1;
 });
-CopyTypeInto(ptrType, convert->dataType->type);
+CopyTypeInto(ptrType, convert->dataType->__anon1.type);
 ptrType->refCount++;
 ptrType->constant = 0x1;
 }
@@ -4997,7 +5066,7 @@ if(!conversions && !convert->Set)
 success = 0x1;
 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))
+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 = 0x1;
 else
 {
@@ -5015,13 +5084,13 @@ FreeType(constType);
 }
 }
 }
-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, 0x0);
+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, warnConst))
+if(MatchTypes(source, dest->__anon1._class->__anon1.registered->dataType, conversions, (((void *)0)), (((void *)0)), 0x1, dest->__anon1._class->__anon1.registered->dataType->kind == 8, 0x0, 0x0, warnConst))
 {
 return 0x1;
 }
@@ -5032,7 +5101,7 @@ 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;
 
@@ -5050,7 +5119,7 @@ if(!conversions && !convert->Get)
 return 0x1;
 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))
+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 0x1;
 else
 {
@@ -5064,15 +5133,15 @@ return 0x1;
 }
 }
 }
-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, 0x0);
+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, warnConst))
+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, 0x0, 0x0, warnConst))
 return 0x1;
-else if(MatchTypes(dest, source->_class->registered->dataType, (((void *)0)), (((void *)0)), (((void *)0)), 0x0, 0x0, 0x0, 0x0, warnConst))
+else if(MatchTypes(dest, source->__anon1._class->__anon1.registered->dataType, (((void *)0)), (((void *)0)), (((void *)0)), 0x0, 0x0, 0x0, 0x0, warnConst))
 return 0x1;
 }
 }
@@ -5098,55 +5167,55 @@ else if(source->kind == 15 && (dest->kind == 3 || dest->kind == 2 || dest->kind
 return 0x1;
 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)))
+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;
 }
 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);
+Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "method class must be derived from %s\n", (((void *)0))), dest->__anon1.__anon2.thisClass->string);
 return 0x0;
 }
 }
 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);
@@ -5159,31 +5228,31 @@ 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);
+Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "method class must be derived from %s\n", (((void *)0))), dest->__anon1.__anon2.thisClass->string);
 return 0x0;
 }
 }
 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);
+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 0x0;
 }
 }
 }
 }
-if(!MatchTypes(source->returnType, dest->returnType, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, warnConst))
+if(!MatchTypes(source->__anon1.__anon2.returnType, dest->__anon1.__anon2.returnType, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, warnConst))
 {
 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "incompatible return type for function\n", (((void *)0))));
 return 0x0;
 }
 else
-CheckConstCompatibility(dest->returnType, source->returnType, 0x1);
+CheckConstCompatibility(dest->__anon1.__anon2.returnType, source->__anon1.__anon2.returnType, 0x1);
 for(; paramDest; paramDest = paramDest->next)
 {
 if(!paramSource)
@@ -5196,7 +5265,7 @@ 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));
@@ -5209,7 +5278,7 @@ if(sClass->templateClass)
 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)
 {
@@ -5228,7 +5297,7 @@ if(curParam)
 {
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument arg = owningClassSource->templateArgs[id];
 
-paramDestType = type = ProcessTypeString(arg.dataTypeString, 0x0);
+paramDestType = type = ProcessTypeString(arg.__anon1.__anon1.dataTypeString, 0x0);
 }
 }
 if(!MatchTypes(paramDestType, paramSourceType, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, warnConst) && (!acceptReversedParams || !MatchTypes(paramSourceType, paramDestType, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, warnConst)))
@@ -5254,13 +5323,13 @@ return 0x0;
 }
 return 0x1;
 }
-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;
 }
 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, warnConst))
+if(MatchTypes(source->__anon1.type, dest->__anon1.type, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, warnConst))
 return 0x1;
 }
 }
@@ -5334,7 +5403,7 @@ struct Type * type = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Ty
 type->kind = 8;
 if(!_class->symbol)
 _class->symbol = FindClass(_class->fullName);
-type->_class = _class->symbol;
+type->__anon1._class = _class->symbol;
 if(MatchTypes(type, dest, &converts, (((void *)0)), (((void *)0)), 0x1, 0x0, 0x0, 0x0, 0x0))
 {
 struct __ecereNameSpace__ecere__sys__NamedLink * value;
@@ -5367,7 +5436,7 @@ if(!strcmp(baseClass->dataTypeString, "int"))
 sprintf(constant, "%d", (int)value->data);
 else
 sprintf(constant, "0x%X", (int)value->data);
-sourceExp->constant = __ecereNameSpace__ecere__sys__CopyString(constant);
+sourceExp->__anon1.__anon1.constant = __ecereNameSpace__ecere__sys__CopyString(constant);
 }
 while(converts.first)
 {
@@ -5471,13 +5540,13 @@ struct Type * backupSourceExpType = (((void *)0));
 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)
 {
@@ -5489,13 +5558,13 @@ return 0x1;
 }
 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)
 {
@@ -5519,23 +5588,23 @@ 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__ ({
@@ -5546,7 +5615,7 @@ __ecereInstance1->kind = 3, __ecereInstance1->isSigned = 0x0, __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)
 {
@@ -5562,9 +5631,9 @@ tempDest = tempType;
 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)
+if(tempType->__anon1._class)
 MatchTypes(tempSource, tempDest, conversions, (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, warnConst);
 backupSourceExpType = sourceExp->expType;
 sourceExp->expType = dest;
@@ -5575,29 +5644,29 @@ flag = 0x1;
 }
 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, warnConst))
+if(!dest->__anon1._class->__anon1.registered->dataType)
+dest->__anon1._class->__anon1.registered->dataType = ProcessTypeString(dest->__anon1._class->__anon1.registered->dataTypeString, 0x0);
+if(MatchTypes(source, dest->__anon1._class->__anon1.registered->dataType, conversions, (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, 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);
@@ -5609,7 +5678,7 @@ return 0x1;
 }
 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))
 {
@@ -5618,17 +5687,17 @@ if(dest->kind != 8)
 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, 0x0);
 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)
+if(tempType->__anon1._class)
 MatchTypes(tempSource, tempDest, conversions, (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, warnConst);
 if(conversions->last)
 {
@@ -5649,7 +5718,7 @@ sourceExp->expType->refCount++;
 if(!_class->dataType)
 _class->dataType = ProcessTypeString(_class->dataTypeString, 0x0);
 FreeType(dest);
-dest = MkClassType(source->_class->string);
+dest = MkClassType(source->__anon1._class->string);
 dest->truth = source->truth;
 dest->classObjectType = source->classObjectType;
 FreeType(source);
@@ -5670,7 +5739,7 @@ return 0x1;
 }
 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));
 unsigned int fittingValue = 0x0;
 
 if(_class && _class->type == 4)
@@ -5693,8 +5762,8 @@ sourceExp->destType->refCount++;
 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);
@@ -5808,7 +5877,7 @@ ListAdd(specs, MkSpecifier(INT64));
 }
 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
 {
@@ -5836,17 +5905,17 @@ sourceExp->expType->refCount++;
 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);
@@ -5866,17 +5935,17 @@ if(computedExp != sourceExp)
 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)
@@ -5905,7 +5974,7 @@ if(_class->dataTypeString && !strcmp(_class->dataTypeString, "int"))
 sprintf(constant, "%d", (int)value->data);
 else
 sprintf(constant, "0x%X", (int)value->data);
-sourceExp->constant = __ecereNameSpace__ecere__sys__CopyString(constant);
+sourceExp->__anon1.__anon1.constant = __ecereNameSpace__ecere__sys__CopyString(constant);
 }
 FreeType(dest);
 return 0x1;
@@ -5927,10 +5996,10 @@ return 0x0;
 
 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;
@@ -5942,10 +6011,10 @@ return 0x1;
 
 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;
@@ -5957,10 +6026,10 @@ return 0x1;
 
 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;
@@ -5972,10 +6041,10 @@ return 0x1;
 
 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;
@@ -5987,10 +6056,10 @@ return 0x1;
 
 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;
@@ -6002,10 +6071,10 @@ return 0x1;
 
 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;
@@ -6017,10 +6086,10 @@ return 0x1;
 
 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;
@@ -6032,10 +6101,10 @@ return 0x1;
 
 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;
@@ -6047,10 +6116,10 @@ return 0x1;
 
 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;
@@ -6062,10 +6131,10 @@ return 0x1;
 
 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;
@@ -6077,10 +6146,10 @@ return 0x1;
 
 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;
@@ -6092,10 +6161,10 @@ return 0x1;
 
 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;
@@ -6107,10 +6176,10 @@ return 0x1;
 
 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;
@@ -6122,10 +6191,10 @@ return 0x1;
 
 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;
@@ -6137,10 +6206,10 @@ return 0x1;
 
 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;
@@ -6152,10 +6221,10 @@ return 0x1;
 
 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;
@@ -6167,10 +6236,10 @@ return 0x1;
 
 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;
@@ -6182,10 +6251,10 @@ return 0x1;
 
 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;
@@ -6197,10 +6266,10 @@ return 0x1;
 
 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;
@@ -6212,10 +6281,10 @@ return 0x1;
 
 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;
@@ -6227,10 +6296,10 @@ return 0x1;
 
 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;
@@ -6242,10 +6311,10 @@ return 0x1;
 
 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;
@@ -6257,10 +6326,10 @@ return 0x1;
 
 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;
@@ -6272,10 +6341,10 @@ return 0x1;
 
 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;
@@ -6287,10 +6356,10 @@ return 0x1;
 
 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;
@@ -6302,10 +6371,10 @@ return 0x1;
 
 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;
@@ -6317,10 +6386,10 @@ return 0x1;
 
 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;
@@ -6332,10 +6401,10 @@ return 0x1;
 
 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;
@@ -6347,10 +6416,10 @@ return 0x1;
 
 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;
@@ -6362,10 +6431,10 @@ return 0x1;
 
 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;
@@ -6377,10 +6446,10 @@ return 0x1;
 
 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;
@@ -6392,10 +6461,10 @@ return 0x1;
 
 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;
@@ -6407,10 +6476,10 @@ return 0x1;
 
 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;
@@ -6422,10 +6491,10 @@ return 0x1;
 
 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;
@@ -6437,10 +6506,10 @@ return 0x1;
 
 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;
@@ -6452,10 +6521,10 @@ return 0x1;
 
 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;
@@ -6467,10 +6536,10 @@ return 0x1;
 
 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;
@@ -6482,10 +6551,10 @@ return 0x1;
 
 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;
@@ -6497,10 +6566,10 @@ return 0x1;
 
 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;
@@ -6512,10 +6581,10 @@ return 0x1;
 
 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;
@@ -6527,10 +6596,10 @@ return 0x1;
 
 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;
@@ -6542,10 +6611,10 @@ return 0x1;
 
 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;
@@ -6557,10 +6626,10 @@ return 0x1;
 
 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;
@@ -6572,10 +6641,10 @@ return 0x1;
 
 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;
@@ -6587,10 +6656,10 @@ return 0x1;
 
 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;
@@ -6602,10 +6671,10 @@ return 0x1;
 
 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;
@@ -6617,10 +6686,10 @@ return 0x1;
 
 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;
@@ -6632,10 +6701,10 @@ return 0x1;
 
 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;
@@ -6648,7 +6717,7 @@ return 0x1;
 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;
@@ -6661,7 +6730,7 @@ return 0x1;
 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;
@@ -6674,7 +6743,7 @@ return 0x1;
 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;
@@ -6687,7 +6756,7 @@ return 0x1;
 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;
@@ -6700,7 +6769,7 @@ return 0x1;
 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;
@@ -6713,7 +6782,7 @@ return 0x1;
 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;
@@ -6726,7 +6795,7 @@ return 0x1;
 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;
@@ -6739,7 +6808,7 @@ return 0x1;
 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;
@@ -6752,7 +6821,7 @@ return 0x1;
 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;
@@ -6765,7 +6834,7 @@ return 0x1;
 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;
@@ -6778,7 +6847,7 @@ return 0x1;
 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;
@@ -6791,7 +6860,7 @@ return 0x1;
 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;
@@ -6804,7 +6873,7 @@ return 0x1;
 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;
@@ -6817,7 +6886,7 @@ return 0x1;
 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;
@@ -6830,7 +6899,7 @@ return 0x1;
 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;
@@ -6843,7 +6912,7 @@ return 0x1;
 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;
@@ -6856,7 +6925,7 @@ return 0x1;
 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;
@@ -6869,7 +6938,7 @@ return 0x1;
 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;
@@ -6882,7 +6951,7 @@ return 0x1;
 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;
@@ -6895,7 +6964,7 @@ return 0x1;
 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;
@@ -6908,7 +6977,7 @@ return 0x1;
 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;
@@ -6921,7 +6990,7 @@ return 0x1;
 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;
@@ -6934,7 +7003,7 @@ return 0x1;
 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;
@@ -6947,7 +7016,7 @@ return 0x1;
 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;
@@ -6960,7 +7029,7 @@ return 0x1;
 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;
@@ -6973,7 +7042,7 @@ return 0x1;
 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;
@@ -6986,7 +7055,7 @@ return 0x1;
 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;
@@ -6999,7 +7068,7 @@ return 0x1;
 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;
@@ -7012,7 +7081,7 @@ return 0x1;
 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;
@@ -7025,7 +7094,7 @@ return 0x1;
 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;
@@ -7037,10 +7106,10 @@ return 0x1;
 
 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;
@@ -7052,10 +7121,10 @@ return 0x1;
 
 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;
@@ -7067,10 +7136,10 @@ return 0x1;
 
 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;
@@ -7082,10 +7151,10 @@ return 0x1;
 
 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;
@@ -7097,10 +7166,10 @@ return 0x1;
 
 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;
@@ -7112,10 +7181,10 @@ return 0x1;
 
 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;
@@ -7127,10 +7196,10 @@ return 0x1;
 
 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;
@@ -7142,10 +7211,10 @@ return 0x1;
 
 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;
@@ -7157,10 +7226,10 @@ return 0x1;
 
 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;
@@ -7172,10 +7241,10 @@ return 0x1;
 
 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;
@@ -7187,10 +7256,10 @@ return 0x1;
 
 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;
@@ -7202,10 +7271,10 @@ return 0x1;
 
 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;
@@ -7217,10 +7286,10 @@ return 0x1;
 
 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;
@@ -7232,10 +7301,10 @@ return 0x1;
 
 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;
@@ -7247,10 +7316,10 @@ return 0x1;
 
 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;
@@ -7262,10 +7331,10 @@ return 0x1;
 
 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;
@@ -7277,10 +7346,10 @@ return 0x1;
 
 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;
@@ -7292,10 +7361,10 @@ return 0x1;
 
 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;
@@ -7307,10 +7376,10 @@ return 0x1;
 
 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;
@@ -7322,10 +7391,10 @@ return 0x1;
 
 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;
@@ -7337,10 +7406,10 @@ return 0x1;
 
 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;
@@ -7352,10 +7421,10 @@ return 0x1;
 
 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;
@@ -7367,10 +7436,10 @@ return 0x1;
 
 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;
@@ -7382,10 +7451,10 @@ return 0x1;
 
 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;
@@ -7397,10 +7466,10 @@ return 0x1;
 
 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;
@@ -7412,10 +7481,10 @@ return 0x1;
 
 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;
@@ -7427,10 +7496,10 @@ return 0x1;
 
 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;
@@ -7442,10 +7511,10 @@ return 0x1;
 
 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;
@@ -7457,10 +7526,10 @@ return 0x1;
 
 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;
@@ -7472,10 +7541,10 @@ return 0x1;
 
 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;
@@ -7487,10 +7556,10 @@ return 0x1;
 
 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;
@@ -7502,10 +7571,10 @@ return 0x1;
 
 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;
@@ -7517,10 +7586,10 @@ return 0x1;
 
 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;
@@ -7532,10 +7601,10 @@ return 0x1;
 
 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;
@@ -7547,10 +7616,10 @@ return 0x1;
 
 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;
@@ -7562,10 +7631,10 @@ return 0x1;
 
 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;
@@ -7577,10 +7646,10 @@ return 0x1;
 
 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;
@@ -7592,10 +7661,10 @@ return 0x1;
 
 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;
@@ -7607,10 +7676,10 @@ return 0x1;
 
 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;
@@ -7622,10 +7691,10 @@ return 0x1;
 
 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;
@@ -7637,10 +7706,10 @@ return 0x1;
 
 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;
@@ -7652,10 +7721,10 @@ return 0x1;
 
 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;
@@ -7667,10 +7736,10 @@ return 0x1;
 
 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;
@@ -7682,10 +7751,10 @@ return 0x1;
 
 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;
@@ -7697,10 +7766,10 @@ return 0x1;
 
 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;
@@ -7712,10 +7781,10 @@ return 0x1;
 
 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;
@@ -7727,10 +7796,10 @@ return 0x1;
 
 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;
@@ -7742,10 +7811,10 @@ return 0x1;
 
 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;
@@ -7757,10 +7826,10 @@ return 0x1;
 
 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;
@@ -7772,10 +7841,10 @@ return 0x1;
 
 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;
@@ -7787,10 +7856,10 @@ return 0x1;
 
 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;
@@ -7802,10 +7871,10 @@ return 0x1;
 
 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;
@@ -7817,10 +7886,10 @@ return 0x1;
 
 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;
@@ -7832,10 +7901,10 @@ return 0x1;
 
 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;
@@ -7847,10 +7916,10 @@ return 0x1;
 
 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;
@@ -7862,10 +7931,10 @@ return 0x1;
 
 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;
@@ -7877,10 +7946,10 @@ return 0x1;
 
 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;
@@ -7892,10 +7961,10 @@ return 0x1;
 
 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;
@@ -7907,10 +7976,10 @@ return 0x1;
 
 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;
@@ -7922,10 +7991,10 @@ return 0x1;
 
 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;
@@ -7937,10 +8006,10 @@ return 0x1;
 
 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;
@@ -7952,10 +8021,10 @@ return 0x1;
 
 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;
@@ -7967,10 +8036,10 @@ return 0x1;
 
 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;
@@ -7982,10 +8051,10 @@ return 0x1;
 
 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;
@@ -7997,10 +8066,10 @@ return 0x1;
 
 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;
@@ -8012,10 +8081,10 @@ return 0x1;
 
 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;
@@ -8027,10 +8096,10 @@ return 0x1;
 
 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;
@@ -8042,10 +8111,10 @@ return 0x1;
 
 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;
@@ -8057,10 +8126,10 @@ return 0x1;
 
 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;
@@ -8072,10 +8141,10 @@ return 0x1;
 
 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;
@@ -8087,10 +8156,10 @@ return 0x1;
 
 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;
@@ -8102,10 +8171,10 @@ return 0x1;
 
 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;
@@ -8117,10 +8186,10 @@ return 0x1;
 
 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;
@@ -8132,10 +8201,10 @@ return 0x1;
 
 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;
@@ -8147,10 +8216,10 @@ return 0x1;
 
 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;
@@ -8162,10 +8231,10 @@ return 0x1;
 
 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;
@@ -8177,10 +8246,10 @@ return 0x1;
 
 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;
@@ -8192,10 +8261,10 @@ return 0x1;
 
 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;
@@ -8207,10 +8276,10 @@ return 0x1;
 
 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;
@@ -8222,10 +8291,10 @@ return 0x1;
 
 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;
@@ -8237,10 +8306,10 @@ return 0x1;
 
 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;
@@ -8252,10 +8321,10 @@ return 0x1;
 
 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;
@@ -8267,10 +8336,10 @@ return 0x1;
 
 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;
@@ -8282,10 +8351,10 @@ return 0x1;
 
 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;
@@ -8297,10 +8366,10 @@ return 0x1;
 
 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;
@@ -8312,10 +8381,10 @@ return 0x1;
 
 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;
@@ -8327,10 +8396,10 @@ return 0x1;
 
 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;
@@ -8342,10 +8411,10 @@ return 0x1;
 
 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;
@@ -8357,10 +8426,10 @@ return 0x1;
 
 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;
@@ -8372,10 +8441,10 @@ return 0x1;
 
 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;
@@ -8387,10 +8456,10 @@ return 0x1;
 
 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;
@@ -8402,10 +8471,10 @@ return 0x1;
 
 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;
@@ -8417,10 +8486,10 @@ return 0x1;
 
 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;
@@ -8432,10 +8501,10 @@ return 0x1;
 
 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;
@@ -8447,10 +8516,10 @@ return 0x1;
 
 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;
@@ -8462,10 +8531,10 @@ return 0x1;
 
 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;
@@ -8477,10 +8546,10 @@ return 0x1;
 
 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;
@@ -8492,10 +8561,10 @@ return 0x1;
 
 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;
@@ -8508,7 +8577,7 @@ return 0x1;
 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;
@@ -8521,7 +8590,7 @@ return 0x1;
 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;
@@ -8534,7 +8603,7 @@ return 0x1;
 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;
@@ -8547,7 +8616,7 @@ return 0x1;
 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;
@@ -8560,7 +8629,7 @@ return 0x1;
 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;
@@ -8573,7 +8642,7 @@ return 0x1;
 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;
@@ -8586,7 +8655,7 @@ return 0x1;
 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;
@@ -8599,7 +8668,7 @@ return 0x1;
 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;
@@ -8611,10 +8680,10 @@ return 0x1;
 
 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;
@@ -8626,10 +8695,10 @@ return 0x1;
 
 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;
@@ -8641,10 +8710,10 @@ return 0x1;
 
 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;
@@ -8656,10 +8725,10 @@ return 0x1;
 
 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;
@@ -8671,10 +8740,10 @@ return 0x1;
 
 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;
@@ -8686,10 +8755,10 @@ return 0x1;
 
 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;
@@ -8701,10 +8770,10 @@ return 0x1;
 
 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;
@@ -8716,10 +8785,10 @@ return 0x1;
 
 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;
@@ -8731,10 +8800,10 @@ return 0x1;
 
 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;
@@ -8746,10 +8815,10 @@ return 0x1;
 
 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;
@@ -8761,10 +8830,10 @@ return 0x1;
 
 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;
@@ -8776,10 +8845,10 @@ return 0x1;
 
 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;
@@ -8791,10 +8860,10 @@ return 0x1;
 
 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;
@@ -8806,10 +8875,10 @@ return 0x1;
 
 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;
@@ -8821,10 +8890,10 @@ return 0x1;
 
 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;
@@ -8836,10 +8905,10 @@ return 0x1;
 
 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;
@@ -8851,10 +8920,10 @@ return 0x1;
 
 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;
@@ -8866,10 +8935,10 @@ return 0x1;
 
 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;
@@ -8881,10 +8950,10 @@ return 0x1;
 
 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;
@@ -8896,10 +8965,10 @@ return 0x1;
 
 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;
@@ -8911,10 +8980,10 @@ return 0x1;
 
 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;
@@ -8926,10 +8995,10 @@ return 0x1;
 
 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;
@@ -8941,10 +9010,10 @@ return 0x1;
 
 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;
@@ -8956,10 +9025,10 @@ return 0x1;
 
 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;
@@ -8971,10 +9040,10 @@ return 0x1;
 
 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;
@@ -8986,10 +9055,10 @@ return 0x1;
 
 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;
@@ -9001,10 +9070,10 @@ return 0x1;
 
 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;
@@ -9016,10 +9085,10 @@ return 0x1;
 
 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;
@@ -9031,10 +9100,10 @@ return 0x1;
 
 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;
@@ -9046,10 +9115,10 @@ return 0x1;
 
 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;
@@ -9061,10 +9130,10 @@ return 0x1;
 
 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;
@@ -9076,10 +9145,10 @@ return 0x1;
 
 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;
@@ -9091,10 +9160,10 @@ return 0x1;
 
 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;
@@ -9106,10 +9175,10 @@ return 0x1;
 
 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;
@@ -9121,10 +9190,10 @@ return 0x1;
 
 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;
@@ -9136,10 +9205,10 @@ return 0x1;
 
 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;
@@ -9151,10 +9220,10 @@ return 0x1;
 
 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;
@@ -9166,10 +9235,10 @@ return 0x1;
 
 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;
@@ -9181,10 +9250,10 @@ return 0x1;
 
 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;
@@ -9196,10 +9265,10 @@ return 0x1;
 
 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;
@@ -9212,7 +9281,7 @@ return 0x1;
 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;
@@ -9225,7 +9294,7 @@ return 0x1;
 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;
@@ -9238,7 +9307,7 @@ return 0x1;
 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;
@@ -9251,7 +9320,7 @@ return 0x1;
 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;
@@ -9264,7 +9333,7 @@ return 0x1;
 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;
@@ -9277,7 +9346,7 @@ return 0x1;
 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;
@@ -9290,7 +9359,7 @@ return 0x1;
 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;
@@ -9303,7 +9372,7 @@ return 0x1;
 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;
@@ -9315,10 +9384,10 @@ return 0x1;
 
 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;
@@ -9330,10 +9399,10 @@ return 0x1;
 
 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;
@@ -9345,10 +9414,10 @@ return 0x1;
 
 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;
@@ -9360,10 +9429,10 @@ return 0x1;
 
 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;
@@ -9375,10 +9444,10 @@ return 0x1;
 
 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;
@@ -9390,10 +9459,10 @@ return 0x1;
 
 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;
@@ -9405,10 +9474,10 @@ return 0x1;
 
 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;
@@ -9420,10 +9489,10 @@ return 0x1;
 
 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;
@@ -9435,10 +9504,10 @@ return 0x1;
 
 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;
@@ -9450,10 +9519,10 @@ return 0x1;
 
 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;
@@ -9465,10 +9534,10 @@ return 0x1;
 
 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;
@@ -9480,10 +9549,10 @@ return 0x1;
 
 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;
@@ -9495,10 +9564,10 @@ return 0x1;
 
 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;
@@ -9510,10 +9579,10 @@ return 0x1;
 
 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;
@@ -9525,10 +9594,10 @@ return 0x1;
 
 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;
@@ -9540,10 +9609,10 @@ return 0x1;
 
 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;
@@ -9555,10 +9624,10 @@ return 0x1;
 
 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;
@@ -9570,10 +9639,10 @@ return 0x1;
 
 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;
@@ -9585,10 +9654,10 @@ return 0x1;
 
 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;
@@ -9600,10 +9669,10 @@ return 0x1;
 
 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;
@@ -9615,10 +9684,10 @@ return 0x1;
 
 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;
@@ -9630,10 +9699,10 @@ return 0x1;
 
 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;
@@ -9645,10 +9714,10 @@ return 0x1;
 
 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;
@@ -9660,10 +9729,10 @@ return 0x1;
 
 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;
@@ -9675,10 +9744,10 @@ return 0x1;
 
 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;
@@ -9690,10 +9759,10 @@ return 0x1;
 
 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;
@@ -9705,10 +9774,10 @@ return 0x1;
 
 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;
@@ -9720,10 +9789,10 @@ return 0x1;
 
 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;
@@ -9735,10 +9804,10 @@ return 0x1;
 
 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;
@@ -9750,10 +9819,10 @@ return 0x1;
 
 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;
@@ -9765,10 +9834,10 @@ return 0x1;
 
 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;
@@ -9780,10 +9849,10 @@ return 0x1;
 
 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;
@@ -9795,10 +9864,10 @@ return 0x1;
 
 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;
@@ -9810,10 +9879,10 @@ return 0x1;
 
 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;
@@ -9825,10 +9894,10 @@ return 0x1;
 
 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;
@@ -9840,10 +9909,10 @@ return 0x1;
 
 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;
@@ -9855,10 +9924,10 @@ return 0x1;
 
 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;
@@ -9870,10 +9939,10 @@ return 0x1;
 
 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;
@@ -9885,10 +9954,10 @@ return 0x1;
 
 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;
@@ -9900,10 +9969,10 @@ return 0x1;
 
 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;
@@ -9915,10 +9984,10 @@ return 0x1;
 
 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;
@@ -9930,10 +9999,10 @@ return 0x1;
 
 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;
@@ -9945,10 +10014,10 @@ return 0x1;
 
 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;
@@ -9960,10 +10029,10 @@ return 0x1;
 
 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;
@@ -9975,10 +10044,10 @@ return 0x1;
 
 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;
@@ -9990,10 +10059,10 @@ return 0x1;
 
 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;
@@ -10005,10 +10074,10 @@ return 0x1;
 
 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;
@@ -10020,10 +10089,10 @@ return 0x1;
 
 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;
@@ -10035,10 +10104,10 @@ return 0x1;
 
 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;
@@ -10050,10 +10119,10 @@ return 0x1;
 
 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;
@@ -10065,10 +10134,10 @@ return 0x1;
 
 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;
@@ -10080,10 +10149,10 @@ return 0x1;
 
 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;
@@ -10095,10 +10164,10 @@ return 0x1;
 
 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;
@@ -10110,10 +10179,10 @@ return 0x1;
 
 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;
@@ -10125,10 +10194,10 @@ return 0x1;
 
 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;
@@ -10140,10 +10209,10 @@ return 0x1;
 
 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;
@@ -10155,10 +10224,10 @@ return 0x1;
 
 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;
@@ -10170,10 +10239,10 @@ return 0x1;
 
 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;
@@ -10185,10 +10254,10 @@ return 0x1;
 
 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;
@@ -10200,10 +10269,10 @@ return 0x1;
 
 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;
@@ -10215,10 +10284,10 @@ return 0x1;
 
 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;
@@ -10230,10 +10299,10 @@ return 0x1;
 
 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;
@@ -10245,10 +10314,10 @@ return 0x1;
 
 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;
@@ -10260,10 +10329,10 @@ return 0x1;
 
 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;
@@ -10275,10 +10344,10 @@ return 0x1;
 
 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;
@@ -10290,10 +10359,10 @@ return 0x1;
 
 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;
@@ -10305,10 +10374,10 @@ return 0x1;
 
 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;
@@ -10320,10 +10389,10 @@ return 0x1;
 
 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;
@@ -10335,10 +10404,10 @@ return 0x1;
 
 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;
@@ -10350,10 +10419,10 @@ return 0x1;
 
 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;
@@ -10365,10 +10434,10 @@ return 0x1;
 
 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;
@@ -10380,10 +10449,10 @@ return 0x1;
 
 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;
@@ -10395,10 +10464,10 @@ return 0x1;
 
 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;
@@ -10410,10 +10479,10 @@ return 0x1;
 
 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;
@@ -10425,10 +10494,10 @@ return 0x1;
 
 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;
@@ -10440,10 +10509,10 @@ return 0x1;
 
 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;
@@ -10455,10 +10524,10 @@ return 0x1;
 
 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;
@@ -10470,10 +10539,10 @@ return 0x1;
 
 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;
@@ -10485,10 +10554,10 @@ return 0x1;
 
 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;
@@ -10500,10 +10569,10 @@ return 0x1;
 
 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;
@@ -10516,7 +10585,7 @@ return 0x1;
 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;
@@ -10529,7 +10598,7 @@ return 0x1;
 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;
@@ -10542,7 +10611,7 @@ return 0x1;
 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;
@@ -10555,7 +10624,7 @@ return 0x1;
 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;
@@ -10568,7 +10637,7 @@ return 0x1;
 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;
@@ -10581,7 +10650,7 @@ return 0x1;
 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;
@@ -10594,7 +10663,7 @@ return 0x1;
 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;
@@ -10607,7 +10676,7 @@ return 0x1;
 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;
@@ -10821,7 +10890,10 @@ struct Operand GetOperand(struct Expression * exp)
 {
 struct Operand op =
 {
-0, 0, 0, .c = 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
 }
@@ -10830,15 +10902,15 @@ struct Type * type = exp->expType;
 
 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, 0x0);
+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;
 }
@@ -10851,19 +10923,19 @@ 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;
@@ -10871,12 +10943,12 @@ 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;
@@ -10884,12 +10956,12 @@ case 3:
 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;
@@ -10897,12 +10969,12 @@ break;
 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;
@@ -10910,12 +10982,12 @@ break;
 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;
@@ -10923,46 +10995,46 @@ break;
 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;
@@ -11008,7 +11080,7 @@ dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0x0);
 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)
 {
@@ -11029,7 +11101,7 @@ break;
 }
 if(result)
 {
-exp->identifier = MkIdentifier(result);
+exp->__anon1.__anon1.identifier = MkIdentifier(result);
 exp->type = 0;
 exp->destType = MkClassType(_class->fullName);
 ProcessExpressionType(exp);
@@ -11050,42 +11122,42 @@ switch(type->kind)
 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;
 }
@@ -11104,8 +11176,8 @@ extern struct MembersInit * MkMembersInitList(struct __ecereNameSpace__ecere__sy
 
 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();
 
@@ -11134,7 +11206,7 @@ dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0x0);
 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)
 {
@@ -11156,7 +11228,7 @@ break;
 }
 if(result)
 {
-exp->identifier = MkIdentifier(result);
+exp->__anon1.__anon1.identifier = MkIdentifier(result);
 exp->type = 0;
 exp->destType = MkClassType(_class->fullName);
 ProcessExpressionType(exp);
@@ -11175,31 +11247,31 @@ switch(type->kind)
 {
 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;
 }
@@ -11219,10 +11291,10 @@ 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];
@@ -11250,11 +11322,11 @@ switch(members->type)
 {
 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;
@@ -11313,7 +11385,7 @@ subMemberStackPos = _subMemberStackPos;
 }
 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;
 
@@ -11334,12 +11406,12 @@ 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;
 }
@@ -11348,7 +11420,7 @@ else if(type->kind == 9 || type->kind == 10)
 {
 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))
 {
@@ -11371,7 +11443,7 @@ if(!deepMember && type && value && (_class->type == 1 || _class->type == 0 || _c
 {
 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)
 {
@@ -11424,30 +11496,30 @@ else if(value->type == 1)
 {
 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);
 }
 }
@@ -11460,42 +11532,42 @@ case 7:
 {
 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;
 }
 }
@@ -11504,7 +11576,7 @@ else if(value->type == 3)
 {
 char temp[1024];
 
-ReadString(temp, value->string);
+ReadString(temp, value->__anon1.__anon2.string);
 ((void (*)(void *, void *))(void *)prop->Set)(inst->data, temp);
 }
 }
@@ -11517,7 +11589,7 @@ if(value->type == 2)
 {
 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)
 {
@@ -11533,8 +11605,8 @@ case 6:
 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;
 }
@@ -11543,8 +11615,8 @@ case 7:
 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;
 }
@@ -11556,11 +11628,11 @@ else if(!deepMember && type && _class->type == 2)
 {
 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)
 {
@@ -11576,11 +11648,11 @@ bits = (bits & ~bitMember->mask);
 if(!bitMember->dataType)
 bitMember->dataType = ProcessTypeString(bitMember->dataTypeString, 0x0);
 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, 0x0);
+type = type->__anon1._class->__anon1.registered->dataType;
 }
 switch(type->kind)
 {
@@ -11643,10 +11715,10 @@ else
 {
 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));
 }
 }
 }
@@ -11658,7 +11730,7 @@ break;
 }
 if(_class && _class->type == 2)
 {
-exp->constant = PrintHexUInt(bits);
+exp->__anon1.__anon1.constant = PrintHexUInt(bits);
 exp->type = 2;
 }
 if(exp->type != 1)
@@ -11675,40 +11747,40 @@ 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 = GetOpUIntPtr(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 ? GetOpIntPtr(op, &op->__anon1.i64) : GetOpUIntPtr(op, &op->__anon1.i64);
 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 ? GetOpIntSize(op, &op->__anon1.ui64) : GetOpUIntSize(op, &op->__anon1.ui64);
 break;
 }
 return result;
@@ -11716,23 +11788,23 @@ 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);
@@ -11772,7 +11844,7 @@ op2->kind = op1->kind, op2->ops = op1->ops;
 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)
@@ -11810,7 +11882,7 @@ op1->ops.Mod(exp, op1, op2);
 }
 break;
 case '&':
-if(exp->op.exp2)
+if(exp->__anon1.op.exp2)
 {
 if(op1->ops.BitAnd)
 {
@@ -11929,38 +12001,44 @@ case 4:
 struct Expression * exp1, * exp2 = (((void *)0));
 struct Operand op1 =
 {
-0, 0, 0, .c = 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 =
 {
-0, 0, 0, .c = 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));
 
@@ -11968,7 +12046,7 @@ len = UnescapeString(tmp, string + 1, len - 2);
 (__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
 {
@@ -11977,19 +12055,19 @@ struct Type * type = e->expType;
 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++;
@@ -12002,7 +12080,7 @@ op2.type->refCount++;
 }
 else
 {
-exp1 = exp->op.exp2;
+exp1 = exp->__anon1.op.exp2;
 op1 = GetOperand(exp1);
 if(op1.type)
 op1.type->refCount++;
@@ -12019,12 +12097,12 @@ case 32:
 {
 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;
 
@@ -12046,20 +12124,20 @@ break;
 }
 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)
 {
@@ -12069,20 +12147,20 @@ struct Symbol * classSym;
 string[0] = '\0';
 PrintTypeNoConst(type, string, 0x0, 0x1);
 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)
@@ -12095,7 +12173,7 @@ if(_class->type == 3)
 {
 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)
 {
@@ -12111,8 +12189,8 @@ case 6:
 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;
 }
@@ -12121,12 +12199,12 @@ case 7:
 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;
 }
@@ -12136,7 +12214,7 @@ else
 {
 if(convertTo)
 {
-struct Expression * value = exp->member.exp;
+struct Expression * value = exp->__anon1.member.exp;
 struct Type * type;
 
 if(!prop->dataType)
@@ -12151,19 +12229,19 @@ switch(type->kind)
 {
 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;
 }
@@ -12172,14 +12250,14 @@ case 3:
 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:
@@ -12187,14 +12265,14 @@ 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:
@@ -12202,14 +12280,14 @@ 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:
@@ -12217,14 +12295,14 @@ 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:
@@ -12232,14 +12310,14 @@ 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:
@@ -12247,14 +12325,14 @@ 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;
 }
 }
@@ -12265,14 +12343,14 @@ switch(type->kind)
 {
 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;
 }
@@ -12282,9 +12360,9 @@ unsigned int value;
 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;
 }
 }
@@ -12297,31 +12375,31 @@ if(_class->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;
@@ -12330,25 +12408,25 @@ break;
 }
 else if(_class->type == 1)
 {
-char * value = (exp->member.exp->type == 1) ? exp->member.exp->instance->data : (((void *)0));
+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;
 }
@@ -12375,24 +12453,24 @@ 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);
 
 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
@@ -12405,8 +12483,8 @@ MangleClassName(className);
 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;
@@ -12418,16 +12496,16 @@ struct Expression * e = exp;
 
 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))
 {
@@ -12447,7 +12525,7 @@ char value = (char)0;
 if(GetChar(e, &value))
 {
 FreeExpContents(exp);
-exp->constant = PrintChar(value);
+exp->__anon1.__anon1.constant = PrintChar(value);
 exp->type = 2;
 }
 }
@@ -12458,7 +12536,7 @@ unsigned char value = (unsigned char)0;
 if(GetUChar(e, &value))
 {
 FreeExpContents(exp);
-exp->constant = PrintUChar(value);
+exp->__anon1.__anon1.constant = PrintUChar(value);
 exp->type = 2;
 }
 }
@@ -12471,7 +12549,7 @@ short value = (short)0;
 if(GetShort(e, &value))
 {
 FreeExpContents(exp);
-exp->constant = PrintShort(value);
+exp->__anon1.__anon1.constant = PrintShort(value);
 exp->type = 2;
 }
 }
@@ -12482,7 +12560,7 @@ unsigned short value = (unsigned short)0;
 if(GetUShort(e, &value))
 {
 FreeExpContents(exp);
-exp->constant = PrintUShort(value);
+exp->__anon1.__anon1.constant = PrintUShort(value);
 exp->type = 2;
 }
 }
@@ -12495,7 +12573,7 @@ int value = 0;
 if(GetInt(e, &value))
 {
 FreeExpContents(exp);
-exp->constant = PrintInt(value);
+exp->__anon1.__anon1.constant = PrintInt(value);
 exp->type = 2;
 }
 }
@@ -12506,7 +12584,7 @@ unsigned int value = 0;
 if(GetUInt(e, &value))
 {
 FreeExpContents(exp);
-exp->constant = PrintUInt(value);
+exp->__anon1.__anon1.constant = PrintUInt(value);
 exp->type = 2;
 }
 }
@@ -12519,7 +12597,7 @@ long long value = 0;
 if(GetInt64(e, &value))
 {
 FreeExpContents(exp);
-exp->constant = PrintInt64(value);
+exp->__anon1.__anon1.constant = PrintInt64(value);
 exp->type = 2;
 }
 }
@@ -12530,7 +12608,7 @@ uint64 value = 0;
 if(GetUInt64(e, &value))
 {
 FreeExpContents(exp);
-exp->constant = PrintUInt64(value);
+exp->__anon1.__anon1.constant = PrintUInt64(value);
 exp->type = 2;
 }
 }
@@ -12543,7 +12621,7 @@ intptr_t value = 0;
 if(GetIntPtr(e, &value))
 {
 FreeExpContents(exp);
-exp->constant = PrintInt64((long long)value);
+exp->__anon1.__anon1.constant = PrintInt64((long long)value);
 exp->type = 2;
 }
 }
@@ -12554,7 +12632,7 @@ uintptr_t value = 0;
 if(GetUIntPtr(e, &value))
 {
 FreeExpContents(exp);
-exp->constant = PrintUInt64((uint64)value);
+exp->__anon1.__anon1.constant = PrintUInt64((uint64)value);
 exp->type = 2;
 }
 }
@@ -12567,7 +12645,7 @@ ssize_t value = 0;
 if(GetIntSize(e, &value))
 {
 FreeExpContents(exp);
-exp->constant = PrintInt64((long long)value);
+exp->__anon1.__anon1.constant = PrintInt64((long long)value);
 exp->type = 2;
 }
 }
@@ -12578,7 +12656,7 @@ size_t value = 0;
 if(GetUIntSize(e, &value))
 {
 FreeExpContents(exp);
-exp->constant = PrintUInt64((uint64)value);
+exp->__anon1.__anon1.constant = PrintUInt64((uint64)value);
 exp->type = 2;
 }
 }
@@ -12590,7 +12668,7 @@ float value = 0;
 if(GetFloat(e, &value))
 {
 FreeExpContents(exp);
-exp->constant = PrintFloat(value);
+exp->__anon1.__anon1.constant = PrintFloat(value);
 exp->type = 2;
 }
 break;
@@ -12602,7 +12680,7 @@ double value = 0;
 if(GetDouble(e, &value))
 {
 FreeExpContents(exp);
-exp->constant = PrintDouble(value);
+exp->__anon1.__anon1.constant = PrintDouble(value);
 exp->type = 2;
 }
 break;
@@ -12615,39 +12693,48 @@ case 12:
 {
 struct Operand op1 =
 {
-0, 0, 0, .c = 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 =
 {
-0, 0, 0, .c = 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 =
 {
-0, 0, 0, .c = 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)
@@ -12703,40 +12790,40 @@ 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->__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;
 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->__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;
 }
-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;
 if(convert->resultType)
@@ -12773,7 +12860,7 @@ result = MatchTypes(exp->expType, exp->destType, (((void *)0)), (((void *)0)), (
 }
 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))
+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 = 0x1;
 }
 }
@@ -12822,17 +12909,17 @@ ListAdd(unionDefs, MkClassDefDeclaration(MkStructDeclaration(MkListOne(MkSpecifi
 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));
 break;
 }
 }
@@ -12871,28 +12958,28 @@ ListAdd(unionDefs, MkClassDefDeclaration(MkStructDeclaration(MkListOne(MkSpecifi
 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));
+exp->__anon1.list = MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName(exp->expType->__anon1._class->string)), (((void *)0))), newExp));
 newExp->needCast = 0x1;
-ProcessExpressionType((*exp->list).first);
+ProcessExpressionType((*exp->__anon1.list).first);
 break;
 }
 }
@@ -12900,7 +12987,7 @@ default:
 {
 if(exp->expType->kind == 20)
 {
-struct Type * type = ProcessTemplateParameterType(exp->expType->templateParameter);
+struct Type * type = ProcessTemplateParameterType(exp->expType->__anon1.templateParameter);
 
 if(type)
 {
@@ -12910,12 +12997,12 @@ FreeType(exp->expType);
 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
 {
@@ -12927,9 +13014,9 @@ typeString[0] = '\0';
 PrintType(exp->expType, typeString, 0x0, 0x0);
 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 = 0x1;
 }
 break;
 }
@@ -13043,24 +13130,24 @@ symbol = (struct Symbol *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree
 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;
+symbol->__anon2.__anon1.pointerExternal->symbol = symbol;
 DeclareType(symbol->type, 0x1, 0x1);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), curExternal->prev, symbol->pointerExternal);
+__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;
 }
 }
@@ -13075,11 +13162,11 @@ switch(type->kind)
 {
 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, 0x0);
+GetTypeSpecs(type->__anon1._class->__anon1.registered->dataType, specs);
 }
 break;
 }
@@ -13120,10 +13207,10 @@ char size[256];
 
 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);
 }
@@ -13138,7 +13225,7 @@ switch(type->kind)
 {
 case 8:
 {
-struct Symbol * c = type->_class;
+struct Symbol * c = type->__anon1._class;
 
 if(type->classObjectType == 2)
 strcat(string, "typed_object");
@@ -13147,7 +13234,7 @@ strcat(string, "any_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, " &");
@@ -13184,10 +13271,10 @@ case 7:
 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);
@@ -13196,7 +13283,7 @@ else
 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);
 strcat(string, "; ");
@@ -13205,10 +13292,10 @@ 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);
@@ -13219,10 +13306,10 @@ strcat(string, "(unnamed)");
 }
 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);
@@ -13234,11 +13321,11 @@ strcat(string, "...");
 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");
@@ -13292,17 +13379,17 @@ if((type->kind == 11 || type->kind == 16) && (!parentType || parentType->kind !=
 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, " *");
@@ -13316,7 +13403,7 @@ PrintTypeSpecs(type, string, fullName, printConst);
 
 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);
@@ -13325,7 +13412,7 @@ else if(type->kind == 11)
 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);
 if(param->next)
@@ -13334,17 +13421,17 @@ 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")))
 {
@@ -13398,7 +13485,7 @@ 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)
 {
@@ -13417,7 +13504,7 @@ struct Type * FindMemberAndOffset(struct Type * type, char * string, unsigned in
 {
 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)
 {
@@ -13477,7 +13564,7 @@ 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));
@@ -13512,7 +13599,7 @@ if(!strcmp(baseClass->dataTypeString, "int"))
 sprintf(constant, "%d", (int)value->data);
 else
 sprintf(constant, "0x%X", (int)value->data);
-exp->constant = __ecereNameSpace__ecere__sys__CopyString(constant);
+exp->__anon1.__anon1.constant = __ecereNameSpace__ecere__sys__CopyString(constant);
 exp->expType = MkClassType(baseClass->fullName);
 break;
 }
@@ -13527,7 +13614,7 @@ 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->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;
 }
@@ -13557,10 +13644,10 @@ if(classProp->constant)
 {
 FreeExpContents(exp);
 exp->isConstant = 0x1;
-if(classProp->dataType->kind == 13 && classProp->dataType->type->kind == 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
 {
@@ -13568,7 +13655,7 @@ char constant[256];
 
 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
@@ -13670,13 +13757,13 @@ if(e && e->expType)
 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
 {
@@ -13686,32 +13773,32 @@ struct Symbol * classSym;
 PrintTypeNoConst(type, string, 0x0, 0x1);
 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)
 {
@@ -13729,7 +13816,7 @@ else if(!e->byReference || (_class && _class->type == 5))
 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)
 {
@@ -13755,12 +13842,12 @@ struct __ecereNameSpace__ecere__sys__OldList * stmts = MkList();
 
 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");
@@ -13773,25 +13860,25 @@ e->destType->refCount = 1;
 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);
@@ -13801,9 +13888,9 @@ checkedExp->destType = (((void *)0));
 checkedExp->expType = (((void *)0));
 __ecereMethod_Expression_Clear(checkedExp);
 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;
 }
 }
 }
@@ -13812,7 +13899,7 @@ checkedExp->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)
 {
@@ -13827,15 +13914,15 @@ thisExp->prev = (((void *)0));
 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 = 0x1;
 {
 e->expType = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
 CopyTypeInto(e->expType, thisExp->expType);
 e->expType->byReference = 0x0;
 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;
 }
@@ -13848,7 +13935,7 @@ if(destType->kind == 14)
 {
 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);
@@ -13859,7 +13946,7 @@ struct Type * type;
 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;
@@ -13876,12 +13963,12 @@ 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;
@@ -13890,8 +13977,8 @@ e->expType->refCount = 1;
 else
 {
 e->type = 11;
-e->cast.typeName = MkTypeName(specs, decl);
-e->cast.exp = thisExp;
+e->__anon1.cast.typeName = MkTypeName(specs, decl);
+e->__anon1.cast.exp = thisExp;
 e->byReference = 0x1;
 e->expType = type;
 type->refCount++;
@@ -13908,67 +13995,67 @@ exp->loc = *loc;
 switch(exp->type)
 {
 case 4:
-if(exp->op.exp1)
-ApplyLocation(exp->op.exp1, loc);
-if(exp->op.exp2)
-ApplyLocation(exp->op.exp2, loc);
+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->list)
+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)
 ApplyLocation(e, loc);
 }
 break;
 case 6:
-if(exp->index.index)
+if(exp->__anon1.index.index)
 {
 struct Expression * e;
 
-for(e = (*exp->index.index).first; e; e = e->next)
+for(e = (*exp->__anon1.index.index).first; e; e = e->next)
 ApplyLocation(e, loc);
 }
-if(exp->index.exp)
-ApplyLocation(exp->index.exp, loc);
+if(exp->__anon1.index.exp)
+ApplyLocation(exp->__anon1.index.exp, loc);
 break;
 case 7:
-if(exp->call.arguments)
+if(exp->__anon1.call.arguments)
 {
 struct Expression * arg;
 
-for(arg = (*exp->call.arguments).first; arg; arg = arg->next)
+for(arg = (*exp->__anon1.call.arguments).first; arg; arg = arg->next)
 ApplyLocation(arg, loc);
 }
-if(exp->call.exp)
-ApplyLocation(exp->call.exp, loc);
+if(exp->__anon1.call.exp)
+ApplyLocation(exp->__anon1.call.exp, loc);
 break;
 case 8:
 case 9:
-if(exp->member.exp)
-ApplyLocation(exp->member.exp, loc);
+if(exp->__anon1.member.exp)
+ApplyLocation(exp->__anon1.member.exp, loc);
 break;
 case 11:
-if(exp->cast.exp)
-ApplyLocation(exp->cast.exp, loc);
+if(exp->__anon1.cast.exp)
+ApplyLocation(exp->__anon1.cast.exp, loc);
 break;
 case 12:
-if(exp->cond.exp)
+if(exp->__anon1.cond.exp)
 {
 struct Expression * e;
 
-for(e = (*exp->cond.exp).first; e; e = e->next)
+for(e = (*exp->__anon1.cond.exp).first; e; e = e->next)
 ApplyLocation(e, loc);
 }
-if(exp->cond.cond)
-ApplyLocation(exp->cond.cond, loc);
-if(exp->cond.elseExp)
-ApplyLocation(exp->cond.elseExp, 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->vaArg.exp)
-ApplyLocation(exp->vaArg.exp, loc);
+if(exp->__anon1.vaArg.exp)
+ApplyLocation(exp->__anon1.vaArg.exp, loc);
 break;
 default:
 break;
@@ -14027,20 +14114,20 @@ switch(exp->type)
 {
 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)
 {
 exp->expType = ProcessTypeString("ecere::com::Class", 0x1);
 break;
 }
-else if(id->_class && (id->classSym || (id->_class->name && !strcmp(id->_class->name, "property"))))
+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)
@@ -14048,12 +14135,12 @@ 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, 0x0))
 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, 0x0, id->_class && id->_class->__anon1.__anon1.name == (((void *)0)));
 
 if(!symbol)
 {
@@ -14075,13 +14162,13 @@ else if(currentClass && !id->_class)
 if(ResolveIdWithClass(exp, currentClass, 0x1))
 break;
 }
-symbol = FindSymbol(id->string, topContext->parent, globalContext, 0x0, id->_class && id->_class->name == (((void *)0)));
+symbol = FindSymbol(id->string, topContext->parent, globalContext, 0x0, 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)
 {
@@ -14112,17 +14199,17 @@ 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);
 }
@@ -14133,7 +14220,7 @@ else
 {
 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];
 
@@ -14180,7 +14267,7 @@ if(parsedExpression)
 {
 FreeIdentifier(id);
 exp->type = 5;
-exp->list = MkListOne(parsedExpression);
+exp->__anon1.list = MkListOne(parsedExpression);
 ApplyLocation(parsedExpression, &yylloc);
 ProcessExpressionType(exp);
 definedExpStackPos--;
@@ -14200,7 +14287,7 @@ else
 {
 struct GlobalData * data = (((void *)0));
 
-if(thisNameSpace && !(id->_class && !id->_class->name))
+if(thisNameSpace && !(id->_class && !id->_class->__anon1.__anon1.name))
 {
 char name[1024];
 
@@ -14227,7 +14314,7 @@ else
 {
 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];
 
@@ -14271,18 +14358,18 @@ 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;
 }
@@ -14290,7 +14377,7 @@ case 2:
 {
 if(!exp->expType)
 {
-char * constant = exp->constant;
+char * constant = exp->__anon1.__anon1.constant;
 struct Type * type = (type = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type), type->refCount = 1, type->constant = 0x1, type);
 
 exp->expType = type;
@@ -14304,9 +14391,9 @@ unsigned int ch = __ecereNameSpace__ecere__sys__UTF8GetChar(constant + 1, &nb);
 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->__anon1._class = FindClass("unichar");
 type->isSigned = 0x0;
 }
 else
@@ -14388,7 +14475,7 @@ exp->isConstant = 0x1;
 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;
@@ -14398,24 +14485,24 @@ 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, 0x0, 0x0);
 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, 0x0, 0x0);
 break;
 case 4:
 {
@@ -14424,10 +14511,10 @@ struct Type * type1 = (((void *)0)), * type2 = (((void *)0));
 unsigned int useDestType = 0x0, useSideType = 0x0;
 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));
+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:
@@ -14481,27 +14568,27 @@ useDestType = 0x1;
 break;
 case '&':
 case '*':
-if(exp->op.exp1)
+if(exp->__anon1.op.exp1)
 {
 useSideType = 0x1;
 useDestType = 0x1;
 }
 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, 0x0, 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);
@@ -14509,63 +14596,63 @@ break;
 }
 }
 }
-if(exp->op.exp1)
+if(exp->__anon1.op.exp1)
 {
-if(exp->op.exp2 && useSideUnit && useDestType && destClass && destClass->type == 3 && destClass->base->type != 3)
+if(exp->__anon1.op.exp2 && useSideUnit && useDestType && destClass && destClass->type == 3 && destClass->base->type != 3)
 useDestType = 0x0;
 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 = 0x1;
 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 = 0x0;
+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;
+exp->__anon1.op.exp2 = MkExpConstant("1");
+exp->__anon1.op.op = exp->__anon1.op.op == INC_OP ? ADD_ASSIGN : SUB_ASSIGN;
 assign = 0x1;
 }
-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 = 0x1;
 if(exp->destType)
 exp->destType->refCount++;
 }
@@ -14576,29 +14663,29 @@ exp->expType = type1;
 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++;
 }
@@ -14609,65 +14696,65 @@ exp->expType = type1;
 }
 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 = 0x1;
 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 = 0x1;
 }
-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 = 0x0;
+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)
@@ -14677,25 +14764,25 @@ char type2String[1024];
 
 type1String[0] = '\0';
 type2String[0] = '\0';
-PrintType(exp->op.exp2->expType, type1String, 0x0, 0x1);
+PrintType(exp->__anon1.op.exp2->expType, type1String, 0x0, 0x1);
 PrintType(type1, type2String, 0x0, 0x1);
 __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);
+CopyTypeInto(type2, exp->__anon1.op.exp2->expType);
 type2->isSigned = 0x1;
 }
-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);
@@ -14707,13 +14794,13 @@ type2->isSigned = 0x1;
 }
 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);
@@ -14722,117 +14809,117 @@ __ecereInstance1->refCount = 1, __ecereInstance1->kind = 23, __ecereInstance1;
 });
 exp->isConstant = 0x1;
 }
-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;
 }
-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 = 0x1;
+if(!exp->__anon1.op.exp1->expType)
+ProcessExpressionType(exp->__anon1.op.exp1);
 else
-CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0, 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, 0x0, 0x0);
+FreeType(exp->__anon1.op.exp1->expType);
+exp->__anon1.op.exp1->expType = MkClassType("bool");
+exp->__anon1.op.exp1->expType->truth = 0x1;
+}
+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 = 0x1;
+if(!exp->__anon1.op.exp2->expType)
+ProcessExpressionType(exp->__anon1.op.exp2);
 else
-CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0, 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, 0x0, 0x0);
+FreeType(exp->__anon1.op.exp2->expType);
+exp->__anon1.op.exp2->expType = MkClassType("bool");
+exp->__anon1.op.exp2->expType->truth = 0x1;
 }
 }
-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, 0x0);
+if(!type2->__anon1._class->__anon1.registered->dataType)
+type2->__anon1._class->__anon1.registered->dataType = ProcessTypeString(type2->__anon1._class->__anon1.registered->dataTypeString, 0x0);
+intType = ProcessTypeString((type1->__anon1._class->__anon1.registered->dataType->kind == 4 || type2->__anon1._class->__anon1.registered->dataType->kind == 4) ? "int64" : "int", 0x0);
+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, 0x1);
 
 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, '*', 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->__anon1.op.exp2->expType)
 {
 if(type2)
 FreeType(type2);
-type2 = exp->op.exp2->expType = ProcessTypeString("int", 0x0);
+type2 = exp->__anon1.op.exp2->expType = ProcessTypeString("int", 0x0);
 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)
@@ -14848,11 +14935,11 @@ unsigned int success = 0x0;
 
 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, 0x0))
+if(MatchTypes(type1->__anon1.type, type2->__anon1.type, (((void *)0)), (((void *)0)), (((void *)0)), 0x0, 0x0, 0x0, 0x0, 0x0))
 {
 exp->expType = __extension__ ({
 struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
@@ -14860,9 +14947,9 @@ struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__e
 __ecereInstance1->kind = 3, __ecereInstance1->refCount = 1, __ecereInstance1;
 });
 success = 0x1;
-if(type1->type->kind == 20)
+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, 0x1);
 
 if(argExp)
 {
@@ -14870,8 +14957,8 @@ struct Expression * classExp = MkExpMember(argExp, MkIdentifier("dataTypeClass")
 
 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)))))), '/', 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->__anon1.list).first)->__anon1.op.exp2);
 FreeType(dummy);
 return ;
 }
@@ -14879,45 +14966,45 @@ 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, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp1->destType, 0x0, 0x0))
 {
 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++;
 success = 0x1;
 }
-else if(CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0, 0x0))
+else if(CheckExpressionType(exp->__anon1.op.exp2, exp->__anon1.op.exp2->destType, 0x0, 0x0))
 {
 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++;
 success = 0x1;
 }
 }
 else if(!success)
 {
-if(CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp2, exp->__anon1.op.exp2->destType, 0x0, 0x0))
 {
 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++;
 success = 0x1;
 }
-else if(CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0, 0x0))
+else if(CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp1->destType, 0x0, 0x0))
 {
 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++;
 success = 0x1;
 }
 }
@@ -14934,37 +15021,37 @@ type1[0] = '\0';
 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, 0x0, 0x1);
+PrintType(exp->__anon1.op.exp2->expType, type2, 0x0, 0x1);
 }
 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, 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, 0x0, 0x0);
 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, 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, 0x0, 0x0);
 exp->expType = type1;
 if(type1)
 type1->refCount++;
@@ -14973,91 +15060,91 @@ else if(type1)
 {
 unsigned int valid = 0x0;
 
-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, 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, 0x0);
+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, 0x0, 0x0);
 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, 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, 0x0);
+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, 0x0, 0x0);
+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, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp2->expType, 0x0, 0x0))
 {
 if(exp->expType)
 FreeType(exp->expType);
-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++;
 valid = 0x1;
 }
 }
-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, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp2, exp->__anon1.op.exp1->expType, 0x0, 0x0))
 {
 if(exp->expType)
 FreeType(exp->expType);
-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++;
 valid = 0x1;
 }
 }
 }
 else
 {
-if(op1IsEnum && exp->op.exp2->expType)
+if(op1IsEnum && exp->__anon1.op.exp2->expType)
 {
-if(CheckExpressionType(exp->op.exp1, exp->op.exp2->expType, 0x0, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp2->expType, 0x0, 0x0))
 {
 if(exp->expType)
 FreeType(exp->expType);
-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++;
 valid = 0x1;
 }
 }
-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, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp2, exp->__anon1.op.exp1->expType, 0x0, 0x0))
 {
 if(exp->expType)
 FreeType(exp->expType);
-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++;
 valid = 0x1;
 }
 }
@@ -15065,34 +15152,34 @@ valid = 0x1;
 }
 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, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp1->destType, 0x0, 0x0))
 {
 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, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp2, exp->__anon1.op.exp2->destType, 0x0, 0x0))
 {
 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)
 {
@@ -15107,25 +15194,25 @@ type1String[0] = '\0';
 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, 0x0, 0x1);
+PrintType(exp->__anon1.op.exp2->expType, type2String, 0x0, 0x1);
 }
 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++;
 }
 }
 }
@@ -15133,42 +15220,42 @@ exp->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, 0x0))
+exp->__anon1.op.exp1->expType = (((void *)0));
+if(CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp1->destType, 0x0, 0x0))
 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, 0x0))
+if(CheckExpressionType(exp->__anon1.op.exp1, exp->__anon1.op.exp1->destType, 0x0, 0x0))
 {
 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, 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, 0x0, 0x0);
 }
-if(exp->op.op == '!')
+if(exp->__anon1.op.op == '!')
 {
 exp->expType = MkClassType("bool");
 exp->expType->truth = 0x1;
@@ -15182,14 +15269,14 @@ type2->refCount++;
 }
 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, 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, 0x0, 0x0);
 }
 exp->expType = type1;
 if(type1)
@@ -15197,27 +15284,27 @@ type1->refCount++;
 }
 }
 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])
@@ -15229,11 +15316,11 @@ FreeType(exp->expType);
 exp->expType = MkClassType("bool");
 exp->expType->truth = 0x1;
 }
-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, 0x0, 0x0);
 }
 yylloc = oldyylloc;
 FreeType(dummy);
@@ -15247,7 +15334,7 @@ case 32:
 struct Expression * e;
 
 exp->isConstant = 0x1;
-for(e = (*exp->list).first; e; e = e->next)
+for(e = (*exp->__anon1.list).first; e; e = e->next)
 {
 unsigned int inced = 0x0;
 
@@ -15275,14 +15362,14 @@ e->expType->refCount++;
 if(!e->isConstant)
 exp->isConstant = 0x0;
 }
-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;
@@ -15296,24 +15383,24 @@ case 6:
 struct Expression * e;
 
 exp->isConstant = 0x1;
-ProcessExpressionType(exp->index.exp);
-if(!exp->index.exp->isConstant)
+ProcessExpressionType(exp->__anon1.index.exp);
+if(!exp->__anon1.index.exp->isConstant)
 exp->isConstant = 0x0;
-if(exp->index.exp->expType)
+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, 0x0);
+if(exp->__anon1.index.index && (*exp->__anon1.index.index).last)
 {
-struct Type * type = ProcessTypeString(_class->templateArgs[1].dataTypeString, 0x0);
+struct Type * type = ProcessTypeString(_class->templateArgs[1].__anon1.__anon1.dataTypeString, 0x0);
 
 if(type->kind == 8)
 type->constant = 0x1;
@@ -15322,21 +15409,21 @@ else if(type->kind == 13)
 struct Type * t = type;
 
 while(t->kind == 13)
-t = t->type;
+t = t->__anon1.type;
 t->constant = 0x1;
 }
-((struct Expression *)(*exp->index.index).last)->destType = type;
+((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)
@@ -15346,7 +15433,7 @@ if(!e->isConstant)
 exp->isConstant = 0x0;
 }
 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);
 break;
@@ -15361,29 +15448,29 @@ char name[1024];
 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);
+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);
+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"))
@@ -15392,28 +15479,28 @@ struct Expression * a = (((void *)0));
 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))
@@ -15434,7 +15521,7 @@ tempExp1 = QMkExpId(temp1);
 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)
 {
@@ -15444,12 +15531,12 @@ tempExp2 = QMkExpId(temp2);
 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);
 }
 }
 }
@@ -15457,21 +15544,21 @@ if(!strcmp(id->string, "Max") || !strcmp(id->string, "Min"))
 {
 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"))))));
+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", 0x0);
 }
 FreeExpression(tempExp1);
@@ -15485,35 +15572,35 @@ break;
 {
 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));
+functionType->__anon1.__anon2.thisClass = (((void *)0));
 PrintType(functionType, typeString, 0x1, 0x1);
-functionType->thisClass = back;
+functionType->__anon1.__anon2.thisClass = back;
 }
 if(strstr(typeString, "thisclass"))
 {
@@ -15521,16 +15608,16 @@ struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
 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))
+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 = 0x0;
-ReplaceThisClassSpecifiers(specs, exp->call.exp->expType->usedClass);
+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;
 }
@@ -15544,13 +15631,13 @@ FreeDeclarator(decl);
 }
 }
 }
-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;
@@ -15562,45 +15649,45 @@ Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "called object
 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));
+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)
+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;
@@ -15618,16 +15705,16 @@ for(; e; e = e->next)
 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;
 
@@ -15642,7 +15729,7 @@ sClass = sClass->templateClass;
 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;
 
@@ -15660,7 +15747,7 @@ if(curParam)
 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];
@@ -15668,17 +15755,17 @@ struct __ecereNameSpace__ecere__com__ClassTemplateArgument arg = _class->templat
 {
 struct Context * context = SetupTemplatesContext(_class);
 
-templatedType = ProcessTypeString(arg.dataTypeString, 0x0);
+templatedType = ProcessTypeString(arg.__anon1.__anon1.dataTypeString, 0x0);
 FinishTemplatesContext(context);
 }
 if(templatedType->kind == 8 && constant)
 templatedType->constant = 0x1;
 else if(templatedType->kind == 13)
 {
-struct Type * t = templatedType->type;
+struct Type * t = templatedType->__anon1.type;
 
 while(t->kind == 13)
-t = t->type;
+t = t->__anon1.type;
 if(constant)
 t->constant = constant;
 }
@@ -15720,10 +15807,10 @@ type = next;
 }
 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)
@@ -15736,21 +15823,21 @@ struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__e
 
 __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++;
 }
 }
@@ -15767,14 +15854,14 @@ globalContext->hasNameSpace = 0x1;
 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;
@@ -15783,15 +15870,15 @@ __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)
+for(e = (*exp->__anon1.call.arguments).first; e; e = e->next)
 {
 struct Type * destType = e->destType;
 
@@ -15805,31 +15892,31 @@ 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;
 }
 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))
 {
@@ -15840,42 +15927,42 @@ if(_class)
 {
 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;
@@ -15907,12 +15994,12 @@ for(nextClass = sClass->base; nextClass; nextClass = nextClass->base)
 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;
 }
 }
@@ -15928,9 +16015,9 @@ case 2:
 {
 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);
@@ -15944,17 +16031,17 @@ break;
 }
 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;
 }
@@ -15993,23 +16080,23 @@ 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;
@@ -16020,13 +16107,13 @@ if(typeKind == 3 || typeKind == 15)
 _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)
 {
@@ -16043,7 +16130,7 @@ struct Symbol * classSym;
 PrintTypeNoConst(type, string, 0x0, 0x1);
 classSym = FindClass(string);
 if(classSym)
-_class = classSym->registered;
+_class = classSym->__anon1.registered;
 }
 }
 }
@@ -16055,16 +16142,16 @@ struct __ecereNameSpace__ecere__com__DataMember * member = (((void *)0));
 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)
@@ -16073,7 +16160,7 @@ member = (((void *)0));
 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 = 0x1;
 }
 else
 {
@@ -16082,8 +16169,8 @@ unsigned int useMemberForNonConst = 0x0;
 if(!id->classSym)
 {
 prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, id->string, (((void *)0)));
-useMemberForNonConst = prop && exp->destType && ((exp->destType->kind == 8 && !exp->destType->constant) || ((exp->destType->kind == 13 || exp->destType->kind == 12) && exp->destType->type && !exp->destType->type->constant)) && !strncmp(prop->dataTypeString, "const ", 6);
-if(useMemberForNonConst || !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 || useMemberForNonConst) && !member)
@@ -16092,8 +16179,8 @@ method = useMemberForNonConst ? (((void *)0)) : __ecereNameSpace__ecere__com__eC
 if(!method)
 {
 prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, id->string, privateModule);
-useMemberForNonConst |= prop && exp->destType && ((exp->destType->kind == 8 && !exp->destType->constant) || ((exp->destType->kind == 13 || exp->destType->kind == 12) && exp->destType->type && !exp->destType->type->constant)) && !strncmp(prop->dataTypeString, "const ", 6);
-if(useMemberForNonConst || !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)));
 }
 }
@@ -16112,26 +16199,26 @@ if(!prop && !member && !method)
 {
 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->__anon1.member.memberType = 5;
 exp->expType = ProcessTypeString(classProp->dataTypeString, 0x0);
 }
 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);
 strcpy(structName, "__ecereClassData_");
-FullClassNameCat(structName, type->_class->string, 0x0);
+FullClassNameCat(structName, type->__anon1._class->string, 0x0);
 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 ;
@@ -16143,7 +16230,7 @@ struct Symbol * classSym = FindClass(id->string);
 
 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);
@@ -16152,7 +16239,7 @@ revConvert = __ecereNameSpace__ecere__com__eClass_FindProperty(convertClass, _cl
 }
 if(prop)
 {
-exp->member.memberType = 1;
+exp->__anon1.member.memberType = 1;
 if(!prop->dataType)
 ProcessPropertyType(prop);
 exp->expType = prop->dataType;
@@ -16170,15 +16257,15 @@ 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;
+exp->__anon1.member.memberType = 3;
 DeclareStruct(_class->fullName, 0x0);
 if(!member->dataType)
 {
@@ -16193,36 +16280,36 @@ member->dataType->refCount++;
 }
 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);
@@ -16234,7 +16321,7 @@ struct __ecereNameSpace__ecere__com__Class * tClass;
 tClass = _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));
@@ -16247,7 +16334,7 @@ if(sClass->templateClass)
 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;
@@ -16258,22 +16345,22 @@ id++;
 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, 0x0);
 if(exp->expType->kind == 8 && constant)
 exp->expType->constant = 0x1;
 else if(exp->expType->kind == 13)
 {
-struct Type * t = exp->expType->type;
+struct Type * t = exp->expType->__anon1.type;
 
 while(t->kind == 13)
-t = t->type;
+t = t->__anon1.type;
 if(constant)
 t->constant = constant;
 }
@@ -16288,15 +16375,15 @@ if(tClass->templateClass)
 exp->expType->passAsTemplate = 0x1;
 if(!exp->destType)
 {
-exp->destType = ProcessTypeString(arg.dataTypeString, 0x0);
+exp->destType = ProcessTypeString(arg.__anon1.__anon1.dataTypeString, 0x0);
 if(exp->destType->kind == 8 && constant)
 exp->destType->constant = 0x1;
 else if(exp->destType->kind == 13)
 {
-struct Type * t = exp->destType->type;
+struct Type * t = exp->destType->__anon1.type;
 
 while(t->kind == 13)
-t = t->type;
+t = t->__anon1.type;
 if(constant)
 t->constant = constant;
 }
@@ -16310,7 +16397,7 @@ exp->destType = ReplaceThisClassType(_class);
 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));
@@ -16323,7 +16410,7 @@ if(sClass->templateClass)
 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;
@@ -16340,7 +16427,7 @@ struct __ecereNameSpace__ecere__com__ClassTemplateArgument arg = tClass->templat
 struct Context * context = SetupTemplatesContext(tClass);
 struct Type * basicType;
 
-basicType = ProcessTypeString(arg.dataTypeString, 0x0);
+basicType = ProcessTypeString(arg.__anon1.__anon1.dataTypeString, 0x0);
 if(basicType)
 {
 if(basicType->kind == 21)
@@ -16352,7 +16439,7 @@ FreeType(exp->expType);
 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)
 {
@@ -16364,23 +16451,23 @@ struct Expression * newExp = __ecereNameSpace__ecere__com__eInstance_New(__ecere
 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)
 {
@@ -16438,9 +16525,9 @@ case 2:
 {
 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);
@@ -16454,13 +16541,13 @@ break;
 }
 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;
 }
 }
@@ -16501,11 +16588,11 @@ 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)
 {
@@ -16530,8 +16617,8 @@ if(exp->expType && exp->expType->kind == 21 && (!exp->destType || exp->destType-
 {
 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)
 {
@@ -16547,11 +16634,11 @@ case 9:
 {
 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++;
@@ -16562,27 +16649,27 @@ 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->type == 5)
+if(classSym->__anon1.registered->type == 5)
 {
 char name[1024];
 
 name[0] = '\0';
 DeclareStruct(classSym->string, 0x0);
-FreeSpecifier(exp->_class);
+FreeSpecifier(exp->__anon1._class);
 exp->type = 10;
 FullClassNameCat(name, classSym->string, 0x0);
-exp->typeName = MkTypeName(MkListOne(MkStructOrUnion(3, MkIdentifier(name), (((void *)0)))), (((void *)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
@@ -16595,8 +16682,8 @@ MangleClassName(className);
 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");
 }
 }
 }
@@ -16609,7 +16696,7 @@ 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);
@@ -16623,28 +16710,28 @@ 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++;
 type->casted = 0x1;
-ProcessExpressionType(exp->cast.exp);
+ProcessExpressionType(exp->__anon1.cast.exp);
 type->casted = 0x0;
 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);
@@ -16656,22 +16743,22 @@ 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;
 }
@@ -16680,13 +16767,13 @@ case 12:
 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)
+FreeType(exp->__anon1.cond.cond->destType);
+exp->__anon1.cond.cond->destType = MkClassType("bool");
+exp->__anon1.cond.cond->destType->truth = 0x1;
+ProcessExpressionType(exp->__anon1.cond.cond);
+if(!exp->__anon1.cond.cond->isConstant)
 exp->isConstant = 0x0;
-for(e = (*exp->cond.exp).first; e; e = e->next)
+for(e = (*exp->__anon1.cond.exp).first; e; e = e->next)
 {
 if(!e->next)
 {
@@ -16705,29 +16792,29 @@ e->expType->refCount++;
 if(!e->isConstant)
 exp->isConstant = 0x0;
 }
-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)
+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 = 0x0;
 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++;
 }
@@ -16735,11 +16822,11 @@ break;
 }
 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;
 }
@@ -16756,19 +16843,19 @@ struct __ecereNameSpace__ecere__com__Class * _class = thisClass ? thisClass : cu
 
 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);
 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, 0x0, 0x0))
 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 ;
 }
@@ -16780,17 +16867,17 @@ struct Type * type = (((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)
@@ -16807,7 +16894,7 @@ if(!MatchTypeExpression(e, type, (((void *)0)), 0x0, 0x1))
 FreeType(type);
 type = e->expType;
 e->expType = (((void *)0));
-e = (*exp->list).first;
+e = (*exp->__anon1.list).first;
 ProcessExpressionType(e);
 if(e->expType)
 {
@@ -16848,42 +16935,42 @@ struct Expression * expExt;
 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)
+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);
 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);
+ProcessExpressionType(((struct Initializer *)(*structInitializers).last)->__anon1.exp);
 exp->expType = ProcessTypeString(templateString, 0x0);
 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
@@ -16899,35 +16986,35 @@ if(exp->expType && exp->expType->kind == 21 && thisClass && (!exp->destType || e
 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, 0x1, 0x0);
 
 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;
 
-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);
 
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&exp->expType->members, value);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&exp->expType->__anon1.__anon1.members, value);
 }
 }
 }
@@ -16994,7 +17081,7 @@ if(inCompiler)
 PrintType(exp->expType, type1, 0x0, 0x1);
 PrintType(exp->destType, type2, 0x0, 0x1);
 }
-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
 {
@@ -17032,16 +17119,16 @@ 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;
+exp->__anon1.cast.typeName = MkTypeName(specs, decl);
+exp->__anon1.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)
 {
@@ -17057,7 +17144,7 @@ Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "couldn't dete
 }
 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;
 }
@@ -17127,30 +17214,30 @@ static void ProcessInitializer(struct Initializer * init, struct Type * type)
 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)
@@ -17159,9 +17246,9 @@ if(members->type == 0)
 {
 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));
 }
 }
@@ -17181,12 +17268,12 @@ int subMemberStackPos = 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)
@@ -17202,7 +17289,7 @@ init->isConstant = 0x0;
 }
 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))));
 }
@@ -17221,13 +17308,13 @@ switch(spec->type)
 {
 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);
 }
 }
@@ -17235,21 +17322,21 @@ break;
 }
 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);
+else if((symbol = spec->__anon1.__anon1.symbol) && symbol->__anon1.registered && symbol->__anon1.registered->type == 1 && declareStruct)
+DeclareStruct(spec->__anon1.__anon1.name, 0x0);
 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);
@@ -17260,12 +17347,12 @@ break;
 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;
 }
@@ -17277,15 +17364,15 @@ static void ProcessDeclarator(struct Declarator * decl)
 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:
@@ -17302,22 +17389,22 @@ if(id && id->_class)
 {
 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);
@@ -17327,10 +17414,10 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*newParam->qualifie
 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;
 
@@ -17340,13 +17427,13 @@ 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);
+spec->__anon1.__anon1.name = ReplaceThisClass(thisClass);
+spec->__anon1.__anon1.symbol = FindClass(spec->__anon1.__anon1.name);
 ProcessSpecifier(spec, 0x0);
 }
 }
@@ -17373,33 +17460,33 @@ case 1:
 {
 unsigned int declareStruct = 0x0;
 
-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;
 }
 }
 }
@@ -17413,7 +17500,7 @@ break;
 else if(subType->kind == 13)
 break;
 else if(subType->kind == 12)
-subType = subType->arrayType;
+subType = subType->__anon1.__anon4.arrayType;
 else
 break;
 }
@@ -17422,11 +17509,11 @@ if(!d)
 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);
 }
@@ -17435,7 +17522,7 @@ break;
 }
 case 2:
 {
-ProcessInstantiationType(decl->inst);
+ProcessInstantiationType(decl->__anon1.inst);
 break;
 }
 case 0:
@@ -17444,11 +17531,11 @@ struct Specifier * spec;
 struct Declarator * d;
 unsigned int declareStruct = 0x0;
 
-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);
@@ -17462,16 +17549,16 @@ 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;
@@ -17503,23 +17590,23 @@ 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"))))
+if(curFunction->propSet && !strcmp(curFunction->propSet->string, prop->name) && (!object || (object->type == 0 && !strcmp(object->__anon1.__anon1.identifier->string, "this"))))
 curFunction->propSet->fireWatchersDone = 0x1;
 }
 
@@ -17545,41 +17632,41 @@ yylloc = stmt->loc;
 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;
@@ -17591,9 +17678,9 @@ case 3:
 {
 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;
@@ -17602,28 +17689,28 @@ case 4:
 {
 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 = 0x1;
+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)
 {
@@ -17633,82 +17720,82 @@ 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 = 0x1;
+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 = 0x1;
 }
-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 = 0x1;
 }
-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;
 const char * typeString = (((void *)0));
 int builtinCount = 0;
@@ -17724,9 +17811,9 @@ 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;
@@ -17735,59 +17822,59 @@ struct __ecereNameSpace__ecere__com__Class * linkListClass = __ecereNameSpace__e
 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");
 
 isCustomAVLTree = 0x1;
-if(__ecereNameSpace__ecere__com__eClass_IsDerived(source->_class->registered, mapClass))
+if(__ecereNameSpace__ecere__com__eClass_IsDerived(source->__anon1._class->__anon1.registered, mapClass))
 isMap = 0x1;
 }
-else if(source && __ecereNameSpace__ecere__com__eClass_IsDerived(source->_class->registered, arrayClass))
+else if(source && __ecereNameSpace__ecere__com__eClass_IsDerived(source->__anon1._class->__anon1.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, 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);
+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)
@@ -17804,7 +17891,7 @@ if(!MatchTypeExpression(e, type, (((void *)0)), 0x0, 0x1))
 FreeType(type);
 type = e->expType;
 e->expType = (((void *)0));
-e = (*arrayExp->list).first;
+e = (*arrayExp->__anon1.list).first;
 ProcessExpressionType(e);
 if(e->expType)
 {
@@ -17840,26 +17927,26 @@ struct __ecereNameSpace__ecere__sys__OldList * initializers = MkList();
 struct Declarator * decl;
 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
 
-if(arrayExp->list)
+if(arrayExp->__anon1.list)
 {
 struct Expression * e;
 
-builtinCount = (*arrayExp->list).count;
+builtinCount = (*arrayExp->__anon1.list).count;
 type = ProcessTypeString(typeString, 0x0);
-while(e = (*arrayExp->list).first)
+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
@@ -17873,17 +17960,17 @@ else if(isLinkList && !isList)
 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);
 if(block)
@@ -17891,34 +17978,34 @@ 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;
 }
 }
@@ -17928,52 +18015,52 @@ block = MkIfStmt(filter, block, (((void *)0)));
 }
 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
@@ -17992,16 +18079,16 @@ case 12:
 {
 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++;
 }
@@ -18012,28 +18099,28 @@ break;
 }
 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);
@@ -18044,9 +18131,9 @@ break;
 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);
@@ -18060,13 +18147,13 @@ struct External * external = curExternal;
 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)));
 
@@ -18084,21 +18171,21 @@ strcat(watcherName, "_");
 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->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)
 {
@@ -18107,11 +18194,11 @@ struct __ecereNameSpace__ecere__sys__OldList * args = MkList();
 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)
@@ -18133,7 +18220,7 @@ 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);
@@ -18165,22 +18252,22 @@ break;
 }
 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));
 }
@@ -18228,9 +18315,9 @@ break;
 }
 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)
@@ -18239,7 +18326,7 @@ if(watcher)
 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)
@@ -18247,7 +18334,7 @@ if(_class)
 struct Identifier * propID;
 
 stmt->type = 3;
-stmt->expressions = MkList();
+stmt->__anon1.expressions = MkList();
 if(!watches)
 {
 struct __ecereNameSpace__ecere__sys__OldList * args;
@@ -18256,7 +18343,7 @@ args = MkList();
 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
 {
@@ -18279,7 +18366,7 @@ MangleClassName(propName);
 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);
@@ -18323,10 +18410,10 @@ struct __ecereNameSpace__ecere__com__Class * oldThisClass = thisClass;
 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;
@@ -18346,18 +18433,18 @@ 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));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(&symbol->type->__anon1.__anon2.params, (((void *)0)), MkClassType(_class->fullName));
+symbol->type->__anon1.__anon2.staticMethod = 0x1;
+symbol->type->__anon1.__anon2.thisClass = (((void *)0));
 symbol->type->extraParam = 0x0;
 }
 }
@@ -18369,13 +18456,13 @@ FullClassNameCat(structName, _class->fullName, 0x0);
 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);
 }
 }
@@ -18386,9 +18473,9 @@ struct TypeName * thisParam;
 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)
 {
@@ -18402,36 +18489,36 @@ struct TypeName * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New
 
 __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);
 }
 }
 }
@@ -18446,7 +18533,7 @@ struct Symbol * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(_
 
 __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;
@@ -18507,7 +18594,7 @@ exp = QBrackets(QMkExpCond(QMkExpId("this"), exp, MkExpConstant("0")));
 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;
@@ -18520,14 +18607,14 @@ initializer = MkInitializerAssignment(MkExpCast(MkTypeName(MkListOne(MkStructOrU
 {
 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);
 }
 }
 }
@@ -18538,9 +18625,9 @@ if(id)
 {
 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);
@@ -18548,7 +18635,7 @@ id->_class = (((void *)0));
 }
 }
 if(function->body)
-topContext = function->body->compound.context;
+topContext = function->body->__anon1.compound.context;
 {
 struct FunctionDefinition * oldFunction = curFunction;
 
@@ -18561,11 +18648,11 @@ struct Statement * prevCompound = curCompound;
 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;
@@ -18588,24 +18675,24 @@ static void ProcessClass(struct __ecereNameSpace__ecere__sys__OldList * definiti
 {
 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
@@ -18614,17 +18701,17 @@ struct __ecereNameSpace__ecere__com__Class * backThisClass = thisClass;
 
 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)));
@@ -18633,9 +18720,9 @@ thisClass = (((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)
@@ -18644,9 +18731,9 @@ if(regClass)
 {
 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)
@@ -18655,9 +18742,9 @@ if(regClass)
 {
 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)
@@ -18666,23 +18753,23 @@ if(regClass)
 {
 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);
 }
@@ -18721,11 +18808,11 @@ for(external = (*ast).first; external; external = external->next)
 {
 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)
 {
@@ -18737,7 +18824,7 @@ struct Declarator * declarator = initDecl->declarator;
 
 if(declarator && declarator->type == 1)
 {
-struct Identifier * id = declarator->identifier;
+struct Identifier * id = declarator->__anon1.identifier;
 
 if(id && id->string)
 {
@@ -18786,20 +18873,20 @@ 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);
@@ -18812,7 +18899,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*ast), external);
 }
 else if(external->type == 4)
 {
-thisNameSpace = external->id->string;
+thisNameSpace = external->__anon1.id->string;
 }
 }
 currentClass = (((void *)0));
index 6b2f85d..73b4d24 100644 (file)
@@ -206,14 +206,14 @@ struct
 {
 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;
@@ -301,7 +301,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -320,7 +320,7 @@ union
 {
 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));
@@ -342,7 +342,7 @@ float f;
 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;
@@ -359,14 +359,14 @@ struct
 {
 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
 {
@@ -445,7 +445,7 @@ 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;
@@ -491,7 +491,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -501,11 +501,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -561,7 +561,7 @@ struct
 {
 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;
@@ -605,7 +605,7 @@ struct Declaration * declaration;
 char *  importString;
 struct Identifier * id;
 struct DBTableDef * table;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 int importType;
 } __attribute__ ((gcc_struct));
 
@@ -650,7 +650,7 @@ union
 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
@@ -659,20 +659,20 @@ struct
 {
 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;
@@ -715,7 +715,7 @@ struct
 {
 struct __ecereNameSpace__ecere__sys__OldList members;
 char *  enumName;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Type * returnType;
@@ -723,13 +723,13 @@ struct __ecereNameSpace__ecere__sys__OldList params;
 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;
@@ -737,10 +737,10 @@ int arraySize;
 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;
@@ -894,7 +894,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -904,9 +904,9 @@ 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));
 
 enum yytokentype
@@ -1030,7 +1030,7 @@ union
 {
 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;
@@ -1068,7 +1068,7 @@ struct
 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;
@@ -1104,8 +1104,8 @@ struct
 {
 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));
@@ -1177,7 +1177,7 @@ struct __ecereNameSpace__ecere__sys__OldList * specifiers;
 struct Declarator * declarator;
 
 createInstancesBody = MkCompoundStmt((((void *)0)), MkList());
-createInstancesBody->compound.context = __extension__ ({
+createInstancesBody->__anon1.compound.context = __extension__ ({
 struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 
 __ecereInstance1->parent = globalContext, __ecereInstance1;
@@ -1196,7 +1196,7 @@ ProcessFunctionBody(function, createInstancesBody);
 ListAdd(ast, MkExternalFunction(function));
 }
 destroyInstancesBody = MkCompoundStmt((((void *)0)), MkList());
-destroyInstancesBody->compound.context = __extension__ ({
+destroyInstancesBody->__anon1.compound.context = __extension__ ({
 struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Context);
 
 __ecereInstance1->parent = globalContext, __ecereInstance1;
@@ -1234,17 +1234,17 @@ for(members = (*inst->members).first; members; members = members->next)
 {
 if(members->type == 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)
 ProcessMemberInitData(member);
 }
 }
 else if(members->type == 1)
 {
-ProcessFunction((struct FunctionDefinition *)members->function);
+ProcessFunction((struct FunctionDefinition *)members->__anon1.function);
 }
 }
 }
@@ -1276,7 +1276,7 @@ static void ProcessExpression(struct Expression * exp);
 
 static unsigned int ProcessInstMembers_SimpleMemberEnsure(struct __ecereNameSpace__ecere__com__DataMember * parentMember, struct Instantiation * inst, struct Expression * instExp, struct __ecereNameSpace__ecere__sys__OldList * list, unsigned int zeroOut)
 {
-struct Symbol * classSym = inst->_class->symbol;
+struct Symbol * classSym = inst->_class->__anon1.__anon1.symbol;
 unsigned int fullSet = 0x1;
 struct __ecereNameSpace__ecere__com__DataMember * dataMember;
 
@@ -1307,17 +1307,17 @@ if(members->type == 0)
 {
 struct MemberInit * member = (((void *)0));
 
-for(member = (*members->dataMembers).first; member; member = member->next)
+for(member = (*members->__anon1.dataMembers).first; member; member = member->next)
 {
 if(member->identifiers)
 {
 struct Identifier * firstID = (*member->identifiers).first;
 struct __ecereNameSpace__ecere__com__DataMember * _subMemberStack[256];
 int _subMemberStackPos = 0;
-struct __ecereNameSpace__ecere__com__DataMember * thisMember = (struct __ecereNameSpace__ecere__com__DataMember *)__ecereNameSpace__ecere__com__eClass_FindProperty(classSym->registered, firstID->string, privateModule);
+struct __ecereNameSpace__ecere__com__DataMember * thisMember = (struct __ecereNameSpace__ecere__com__DataMember *)__ecereNameSpace__ecere__com__eClass_FindProperty(classSym->__anon1.registered, firstID->string, privateModule);
 
 if(!thisMember)
-thisMember = __ecereNameSpace__ecere__com__eClass_FindDataMember(classSym->registered, firstID->string, privateModule, _subMemberStack, &_subMemberStackPos);
+thisMember = __ecereNameSpace__ecere__com__eClass_FindDataMember(classSym->__anon1.registered, firstID->string, privateModule, _subMemberStack, &_subMemberStackPos);
 if(thisMember)
 {
 if(thisMember && thisMember->memberAccess == 1)
@@ -1336,7 +1336,7 @@ break;
 }
 else
 {
-__ecereNameSpace__ecere__com__eClass_FindNextMember(classSym->registered, &curClass, &curMember, subMemberStack, &subMemberStackPos);
+__ecereNameSpace__ecere__com__eClass_FindNextMember(classSym->__anon1.registered, &curClass, &curMember, subMemberStack, &subMemberStackPos);
 if(curMember == dataMember)
 {
 memberFilled = 0x1;
@@ -1361,7 +1361,7 @@ struct Expression * setExp;
 struct Expression * value = MkExpConstant("0");
 
 memberExp = MkExpMember(instExpCopy, MkIdentifier(dataMember->name));
-memberExp->member.memberType = 3;
+memberExp->__anon1.member.memberType = 3;
 value->usage = (value->usage & ~0x1) | (((unsigned int)0x1) << 0);
 setExp = MkExpOp(memberExp, '=', value);
 value->loc = inst->loc;
@@ -1433,10 +1433,10 @@ void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(struct __ecereNam
 static unsigned int ProcessInstMembers(struct Instantiation * inst, struct Expression * instExp, struct __ecereNameSpace__ecere__sys__OldList * list, unsigned int zeroOut)
 {
 struct MembersInit * members;
-struct Symbol * classSym = inst->_class->symbol;
+struct Symbol * classSym = inst->_class->__anon1.__anon1.symbol;
 unsigned int fullSet = 0x1, convert = 0x0;
 
-if(classSym && classSym->registered && classSym->registered->type == 2)
+if(classSym && classSym->__anon1.registered && classSym->__anon1.registered->type == 2)
 {
 struct Expression * exp = (((void *)0));
 
@@ -1444,12 +1444,12 @@ if(inst->members && (*inst->members).first)
 {
 struct __ecereNameSpace__ecere__com__Class * _class = (((void *)0));
 
-while(_class != classSym->registered)
+while(_class != classSym->__anon1.registered)
 {
 struct __ecereNameSpace__ecere__com__BitMember * bitMember = (((void *)0));
 struct __ecereNameSpace__ecere__com__Class * lastClass = _class;
 
-for(_class = classSym->registered; _class->base != lastClass && _class->base->type != 1000; _class = _class->base)
+for(_class = classSym->__anon1.registered; _class->base != lastClass && _class->base->type != 1000; _class = _class->base)
 ;
 for(bitMember = _class->membersAndProperties.first; bitMember; bitMember = bitMember->next)
 {
@@ -1464,7 +1464,7 @@ for(members = (*inst->members).first; members; members = members->next)
 {
 if(members->type == 0)
 {
-for(member = (*members->dataMembers).first; member; member = member->next)
+for(member = (*members->__anon1.dataMembers).first; member; member = member->next)
 {
 if(member->identifiers)
 {
@@ -1492,7 +1492,7 @@ break;
 }
 else
 {
-__ecereNameSpace__ecere__com__eClass_FindNextMember(classSym->registered, &curClass, (struct __ecereNameSpace__ecere__com__DataMember **)&curMember, subMemberStack, &subMemberStackPos);
+__ecereNameSpace__ecere__com__eClass_FindNextMember(classSym->__anon1.registered, &curClass, (struct __ecereNameSpace__ecere__com__DataMember **)&curMember, subMemberStack, &subMemberStackPos);
 if(curMember == bitMember)
 {
 found = 0x1;
@@ -1521,11 +1521,11 @@ if(bitMember->pos)
 char pos[10];
 
 sprintf(pos, "%d", bitMember->pos);
-part = MkExpBrackets(MkListOne(MkExpOp(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(specs, decl), MkExpBrackets(MkListOne(member->initializer->exp))))), LEFT_OP, MkExpConstant(pos))));
+part = MkExpBrackets(MkListOne(MkExpOp(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(specs, decl), MkExpBrackets(MkListOne(member->initializer->__anon1.exp))))), LEFT_OP, MkExpConstant(pos))));
 }
 else
-part = MkExpBrackets(MkListOne(MkExpCast(MkTypeName(specs, decl), MkExpBrackets(MkListOne(member->initializer->exp)))));
-member->initializer->exp = (((void *)0));
+part = MkExpBrackets(MkListOne(MkExpCast(MkTypeName(specs, decl), MkExpBrackets(MkListOne(member->initializer->__anon1.exp)))));
+member->initializer->__anon1.exp = (((void *)0));
 FreeInitializer(member->initializer);
 member->initializer = (((void *)0));
 }
@@ -1541,8 +1541,8 @@ char setName[1024], getName[1024];
 DeclareProperty((struct __ecereNameSpace__ecere__com__Property *)bitMember, setName, getName);
 if(member->initializer && member->initializer->type == 0)
 {
-exp = MkExpCall(MkExpIdentifier(MkIdentifier(setName)), MkListOne(member->initializer->exp));
-member->initializer->exp = (((void *)0));
+exp = MkExpCall(MkExpIdentifier(MkIdentifier(setName)), MkListOne(member->initializer->__anon1.exp));
+member->initializer->__anon1.exp = (((void *)0));
 FreeInitializer(member->initializer);
 member->initializer = (((void *)0));
 }
@@ -1559,9 +1559,9 @@ exp->expType = MkClassType(classSym->string);
 ProcessExpression(exp);
 ListAdd(list, exp);
 }
-else if(classSym && classSym->registered && classSym->registered->type == 3)
+else if(classSym && classSym->__anon1.registered && classSym->__anon1.registered->type == 3)
 {
-struct __ecereNameSpace__ecere__com__Class * _class = classSym->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = classSym->__anon1.registered;
 struct Expression * exp = (((void *)0));
 
 if(inst->members && (*inst->members).first)
@@ -1574,7 +1574,7 @@ for(members = (*inst->members).first; members; members = members->next)
 {
 if(members->type == 0)
 {
-for(member = (*members->dataMembers).first; member; member = member->next)
+for(member = (*members->__anon1.dataMembers).first; member; member = member->next)
 {
 if(member->identifiers)
 {
@@ -1607,8 +1607,8 @@ char setName[1024], getName[1024];
 DeclareProperty(prop, setName, getName);
 if(member->initializer && member->initializer->type == 0)
 {
-exp = MkExpCall(MkExpIdentifier(MkIdentifier(setName)), MkListOne(member->initializer->exp));
-member->initializer->exp = (((void *)0));
+exp = MkExpCall(MkExpIdentifier(MkIdentifier(setName)), MkListOne(member->initializer->__anon1.exp));
+member->initializer->__anon1.exp = (((void *)0));
 FreeInitializer(member->initializer);
 member->initializer = (((void *)0));
 }
@@ -1618,8 +1618,8 @@ else
 ProcessInitializer(member->initializer);
 if(member->initializer && member->initializer->type == 0)
 {
-exp = MkExpCast(QMkClass(_class->fullName, (((void *)0))), MkExpBrackets(MkListOne(member->initializer->exp)));
-member->initializer->exp = (((void *)0));
+exp = MkExpCast(QMkClass(_class->fullName, (((void *)0))), MkExpBrackets(MkListOne(member->initializer->__anon1.exp)));
+member->initializer->__anon1.exp = (((void *)0));
 FreeInitializer(member->initializer);
 member->initializer = (((void *)0));
 }
@@ -1633,18 +1633,18 @@ exp = MkExpConstant("0");
 ProcessExpression(exp);
 ListAdd(list, exp);
 }
-else if(classSym && classSym->registered)
+else if(classSym && classSym->__anon1.registered)
 {
-if(classSym->registered->type == 1)
+if(classSym->__anon1.registered->type == 1)
 {
 struct __ecereNameSpace__ecere__com__Class * _class = (((void *)0));
 
-while(_class != classSym->registered)
+while(_class != classSym->__anon1.registered)
 {
 struct __ecereNameSpace__ecere__com__DataMember * dataMember;
 struct __ecereNameSpace__ecere__com__Class * lastClass = _class;
 
-for(_class = classSym->registered; _class->base != lastClass && _class->base->type != 1000; _class = _class->base)
+for(_class = classSym->__anon1.registered; _class->base != lastClass && _class->base->type != 1000; _class = _class->base)
 ;
 if(_class->structSize != _class->memberOffset)
 fullSet = 0x0;
@@ -1670,21 +1670,21 @@ int subMemberStackPos = 0;
 
 for(members = (*inst->members).first; members; members = members->next)
 {
-if(members->type == 0 && members->dataMembers)
+if(members->type == 0 && members->__anon1.dataMembers)
 {
 struct MemberInit * member = (((void *)0));
 
-for(member = (*members->dataMembers).first; member; member = member->next)
+for(member = (*members->__anon1.dataMembers).first; member; member = member->next)
 {
 if(member->identifiers)
 {
 struct __ecereNameSpace__ecere__com__DataMember * _subMemberStack[256];
 int _subMemberStackPos = 0;
 struct Identifier * firstID = (*member->identifiers).first;
-struct __ecereNameSpace__ecere__com__DataMember * thisMember = (struct __ecereNameSpace__ecere__com__DataMember *)__ecereNameSpace__ecere__com__eClass_FindProperty(classSym->registered, firstID->string, privateModule);
+struct __ecereNameSpace__ecere__com__DataMember * thisMember = (struct __ecereNameSpace__ecere__com__DataMember *)__ecereNameSpace__ecere__com__eClass_FindProperty(classSym->__anon1.registered, firstID->string, privateModule);
 
 if(!thisMember)
-thisMember = __ecereNameSpace__ecere__com__eClass_FindDataMember(classSym->registered, firstID->string, privateModule, _subMemberStack, &_subMemberStackPos);
+thisMember = __ecereNameSpace__ecere__com__eClass_FindDataMember(classSym->__anon1.registered, firstID->string, privateModule, _subMemberStack, &_subMemberStackPos);
 if(thisMember)
 {
 if(thisMember->memberAccess == 1)
@@ -1703,7 +1703,7 @@ break;
 }
 else
 {
-__ecereNameSpace__ecere__com__eClass_FindNextMember(classSym->registered, &curClass, &curMember, subMemberStack, &subMemberStackPos);
+__ecereNameSpace__ecere__com__eClass_FindNextMember(classSym->__anon1.registered, &curClass, &curMember, subMemberStack, &subMemberStackPos);
 if(curMember == dataMember)
 {
 memberFilled = 0x1;
@@ -1728,7 +1728,7 @@ struct Expression * setExp;
 struct Expression * value = MkExpConstant("0");
 
 memberExp = MkExpMember(instExpCopy, MkIdentifier(dataMember->name));
-memberExp->member.memberType = 3;
+memberExp->__anon1.member.memberType = 3;
 value->usage = (value->usage & ~0x1) | (((unsigned int)0x1) << 0);
 setExp = MkExpOp(memberExp, '=', value);
 value->loc = inst->loc;
@@ -1757,12 +1757,12 @@ int subMemberStackPos = 0;
 
 for(members = (*inst->members).first; members; members = members->next)
 {
-if(members->type == 0 && members->dataMembers)
+if(members->type == 0 && members->__anon1.dataMembers)
 {
 struct MemberInit * member = (((void *)0));
 struct __ecereNameSpace__ecere__com__Method * method = (((void *)0));
 
-for(member = (*members->dataMembers).first; member; member = member->next)
+for(member = (*members->__anon1.dataMembers).first; member; member = member->next)
 {
 struct Identifier * ident = (((void *)0));
 struct __ecereNameSpace__ecere__com__DataMember * thisMember = (((void *)0));
@@ -1773,9 +1773,9 @@ struct __ecereNameSpace__ecere__com__DataMember * _subMemberStack[256];
 int _subMemberStackPos = 0;
 struct Identifier * firstID = (*member->identifiers).first;
 
-thisMember = (struct __ecereNameSpace__ecere__com__DataMember *)__ecereNameSpace__ecere__com__eClass_FindProperty(classSym->registered, firstID->string, privateModule);
+thisMember = (struct __ecereNameSpace__ecere__com__DataMember *)__ecereNameSpace__ecere__com__eClass_FindProperty(classSym->__anon1.registered, firstID->string, privateModule);
 if(!thisMember)
-thisMember = __ecereNameSpace__ecere__com__eClass_FindDataMember(classSym->registered, firstID->string, privateModule, _subMemberStack, &_subMemberStackPos);
+thisMember = __ecereNameSpace__ecere__com__eClass_FindDataMember(classSym->__anon1.registered, firstID->string, privateModule, _subMemberStack, &_subMemberStackPos);
 ident = firstID;
 if(thisMember)
 {
@@ -1787,16 +1787,16 @@ memcpy(subMemberStack, _subMemberStack, sizeof(struct __ecereNameSpace__ecere__c
 subMemberStackPos = _subMemberStackPos;
 }
 }
-else if(classSym->registered->type != 1)
+else if(classSym->__anon1.registered->type != 1)
 {
-method = __ecereNameSpace__ecere__com__eClass_FindMethod(classSym->registered, ident->string, privateModule);
+method = __ecereNameSpace__ecere__com__eClass_FindMethod(classSym->__anon1.registered, ident->string, privateModule);
 if(!method || method->type != 1)
 method = (((void *)0));
 }
 }
 else
 {
-__ecereNameSpace__ecere__com__eClass_FindNextMember(classSym->registered, &curClass, &curMember, subMemberStack, &subMemberStackPos);
+__ecereNameSpace__ecere__com__eClass_FindNextMember(classSym->__anon1.registered, &curClass, &curMember, subMemberStack, &subMemberStackPos);
 thisMember = curMember;
 }
 if(instExp && (thisMember || method))
@@ -1824,11 +1824,11 @@ memberExp = MkExpMember(memberExp, id);
 }
 else
 memberExp = MkExpMember(instExpCopy, ident);
-if(member->initializer && member->initializer->type == 0 && member->initializer->exp)
+if(member->initializer && member->initializer->type == 0 && member->initializer->__anon1.exp)
 {
-member->initializer->exp->usage = (member->initializer->exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-setExp = MkExpOp(memberExp, '=', member->initializer->exp);
-member->initializer->exp = (((void *)0));
+member->initializer->__anon1.exp->usage = (member->initializer->__anon1.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+setExp = MkExpOp(memberExp, '=', member->initializer->__anon1.exp);
+member->initializer->__anon1.exp = (((void *)0));
 FreeInitializer(member->initializer);
 member->initializer = (((void *)0));
 }
@@ -1904,7 +1904,7 @@ return ;
 classSym->_import = __extension__ ({
 struct ClassImport * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ClassImport);
 
-__ecereInstance1->isRemote = classSym->registered ? classSym->registered->isRemote : 0, __ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(classSym->string), __ecereInstance1;
+__ecereInstance1->isRemote = classSym->__anon1.registered ? classSym->__anon1.registered->isRemote : 0, __ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(classSym->string), __ecereInstance1;
 });
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&classSym->module->classes, classSym->_import);
 }
@@ -1918,18 +1918,18 @@ ListAdd(declarators, MkInitDeclarator(d, (((void *)0))));
 decl = MkDeclaration(specifiers, declarators);
 if(curExternal)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), curExternal->prev, (classSym->pointerExternal = MkExternalDeclaration(decl)));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), curExternal->prev, (classSym->__anon2.__anon1.pointerExternal = MkExternalDeclaration(decl)));
 classSym->id = curExternal->symbol ? curExternal->symbol->idCode : 0;
 classSym->idCode = classSym->id;
 }
 }
 else if(classSym && curExternal && curExternal->symbol->idCode < classSym->id)
 {
-if(classSym->structExternal)
-DeclareStruct(classSym->string, classSym->registered && classSym->registered->type == 5);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), classSym->pointerExternal, curExternal->prev);
-if(classSym->structExternal)
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), classSym->structExternal, classSym->pointerExternal);
+if(classSym->__anon2.__anon1.structExternal)
+DeclareStruct(classSym->string, classSym->__anon1.registered && classSym->__anon1.registered->type == 5);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), classSym->__anon2.__anon1.pointerExternal, curExternal->prev);
+if(classSym->__anon2.__anon1.structExternal)
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Move((&*ast), classSym->__anon2.__anon1.structExternal, classSym->__anon2.__anon1.pointerExternal);
 classSym->id = curExternal->symbol->idCode;
 classSym->idCode = classSym->id;
 }
@@ -2002,15 +2002,15 @@ case 0:
 break;
 case 1:
 {
-struct Instantiation * inst = exp->instance;
+struct Instantiation * inst = exp->__anon1.instance;
 
 if(inCompiler && inst->_class)
 {
 char className[1024];
-struct Symbol * classSym = inst->_class->symbol;
+struct Symbol * classSym = inst->_class->__anon1.__anon1.symbol;
 struct Expression * instExp;
 
-if(classSym && classSym->registered && classSym->registered->type == 2)
+if(classSym && classSym->__anon1.registered && classSym->__anon1.registered->type == 2)
 {
 if(inst->exp)
 {
@@ -2022,9 +2022,9 @@ struct __ecereNameSpace__ecere__sys__OldList list =
 ProcessInstMembers(inst, (((void *)0)), &list, 0x0);
 ProcessExpression(inst->exp);
 exp->type = 4;
-exp->op.op = '=';
-exp->op.exp1 = inst->exp;
-exp->op.exp2 = list.first;
+exp->__anon1.op.op = '=';
+exp->__anon1.op.exp1 = inst->exp;
+exp->__anon1.op.exp2 = list.first;
 inst->exp = (((void *)0));
 }
 else
@@ -2050,7 +2050,7 @@ exp->prev = prev;
 exp->next = next;
 }
 }
-else if(classSym && classSym->registered && (classSym->registered->type == 3 || classSym->registered->type == 4))
+else if(classSym && classSym->__anon1.registered && (classSym->__anon1.registered->type == 3 || classSym->__anon1.registered->type == 4))
 {
 if(inst->exp)
 {
@@ -2063,9 +2063,9 @@ struct Expression * e;
 ProcessInstMembers(inst, (((void *)0)), &list, 0x0);
 ProcessExpression(inst->exp);
 exp->type = 4;
-exp->op.op = '=';
-exp->op.exp1 = inst->exp;
-exp->op.exp2 = list.first;
+exp->__anon1.op.op = '=';
+exp->__anon1.op.exp1 = inst->exp;
+exp->__anon1.op.exp2 = list.first;
 inst->exp = (((void *)0));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(&list, list.first);
 while((e = list.first))
@@ -2104,22 +2104,22 @@ FreeExpression(e);
 else
 {
 exp->type = 2;
-exp->constant = __ecereNameSpace__ecere__sys__CopyString("0");
+exp->__anon1.__anon1.constant = __ecereNameSpace__ecere__sys__CopyString("0");
 }
 }
 }
-else if(classSym && classSym->registered && classSym->registered->type == 1)
+else if(classSym && classSym->__anon1.registered && classSym->__anon1.registered->type == 1)
 {
 if(inst->exp)
 {
 exp->type = 5;
-exp->list = MkList();
-ProcessInstMembers(inst, inst->exp, exp->list, 0x0);
+exp->__anon1.list = MkList();
+ProcessInstMembers(inst, inst->exp, exp->__anon1.list, 0x0);
 ProcessExpression(inst->exp);
-if(!(*exp->list).count)
+if(!(*exp->__anon1.list).count)
 {
 exp->type = 16;
-(__ecereNameSpace__ecere__com__eSystem_Delete(exp->list), exp->list = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete(exp->__anon1.list), exp->__anon1.list = 0);
 }
 }
 else
@@ -2129,9 +2129,9 @@ struct Declaration * dummyDecl;
 
 {
 dummyDecl = MkDeclaration((((void *)0)), (((void *)0)));
-if(!curCompound->compound.declarations)
-curCompound->compound.declarations = MkList();
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*curCompound->compound.declarations), (((void *)0)), dummyDecl);
+if(!curCompound->__anon1.compound.declarations)
+curCompound->__anon1.compound.declarations = MkList();
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*curCompound->__anon1.compound.declarations), (((void *)0)), dummyDecl);
 sprintf(className, "__simpleStruct%d", curContext->simpleID++);
 {
 struct __ecereNameSpace__ecere__sys__OldList * list = MkList();
@@ -2139,10 +2139,10 @@ struct __ecereNameSpace__ecere__sys__OldList * list = MkList();
 if(inst->isConstant && ProcessBracketInst(inst, list))
 {
 decl = MkDeclaration(MkList(), MkList());
-ListAdd(decl->specifiers, MkSpecifierName(inst->_class->name));
-ListAdd(decl->declarators, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(className)), MkInitializerList(list)));
+ListAdd(decl->__anon1.__anon1.specifiers, MkSpecifierName(inst->_class->__anon1.__anon1.name));
+ListAdd(decl->__anon1.__anon1.declarators, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(className)), MkInitializerList(list)));
 exp->type = 0;
-exp->identifier = MkIdentifier(className);
+exp->__anon1.__anon1.identifier = MkIdentifier(className);
 }
 else
 {
@@ -2150,16 +2150,16 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free((&*list), (((void *)0))
 (__ecereNameSpace__ecere__com__eSystem_Delete(list), list = 0);
 decl = MkDeclarationInst(MkInstantiation(CopySpecifier(inst->_class), MkExpIdentifier(MkIdentifier(className)), (((void *)0))));
 exp->type = 5;
-exp->list = MkList();
+exp->__anon1.list = MkList();
 instExp = QMkExpId(className);
 instExp->loc = exp->loc;
-instExp->expType = MkClassType(inst->_class->name);
-decl->inst->fullSet = ProcessInstMembers(inst, instExp, exp->list, 0x0);
-ListAdd(exp->list, instExp);
+instExp->expType = MkClassType(inst->_class->__anon1.__anon1.name);
+decl->__anon1.inst->fullSet = ProcessInstMembers(inst, instExp, exp->__anon1.list, 0x0);
+ListAdd(exp->__anon1.list, instExp);
 }
 }
 FreeType(exp->expType);
-exp->expType = MkClassType(inst->_class->name);
+exp->expType = MkClassType(inst->_class->__anon1.__anon1.name);
 {
 void * prev = dummyDecl->prev, * next = dummyDecl->next;
 
@@ -2177,24 +2177,24 @@ else
 {
 struct Expression * newCall;
 
-if(classSym && classSym->registered && classSym->registered->type == 5 && (classSym->registered->templateClass ? classSym->registered->templateClass->fixed : classSym->registered->fixed))
+if(classSym && classSym->__anon1.registered && classSym->__anon1.registered->type == 5 && (classSym->__anon1.registered->templateClass ? classSym->__anon1.registered->templateClass->fixed : classSym->__anon1.registered->fixed))
 {
 char size[256];
 
-sprintf(size, "%d", classSym->registered->templateClass ? classSym->registered->templateClass->structSize : classSym->registered->structSize);
+sprintf(size, "%d", classSym->__anon1.registered->templateClass ? classSym->__anon1.registered->templateClass->structSize : classSym->__anon1.registered->structSize);
 newCall = MkExpCall(QMkExpId("ecere::com::eSystem_New0"), MkListOne(MkExpConstant(size)));
 newCall->byReference = 0x1;
 }
 else
 {
 strcpy(className, "__ecereClass_");
-if(classSym && classSym->registered && classSym->registered->type == 5 && classSym->registered->templateClass)
+if(classSym && classSym->__anon1.registered && classSym->__anon1.registered->type == 5 && classSym->__anon1.registered->templateClass)
 {
-classSym = FindClass(classSym->registered->templateClass->fullName);
+classSym = FindClass(classSym->__anon1.registered->templateClass->fullName);
 FullClassNameCat(className, classSym->string, 0x1);
 }
 else
-FullClassNameCat(className, inst->_class->name, 0x1);
+FullClassNameCat(className, inst->_class->__anon1.__anon1.name, 0x1);
 MangleClassName(className);
 DeclareClass(classSym, className);
 newCall = MkExpCall(QMkExpId("ecere::com::eInstance_New"), MkListOne(QMkExpId(className)));
@@ -2206,23 +2206,23 @@ if(inst->exp)
 if(inst->members && (*inst->members).first)
 {
 exp->type = 5;
-exp->list = MkList();
+exp->__anon1.list = MkList();
 if(!inst->built)
 {
-ListAdd(exp->list, MkExpOp(inst->exp, '=', newCall));
+ListAdd(exp->__anon1.list, MkExpOp(inst->exp, '=', newCall));
 }
 else
 FreeExpression(newCall);
-ProcessInstMembers(inst, inst->exp, exp->list, 0x0);
+ProcessInstMembers(inst, inst->exp, exp->__anon1.list, 0x0);
 if(inst->built)
 FreeExpression(inst->exp);
 }
 else
 {
 exp->type = 4;
-exp->op.op = '=';
-exp->op.exp1 = inst->exp;
-exp->op.exp2 = newCall;
+exp->__anon1.op.op = '=';
+exp->__anon1.op.exp1 = inst->exp;
+exp->__anon1.op.exp2 = newCall;
 ProcessExpression(inst->exp);
 }
 inst->exp = (((void *)0));
@@ -2239,18 +2239,18 @@ struct __ecereNameSpace__ecere__sys__OldList * expList;
 
 for(members = (*inst->members).first; members; members = members->next)
 {
-if(members->type == 0 && members->dataMembers)
+if(members->type == 0 && 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)
 {
 if(member->initializer && member->initializer->type == 0)
 {
 int __simpleStruct0;
 
 ProcessMemberInitData(member);
-tempCount = (__simpleStruct0 = member->initializer->exp->tempCount, (tempCount > __simpleStruct0) ? tempCount : __simpleStruct0);
+tempCount = (__simpleStruct0 = member->initializer->__anon1.exp->tempCount, (tempCount > __simpleStruct0) ? tempCount : __simpleStruct0);
 }
 }
 }
@@ -2258,17 +2258,17 @@ tempCount = (__simpleStruct0 = member->initializer->exp->tempCount, (tempCount >
 if(curDecl)
 tempCount = ((tempCount > declTempCount) ? tempCount : declTempCount);
 tempCount++;
-curExternal->function->tempCount = (__simpleStruct0 = curExternal->function->tempCount, (__simpleStruct0 > tempCount) ? __simpleStruct0 : tempCount);
+curExternal->__anon1.function->tempCount = (__simpleStruct0 = curExternal->__anon1.function->tempCount, (__simpleStruct0 > tempCount) ? __simpleStruct0 : tempCount);
 sprintf(ecereTemp, "__ecereInstance%d", tempCount);
 exp->type = 23;
-exp->compound = MkCompoundStmt((((void *)0)), (((void *)0)));
-exp->compound->compound.context = PushContext();
-exp->compound->compound.context->simpleID = exp->compound->compound.context->parent->simpleID;
-exp->compound->compound.declarations = MkListOne(QMkDeclaration(inst->_class->name, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(ecereTemp)), MkInitializerAssignment(newCall))));
-exp->compound->compound.statements = MkListOne(MkExpressionStmt((expList = MkList())));
+exp->__anon1.compound = MkCompoundStmt((((void *)0)), (((void *)0)));
+exp->__anon1.compound->__anon1.compound.context = PushContext();
+exp->__anon1.compound->__anon1.compound.context->simpleID = exp->__anon1.compound->__anon1.compound.context->parent->simpleID;
+exp->__anon1.compound->__anon1.compound.declarations = MkListOne(QMkDeclaration(inst->_class->__anon1.__anon1.name, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(ecereTemp)), MkInitializerAssignment(newCall))));
+exp->__anon1.compound->__anon1.compound.statements = MkListOne(MkExpressionStmt((expList = MkList())));
 instExp = QMkExpId(ecereTemp);
 instExp->tempCount = tempCount;
-instExp->expType = MkClassType(inst->_class->name);
+instExp->expType = MkClassType(inst->_class->__anon1.__anon1.name);
 instExp->byReference = 0x1;
 ProcessInstMembers(inst, instExp, expList, 0x0);
 FreeExpression(instExp);
@@ -2282,7 +2282,7 @@ ListAdd(expList, tmpExp);
 exp->tempCount = tempCount;
 if(curDecl)
 declTempCount = ((declTempCount > tempCount) ? declTempCount : tempCount);
-PopContext(exp->compound->compound.context);
+PopContext(exp->__anon1.compound->__anon1.compound.context);
 }
 else
 {
@@ -2308,22 +2308,22 @@ case 3:
 break;
 case 13:
 case 26:
-ProcessExpression(exp->_new.size);
+ProcessExpression(exp->__anon1._new.size);
 break;
 case 14:
 case 27:
-ProcessExpression(exp->_renew.size);
-ProcessExpression(exp->_renew.exp);
+ProcessExpression(exp->__anon1._renew.size);
+ProcessExpression(exp->__anon1._renew.exp);
 break;
 case 4:
 {
-switch(exp->op.op)
+switch(exp->__anon1.op.op)
 {
 case '=':
-if(exp->op.exp2)
-exp->op.exp2->usage = (exp->op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
-if(exp->op.exp1)
-exp->op.exp1->usage = (exp->op.exp1->usage & ~0x2) | (((unsigned int)0x1) << 1);
+if(exp->__anon1.op.exp2)
+exp->__anon1.op.exp2->usage = (exp->__anon1.op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
+if(exp->__anon1.op.exp1)
+exp->__anon1.op.exp1->usage = (exp->__anon1.op.exp1->usage & ~0x2) | (((unsigned int)0x1) << 1);
 break;
 case MUL_ASSIGN:
 case DIV_ASSIGN:
@@ -2335,33 +2335,33 @@ case RIGHT_ASSIGN:
 case AND_ASSIGN:
 case XOR_ASSIGN:
 case OR_ASSIGN:
-if(exp->op.exp2)
-exp->op.exp2->usage = (exp->op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
-if(exp->op.exp1)
-exp->op.exp1->usage = (exp->op.exp1->usage & ~0x2) | (((unsigned int)0x1) << 1);
+if(exp->__anon1.op.exp2)
+exp->__anon1.op.exp2->usage = (exp->__anon1.op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
+if(exp->__anon1.op.exp1)
+exp->__anon1.op.exp1->usage = (exp->__anon1.op.exp1->usage & ~0x2) | (((unsigned int)0x1) << 1);
 break;
 case INC_OP:
 case DEC_OP:
-if(exp->op.exp1)
-exp->op.exp1->usage = (exp->op.exp1->usage & ~0x2) | (((unsigned int)0x1) << 1);
+if(exp->__anon1.op.exp1)
+exp->__anon1.op.exp1->usage = (exp->__anon1.op.exp1->usage & ~0x2) | (((unsigned int)0x1) << 1);
 case '&':
-if(exp->op.exp1 && exp->op.exp2)
+if(exp->__anon1.op.exp1 && exp->__anon1.op.exp2)
 {
-exp->op.exp1->usage = (exp->op.exp1->usage & ~0x1) | (((unsigned int)0x1) << 0);
-exp->op.exp2->usage = (exp->op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
+exp->__anon1.op.exp1->usage = (exp->__anon1.op.exp1->usage & ~0x1) | (((unsigned int)0x1) << 0);
+exp->__anon1.op.exp2->usage = (exp->__anon1.op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
 }
 break;
 case '*':
 case '+':
 case '-':
-if(exp->op.exp1)
+if(exp->__anon1.op.exp1)
 {
-exp->op.exp1->usage = (exp->op.exp1->usage & ~0x1) | (((unsigned int)0x1) << 0);
+exp->__anon1.op.exp1->usage = (exp->__anon1.op.exp1->usage & ~0x1) | (((unsigned int)0x1) << 0);
 }
 case '~':
 case '!':
-if(exp->op.exp2)
-exp->op.exp2->usage = (exp->op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
+if(exp->__anon1.op.exp2)
+exp->__anon1.op.exp2->usage = (exp->__anon1.op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
 break;
 case '/':
 case '%':
@@ -2377,21 +2377,21 @@ case '|':
 case '^':
 case AND_OP:
 case OR_OP:
-if(exp->op.exp1)
-exp->op.exp1->usage = (exp->op.exp1->usage & ~0x1) | (((unsigned int)0x1) << 0);
-if(exp->op.exp2)
-exp->op.exp2->usage = (exp->op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
+if(exp->__anon1.op.exp1)
+exp->__anon1.op.exp1->usage = (exp->__anon1.op.exp1->usage & ~0x1) | (((unsigned int)0x1) << 0);
+if(exp->__anon1.op.exp2)
+exp->__anon1.op.exp2->usage = (exp->__anon1.op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
 break;
 }
-if(exp->op.exp1)
+if(exp->__anon1.op.exp1)
 {
-ProcessExpression(exp->op.exp1);
+ProcessExpression(exp->__anon1.op.exp1);
 }
-if(exp->op.exp2)
+if(exp->__anon1.op.exp2)
 {
-if(exp->op.exp1)
-exp->op.exp2->tempCount = exp->op.exp1->tempCount;
-ProcessExpression(exp->op.exp2);
+if(exp->__anon1.op.exp1)
+exp->__anon1.op.exp2->tempCount = exp->__anon1.op.exp1->tempCount;
+ProcessExpression(exp->__anon1.op.exp2);
 }
 break;
 }
@@ -2400,7 +2400,7 @@ case 5:
 {
 struct Expression * e;
 
-for(e = (*exp->list).first; e; e = e->next)
+for(e = (*exp->__anon1.list).first; e; e = e->next)
 {
 int __simpleStruct2, __simpleStruct3;
 int __simpleStruct0, __simpleStruct1;
@@ -2419,25 +2419,25 @@ case 6:
 {
 struct Expression * e;
 
-exp->index.exp->usage = (exp->index.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-ProcessExpression(exp->index.exp);
-for(e = (*exp->index.index).first; e; e = e->next)
+exp->__anon1.index.exp->usage = (exp->__anon1.index.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+ProcessExpression(exp->__anon1.index.exp);
+for(e = (*exp->__anon1.index.index).first; e; e = e->next)
 {
 if(!e->next)
 e->usage = (e->usage & ~0x1) | (((unsigned int)0x1) << 0);
 ProcessExpression(e);
 }
-exp->tempCount = exp->index.exp->tempCount;
+exp->tempCount = exp->__anon1.index.exp->tempCount;
 break;
 }
 case 7:
 {
 struct Expression * e;
 
-ProcessExpression(exp->call.exp);
-if(exp->call.arguments)
+ProcessExpression(exp->__anon1.call.exp);
+if(exp->__anon1.call.arguments)
 {
-for(e = (*exp->call.arguments).first; e; e = e->next)
+for(e = (*exp->__anon1.call.arguments).first; e; e = e->next)
 {
 e->usage = (e->usage & ~0x1) | (((unsigned int)0x1) << 0);
 e->usage = (e->usage & ~0x4) | (((unsigned int)0x1) << 2);
@@ -2448,51 +2448,51 @@ break;
 }
 case 8:
 {
-exp->member.exp->usage = (exp->member.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-ProcessExpression(exp->member.exp);
-if(!exp->member.memberType)
+exp->__anon1.member.exp->usage = (exp->__anon1.member.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+ProcessExpression(exp->__anon1.member.exp);
+if(!exp->__anon1.member.memberType)
 {
-struct Type * type = exp->member.exp->expType;
+struct Type * type = exp->__anon1.member.exp->expType;
 
-if((type && type->kind == 8 && exp->member.member))
+if((type && type->kind == 8 && exp->__anon1.member.member))
 {
-struct __ecereNameSpace__ecere__com__Class * _class = (exp->member.member->_class && exp->member.member->classSym) ? exp->member.member->classSym->registered : (type->_class ? type->_class->registered : (((void *)0)));
+struct __ecereNameSpace__ecere__com__Class * _class = (exp->__anon1.member.member->_class && exp->__anon1.member.member->classSym) ? exp->__anon1.member.member->classSym->__anon1.registered : (type->__anon1._class ? type->__anon1._class->__anon1.registered : (((void *)0)));
 struct __ecereNameSpace__ecere__com__Property * prop = (((void *)0));
 struct __ecereNameSpace__ecere__com__Method * method = (((void *)0));
 struct __ecereNameSpace__ecere__com__DataMember * member = (((void *)0));
 struct __ecereNameSpace__ecere__com__Property * revConvert = (((void *)0));
 
-if(exp->member.thisPtr)
+if(exp->__anon1.member.thisPtr)
 {
-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(!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);
 }
 else
 {
-prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, exp->member.member->string, (((void *)0)));
+prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, exp->__anon1.member.member->string, (((void *)0)));
 if(!prop)
-member = __ecereNameSpace__ecere__com__eClass_FindDataMember(_class, exp->member.member->string, (((void *)0)), (((void *)0)), (((void *)0)));
+member = __ecereNameSpace__ecere__com__eClass_FindDataMember(_class, exp->__anon1.member.member->string, (((void *)0)), (((void *)0)), (((void *)0)));
 if(!prop && !member)
 {
-method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, exp->member.member->string, (((void *)0)));
+method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, exp->__anon1.member.member->string, (((void *)0)));
 if(!method)
 {
-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 && !method)
-method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, exp->member.member->string, privateModule);
+method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, exp->__anon1.member.member->string, privateModule);
 if(!prop && !member && !method)
 {
-struct Symbol * classSym = FindClass(exp->member.member->string);
+struct Symbol * classSym = FindClass(exp->__anon1.member.member->string);
 
 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);
@@ -2500,7 +2500,7 @@ revConvert = __ecereNameSpace__ecere__com__eClass_FindProperty(convertClass, _cl
 }
 if(prop)
 {
-exp->member.memberType = 1;
+exp->__anon1.member.memberType = 1;
 if(!prop->dataType)
 prop->dataType = ProcessTypeString(prop->dataTypeString, 0x0);
 FreeType(exp->expType);
@@ -2510,7 +2510,7 @@ prop->dataType->refCount++;
 }
 else if(method)
 {
-exp->member.memberType = 2;
+exp->__anon1.member.memberType = 2;
 if(!method->dataType)
 ProcessMethodType(method);
 FreeType(exp->expType);
@@ -2520,7 +2520,7 @@ method->dataType->refCount++;
 }
 else if(member)
 {
-exp->member.memberType = 3;
+exp->__anon1.member.memberType = 3;
 DeclareStruct(_class->fullName, 0x0);
 if(!member->dataType)
 member->dataType = ProcessTypeString(member->dataTypeString, 0x0);
@@ -2531,7 +2531,7 @@ member->dataType->refCount++;
 }
 else if(revConvert)
 {
-exp->member.memberType = 4;
+exp->__anon1.member.memberType = 4;
 FreeType(exp->expType);
 exp->expType = MkClassType(revConvert->_class->fullName);
 }
@@ -2543,8 +2543,8 @@ case 10:
 break;
 case 11:
 {
-exp->cast.exp->usage = (exp->cast.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-ProcessExpression(exp->cast.exp);
+exp->__anon1.cast.exp->usage = (exp->__anon1.cast.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+ProcessExpression(exp->__anon1.cast.exp);
 break;
 }
 case 12:
@@ -2552,39 +2552,39 @@ case 12:
 struct Expression * e;
 
 if(((unsigned int)((exp->usage & 0x1) >> 0)))
-exp->cond.cond->usage = (exp->cond.cond->usage & ~0x1) | (((unsigned int)0x1) << 0);
-ProcessExpression(exp->cond.cond);
-for(e = (*exp->cond.exp).first; e; e = e->next)
+exp->__anon1.cond.cond->usage = (exp->__anon1.cond.cond->usage & ~0x1) | (((unsigned int)0x1) << 0);
+ProcessExpression(exp->__anon1.cond.cond);
+for(e = (*exp->__anon1.cond.exp).first; e; e = e->next)
 {
 if(!e->next && ((unsigned int)((exp->usage & 0x1) >> 0)))
 e->usage = (e->usage & ~0x1) | (((unsigned int)0x1) << 0);
 ProcessExpression(e);
 }
-if(exp->cond.elseExp)
+if(exp->__anon1.cond.elseExp)
 {
 if(((unsigned int)((exp->usage & 0x1) >> 0)))
-exp->cond.elseExp->usage = (exp->cond.elseExp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-ProcessExpression(exp->cond.elseExp);
+exp->__anon1.cond.elseExp->usage = (exp->__anon1.cond.elseExp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+ProcessExpression(exp->__anon1.cond.elseExp);
 }
 break;
 }
 case 23:
 {
-if(exp->compound->compound.statements && ((struct Statement *)(*exp->compound->compound.statements).last)->type == 3 && ((struct Statement *)(*exp->compound->compound.statements).last)->expressions && (*((struct Statement *)(*exp->compound->compound.statements).last)->expressions).last)
+if(exp->__anon1.compound->__anon1.compound.statements && ((struct Statement *)(*exp->__anon1.compound->__anon1.compound.statements).last)->type == 3 && ((struct Statement *)(*exp->__anon1.compound->__anon1.compound.statements).last)->__anon1.expressions && (*((struct Statement *)(*exp->__anon1.compound->__anon1.compound.statements).last)->__anon1.expressions).last)
 {
-((struct Expression *)(*((struct Statement *)(*exp->compound->compound.statements).last)->expressions).last)->usage = exp->usage;
+((struct Expression *)(*((struct Statement *)(*exp->__anon1.compound->__anon1.compound.statements).last)->__anon1.expressions).last)->usage = exp->usage;
 }
-ProcessStatement(exp->compound);
+ProcessStatement(exp->__anon1.compound);
 break;
 }
 case 34:
 {
-ProcessExpression(exp->vaArg.exp);
+ProcessExpression(exp->__anon1.vaArg.exp);
 break;
 }
 case 33:
 {
-ProcessInitializer(exp->initializer.initializer);
+ProcessInitializer(exp->__anon1.initializer.initializer);
 break;
 }
 }
@@ -2596,14 +2596,14 @@ static void ProcessInitializer(struct Initializer * init)
 switch(init->type)
 {
 case 0:
-init->exp->usage = (init->exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-ProcessExpression(init->exp);
+init->__anon1.exp->usage = (init->__anon1.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+ProcessExpression(init->__anon1.exp);
 break;
 case 1:
 {
 struct Initializer * i;
 
-for(i = (*init->list).first; i; i = i->next)
+for(i = (*init->__anon1.list).first; i; i = i->next)
 ProcessInitializer(i);
 break;
 }
@@ -2624,9 +2624,9 @@ 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)
 ProcessExpression(e->exp);
@@ -2637,14 +2637,14 @@ break;
 case 3:
 case 4:
 {
-if(spec->definitions)
+if(spec->__anon1.__anon2.definitions)
 {
 struct ClassDef * def;
 
-for(def = (*spec->definitions).first; def; def = def->next)
+for(def = (*spec->__anon1.__anon2.definitions).first; def; def = def->next)
 {
-if(def->type == 2 && def->decl && def->decl->type == 0)
-ProcessDeclaration(def->decl);
+if(def->type == 2 && def->__anon1.decl && def->__anon1.decl->type == 0)
+ProcessDeclaration(def->__anon1.decl);
 }
 }
 break;
@@ -2668,9 +2668,10 @@ extern struct MembersInit * MkMembersInitList(struct __ecereNameSpace__ecere__sy
 
 static unsigned int ProcessBracketInst_DataMember(struct __ecereNameSpace__ecere__com__DataMember * parentMember, struct Instantiation * inst, struct __ecereNameSpace__ecere__sys__OldList * list, struct __ecereNameSpace__ecere__com__DataMember * namedParentMember, unsigned int parentMemberSet)
 {
-struct Symbol * classSym = inst->_class->symbol;
+struct Symbol * classSym = inst->_class->__anon1.__anon1.symbol;
 struct __ecereNameSpace__ecere__com__DataMember * dataMember = (((void *)0));
 unsigned int someMemberSet = 0x0;
+int anonID = 1;
 
 for(dataMember = parentMember->members.first; dataMember; dataMember = dataMember->next)
 {
@@ -2679,9 +2680,9 @@ struct MemberInit * member = (((void *)0));
 
 if(!dataMember->name && (dataMember->type == 1 || dataMember->type == 2))
 {
-struct __ecereNameSpace__ecere__sys__OldList * subList = 0;
+struct __ecereNameSpace__ecere__sys__OldList * subList = MkList();
 
-if(!ProcessBracketInst_DataMember(dataMember, inst, subList ? subList : list, dataMember->name ? dataMember : namedParentMember, someMemberSet || parentMemberSet))
+if(!ProcessBracketInst_DataMember(dataMember, inst, subList ? subList : list, dataMember->name ? dataMember : namedParentMember, someMemberSet || parentMemberSet || dataMember->prev))
 {
 if(subList)
 FreeList(subList, FreeInitializer);
@@ -2689,7 +2690,12 @@ return 0x0;
 }
 if(subList && (*subList).count)
 {
-ListAdd(list, MkInitializerList(subList));
+struct Initializer * init = MkInitializerList(subList);
+char id[100];
+
+sprintf(id, "__anon%d", anonID);
+init->id = MkIdentifier(id);
+ListAdd(list, init);
 someMemberSet = 0x1;
 }
 else
@@ -2698,6 +2704,7 @@ if(list->count)
 someMemberSet = 0x1;
 (__ecereNameSpace__ecere__com__eSystem_Delete(subList), subList = 0);
 }
+anonID++;
 }
 else
 {
@@ -2713,7 +2720,7 @@ for(members = (*inst->members).first; members; members = members->next)
 {
 if(members->type == 0)
 {
-for(member = (*members->dataMembers).first; member; member = member->next)
+for(member = (*members->__anon1.dataMembers).first; member; member = member->next)
 {
 if(member->identifiers)
 {
@@ -2722,9 +2729,9 @@ struct __ecereNameSpace__ecere__com__DataMember * _subMemberStack[256];
 int _subMemberStackPos = 0;
 struct __ecereNameSpace__ecere__com__DataMember * thisMember;
 
-thisMember = firstID ? (struct __ecereNameSpace__ecere__com__DataMember *)__ecereNameSpace__ecere__com__eClass_FindProperty(classSym->registered, firstID->string, privateModule) : (((void *)0));
+thisMember = firstID ? (struct __ecereNameSpace__ecere__com__DataMember *)__ecereNameSpace__ecere__com__eClass_FindProperty(classSym->__anon1.registered, firstID->string, privateModule) : (((void *)0));
 if(!thisMember && firstID)
-thisMember = __ecereNameSpace__ecere__com__eClass_FindDataMember(classSym->registered, firstID->string, privateModule, _subMemberStack, &_subMemberStackPos);
+thisMember = __ecereNameSpace__ecere__com__eClass_FindDataMember(classSym->__anon1.registered, firstID->string, privateModule, _subMemberStack, &_subMemberStackPos);
 if(thisMember && thisMember->memberAccess == 1)
 {
 curMember = thisMember;
@@ -2744,7 +2751,7 @@ struct MemberInit * next = member->next;
 
 if(!dataMember->dataType)
 dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0x0);
-symbol = (dataMember->dataType && dataMember->dataType->kind == 8) ? dataMember->dataType->_class : (((void *)0));
+symbol = (dataMember->dataType && dataMember->dataType->kind == 8) ? dataMember->dataType->__anon1._class : (((void *)0));
 spec = _MkSpecifierName(dataMember->dataTypeString, symbol, (((void *)0)));
 {
 struct __ecereNameSpace__ecere__sys__OldList * identifiers = MkList();
@@ -2752,14 +2759,14 @@ struct Identifier * id;
 
 for(id = ((struct Identifier *)(*member->identifiers).first)->next; id; id = id->next)
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*identifiers), CopyIdentifier(id));
-ListAdd(partList, MkMemberInit(identifiers, MkInitializerAssignment(member->initializer->exp)));
+ListAdd(partList, MkMemberInit(identifiers, MkInitializerAssignment(member->initializer->__anon1.exp)));
 }
 for(nextMembers = members; nextMembers; nextMembers = nextMembers->next)
 {
-if(!nextMembers->dataMembers)
+if(!nextMembers->__anon1.dataMembers)
 continue;
 if(members != nextMembers)
-next = (*nextMembers->dataMembers).first;
+next = (*nextMembers->__anon1.dataMembers).first;
 if(nextMembers->type == 0)
 {
 struct MemberInit * nextMember;
@@ -2770,14 +2777,14 @@ struct Identifier * nextID = (*nextMember->identifiers).first;
 
 if(nextMember->identifiers && (*nextMember->identifiers).count > 1 && !strcmp(firstID->string, nextID->string))
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*nextMembers->dataMembers), nextMember);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*nextMembers->__anon1.dataMembers), nextMember);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*nextMember->identifiers), nextID);
 ListAdd(partList, nextMember);
 }
 }
 }
 }
-member->initializer->exp = MkExpInstance(MkInstantiation(spec, (((void *)0)), MkListOne(MkMembersInitList(partList))));
+member->initializer->__anon1.exp = MkExpInstance(MkInstantiation(spec, (((void *)0)), MkListOne(MkMembersInitList(partList))));
 }
 found = 0x1;
 break;
@@ -2785,7 +2792,7 @@ break;
 }
 else
 {
-__ecereNameSpace__ecere__com__eClass_FindNextMember(classSym->registered, &curClass, &curMember, subMemberStack, &subMemberStackPos);
+__ecereNameSpace__ecere__com__eClass_FindNextMember(classSym->__anon1.registered, &curClass, &curMember, subMemberStack, &subMemberStackPos);
 if(curMember == dataMember)
 {
 found = 0x1;
@@ -2804,16 +2811,16 @@ struct Initializer * init = (init = __ecereNameSpace__ecere__com__eInstance_New(
 
 if(namedParentMember->type == 1 && dataMember->name)
 init->id = MkIdentifier(dataMember->name);
-if(member->initializer->exp->type == 1 && member->initializer->exp->expType && member->initializer->exp->expType->_class->registered->type == 1)
+if(member->initializer->__anon1.exp->type == 1 && member->initializer->__anon1.exp->expType && member->initializer->__anon1.exp->expType->__anon1._class->__anon1.registered->type == 1)
 {
 struct __ecereNameSpace__ecere__sys__OldList * subList = MkList();
 
-ProcessBracketInst(member->initializer->exp->instance, subList);
-FreeExpression(member->initializer->exp);
+ProcessBracketInst(member->initializer->__anon1.exp->__anon1.instance, subList);
+FreeExpression(member->initializer->__anon1.exp);
 if((*subList).count)
 {
 init->type = 1;
-init->list = subList;
+init->__anon1.list = subList;
 }
 else
 {
@@ -2823,14 +2830,14 @@ init = (((void *)0));
 }
 else
 {
-member->initializer->exp->usage = (member->initializer->exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-ProcessExpression(member->initializer->exp);
+member->initializer->__anon1.exp->usage = (member->initializer->__anon1.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+ProcessExpression(member->initializer->__anon1.exp);
 init->type = 0;
-init->exp = member->initializer->exp;
+init->__anon1.exp = member->initializer->__anon1.exp;
 }
 if(init)
 ListAdd(list, init);
-member->initializer->exp = (((void *)0));
+member->initializer->__anon1.exp = (((void *)0));
 FreeInitializer(member->initializer);
 member->initializer = (((void *)0));
 someMemberSet = 0x1;
@@ -2852,8 +2859,8 @@ if(namedParentMember->type == 1 && dataMember->name)
 init->id = MkIdentifier(dataMember->name);
 if(!dataMember->dataType)
 dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0x0);
-classSym = (dataMember->dataType && dataMember->dataType->kind == 8) ? dataMember->dataType->_class : (((void *)0));
-if(classSym && classSym->registered && classSym->registered->type == 1)
+classSym = (dataMember->dataType && dataMember->dataType->kind == 8) ? dataMember->dataType->__anon1._class : (((void *)0));
+if(classSym && classSym->__anon1.registered && classSym->__anon1.registered->type == 1)
 {
 struct __ecereNameSpace__ecere__sys__OldList * subList = MkList();
 struct Specifier * spec = _MkSpecifierName(dataMember->dataTypeString, classSym, (((void *)0)));
@@ -2864,7 +2871,7 @@ FreeInstance(inst);
 if((*subList).count)
 {
 init->type = 1;
-init->list = subList;
+init->__anon1.list = subList;
 }
 else
 {
@@ -2875,7 +2882,7 @@ init = (((void *)0));
 else
 {
 init->type = 0;
-init->exp = MkExpConstant("0");
+init->__anon1.exp = MkExpConstant("0");
 }
 someMemberSet = 0x1;
 if(init)
@@ -2883,7 +2890,7 @@ ListAdd(list, init);
 }
 }
 }
-if(parentMember->type == 1 && !someMemberSet && !parentMemberSet)
+if(!someMemberSet && !parentMemberSet)
 {
 struct Symbol * classSym;
 struct Initializer * init = (init = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Initializer), init->loc = yylloc, init);
@@ -2893,8 +2900,8 @@ if(namedParentMember->type == 1 && dataMember->name)
 init->id = MkIdentifier(dataMember->name);
 if(!dataMember->dataType && dataMember->dataTypeString)
 dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0x0);
-classSym = (dataMember->dataType && dataMember->dataType->kind == 8) ? dataMember->dataType->_class : (((void *)0));
-if(classSym && classSym->registered && classSym->registered->type == 1)
+classSym = (dataMember->dataType && dataMember->dataType->kind == 8) ? dataMember->dataType->__anon1._class : (((void *)0));
+if(classSym && classSym->__anon1.registered && classSym->__anon1.registered->type == 1)
 {
 struct __ecereNameSpace__ecere__sys__OldList * subList = MkList();
 struct Specifier * spec = _MkSpecifierName(dataMember->dataTypeString, classSym, (((void *)0)));
@@ -2903,12 +2910,12 @@ struct Instantiation * inst = MkInstantiation(spec, (((void *)0)), (((void *)0))
 ProcessBracketInst(inst, subList);
 FreeInstance(inst);
 init->type = 1;
-init->list = subList;
+init->__anon1.list = subList;
 }
 else
 {
 init->type = 0;
-init->exp = MkExpConstant("0");
+init->__anon1.exp = MkExpConstant("0");
 }
 ListAdd(list, init);
 }
@@ -2922,24 +2929,25 @@ extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * n
 static unsigned int ProcessBracketInst(struct Instantiation * inst, struct __ecereNameSpace__ecere__sys__OldList * list)
 {
 static int recursionCount = 0;
-struct Symbol * classSym = inst->_class->symbol;
+struct Symbol * classSym = inst->_class->__anon1.__anon1.symbol;
 struct __ecereNameSpace__ecere__com__Class * _class = (((void *)0));
+int anonID = 1;
 
 if(recursionCount > 500)
 return 0x0;
 recursionCount++;
-while(_class != classSym->registered)
+while(_class != classSym->__anon1.registered)
 {
 struct __ecereNameSpace__ecere__com__DataMember * dataMember;
 struct __ecereNameSpace__ecere__com__Class * lastClass = _class;
 
-for(_class = classSym->registered; _class->base != lastClass && _class->base->type != 1000; _class = _class->base)
+for(_class = classSym->__anon1.registered; _class->base != lastClass && _class->base->type != 1000; _class = _class->base)
 ;
 for(dataMember = _class->membersAndProperties.first; dataMember; dataMember = dataMember->next)
 {
 if(!dataMember->isProperty && !dataMember->name && (dataMember->type == 1 || dataMember->type == 2))
 {
-struct __ecereNameSpace__ecere__sys__OldList * subList = 0;
+struct __ecereNameSpace__ecere__sys__OldList * subList = MkList();
 
 if(!ProcessBracketInst_DataMember(dataMember, inst, subList ? subList : list, dataMember, 0x0))
 {
@@ -2949,9 +2957,17 @@ recursionCount--;
 return 0x0;
 }
 if(dataMember->type == 2 || (subList && (*subList).count))
-ListAdd(list, MkInitializerList(subList));
+{
+struct Initializer * init = MkInitializerList(subList);
+char id[100];
+
+sprintf(id, "__anon%d", anonID);
+init->id = MkIdentifier(id);
+ListAdd(list, init);
+}
 else
 (__ecereNameSpace__ecere__com__eSystem_Delete(subList), subList = 0);
+anonID++;
 }
 else
 {
@@ -2970,7 +2986,7 @@ for(members = (*inst->members).first; members; members = members->next)
 {
 if(members->type == 0)
 {
-for(member = (*members->dataMembers).first; member; member = member->next)
+for(member = (*members->__anon1.dataMembers).first; member; member = member->next)
 {
 struct Identifier * firstID = member->identifiers ? (*member->identifiers).first : (((void *)0));
 
@@ -2978,10 +2994,10 @@ if(firstID)
 {
 struct __ecereNameSpace__ecere__com__DataMember * _subMemberStack[256];
 int _subMemberStackPos = 0;
-struct __ecereNameSpace__ecere__com__DataMember * thisMember = (struct __ecereNameSpace__ecere__com__DataMember *)__ecereNameSpace__ecere__com__eClass_FindProperty(classSym->registered, firstID->string, privateModule);
+struct __ecereNameSpace__ecere__com__DataMember * thisMember = (struct __ecereNameSpace__ecere__com__DataMember *)__ecereNameSpace__ecere__com__eClass_FindProperty(classSym->__anon1.registered, firstID->string, privateModule);
 
 if(!thisMember)
-thisMember = __ecereNameSpace__ecere__com__eClass_FindDataMember(classSym->registered, firstID->string, privateModule, _subMemberStack, &_subMemberStackPos);
+thisMember = __ecereNameSpace__ecere__com__eClass_FindDataMember(classSym->__anon1.registered, firstID->string, privateModule, _subMemberStack, &_subMemberStackPos);
 if(thisMember)
 {
 curMember = thisMember;
@@ -3011,16 +3027,16 @@ struct Symbol * symbol;
 
 if(!dataMember->dataType)
 dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0x0);
-symbol = (dataMember->dataType && dataMember->dataType->kind == 8) ? dataMember->dataType->_class : (((void *)0));
+symbol = (dataMember->dataType && dataMember->dataType->kind == 8) ? dataMember->dataType->__anon1._class : (((void *)0));
 spec = _MkSpecifierName(dataMember->dataTypeString, symbol, (((void *)0)));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*member->identifiers), firstID);
-ListAdd(partList, MkMemberInit(member->identifiers, MkInitializerAssignment(member->initializer->exp)));
+ListAdd(partList, MkMemberInit(member->identifiers, MkInitializerAssignment(member->initializer->__anon1.exp)));
 for(nextMembers = members; nextMembers; nextMembers = nextMembers->next)
 {
-if(!nextMembers->dataMembers)
+if(!nextMembers->__anon1.dataMembers)
 continue;
 if(members != nextMembers)
-next = (*nextMembers->dataMembers).first;
+next = (*nextMembers->__anon1.dataMembers).first;
 if(nextMembers->type == 0)
 {
 struct MemberInit * nextMember;
@@ -3031,14 +3047,14 @@ struct Identifier * nextID = (*nextMember->identifiers).first;
 
 if(nextMember->identifiers && (*nextMember->identifiers).count > 1 && !strcmp(firstID->string, nextID->string))
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*nextMembers->dataMembers), nextMember);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*nextMembers->__anon1.dataMembers), nextMember);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*nextMember->identifiers), nextID);
 ListAdd(partList, nextMember);
 }
 }
 }
 }
-member->initializer->exp = MkExpInstance(MkInstantiation(spec, (((void *)0)), MkListOne(MkMembersInitList(partList))));
+member->initializer->__anon1.exp = MkExpInstance(MkInstantiation(spec, (((void *)0)), MkListOne(MkMembersInitList(partList))));
 member->identifiers = (((void *)0));
 }
 found = 0x1;
@@ -3047,7 +3063,7 @@ break;
 }
 else
 {
-__ecereNameSpace__ecere__com__eClass_FindNextMember(classSym->registered, &curClass, &curMember, subMemberStack, &subMemberStackPos);
+__ecereNameSpace__ecere__com__eClass_FindNextMember(classSym->__anon1.registered, &curClass, &curMember, subMemberStack, &subMemberStackPos);
 if(curMember == dataMember)
 {
 if(dataMember->isProperty)
@@ -3074,20 +3090,20 @@ if(dataMember->isProperty)
 continue;
 if(member && member->initializer && member->initializer->type == 0)
 {
-if(member->initializer->exp->type == 1 && member->initializer->exp->expType && member->initializer->exp->expType->_class && member->initializer->exp->expType->_class->registered && member->initializer->exp->expType->_class->registered->type == 1)
+if(member->initializer->__anon1.exp->type == 1 && member->initializer->__anon1.exp->expType && member->initializer->__anon1.exp->expType->__anon1._class && member->initializer->__anon1.exp->expType->__anon1._class->__anon1.registered && member->initializer->__anon1.exp->expType->__anon1._class->__anon1.registered->type == 1)
 {
 struct __ecereNameSpace__ecere__sys__OldList * subList = MkList();
 
-ProcessBracketInst(member->initializer->exp->instance, subList);
-FreeExpression(member->initializer->exp);
-member->initializer->exp = (((void *)0));
+ProcessBracketInst(member->initializer->__anon1.exp->__anon1.instance, subList);
+FreeExpression(member->initializer->__anon1.exp);
+member->initializer->__anon1.exp = (((void *)0));
 ListAdd(list, MkInitializerList(subList));
 }
 else
 {
-member->initializer->exp->usage = (member->initializer->exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-ProcessExpression(member->initializer->exp);
-ListAdd(list, MkInitializerAssignment(CopyExpression(member->initializer->exp)));
+member->initializer->__anon1.exp->usage = (member->initializer->__anon1.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+ProcessExpression(member->initializer->__anon1.exp);
+ListAdd(list, MkInitializerAssignment(CopyExpression(member->initializer->__anon1.exp)));
 }
 member->takeOutExp = 0x1;
 }
@@ -3102,8 +3118,8 @@ struct Symbol * classSym;
 
 if(!dataMember->dataType)
 dataMember->dataType = ProcessTypeString(dataMember->dataTypeString, 0x0);
-classSym = (dataMember->dataType && dataMember->dataType->kind == 8) ? dataMember->dataType->_class : (((void *)0));
-if(classSym && classSym->registered && classSym->registered->type == 1)
+classSym = (dataMember->dataType && dataMember->dataType->kind == 8) ? dataMember->dataType->__anon1._class : (((void *)0));
+if(classSym && classSym->__anon1.registered && classSym->__anon1.registered->type == 1)
 {
 struct __ecereNameSpace__ecere__sys__OldList * subList = MkList();
 struct Specifier * spec = _MkSpecifierName(dataMember->dataTypeString, classSym, (((void *)0)));
@@ -3130,7 +3146,7 @@ for(members = (*inst->members).first; members; members = members->next)
 {
 if(members->type == 0)
 {
-for(member = (*members->dataMembers).first; member; member = member->next)
+for(member = (*members->__anon1.dataMembers).first; member; member = member->next)
 {
 if(member->takeOutExp)
 {
@@ -3157,20 +3173,20 @@ if(!curDecl)
 curDecl = decl;
 declTempCount = 0;
 }
-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);
 }
 }
-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)
 {
 if(d->initializer)
 ProcessInitializer(d->initializer);
@@ -3185,49 +3201,49 @@ break;
 }
 case 2:
 {
-struct Instantiation * inst = decl->inst;
+struct Instantiation * inst = decl->__anon1.inst;
 
 if(inCompiler)
 {
-struct Symbol * classSym = inst->_class->symbol;
+struct Symbol * classSym = inst->_class->__anon1.__anon1.symbol;
 
 if(!curCompound)
 {
 struct Statement * stmt;
 
-if(!inst->isConstant || (classSym && classSym->registered && (classSym->registered->type == 0 || classSym->registered->type == 5)))
+if(!inst->isConstant || (classSym && classSym->__anon1.registered && (classSym->__anon1.registered->type == 0 || classSym->__anon1.registered->type == 5)))
 {
 decl->type = 1;
-decl->specifiers = MkListOne(MkSpecifierName(inst->_class->name));
+decl->__anon1.__anon1.specifiers = MkListOne(MkSpecifierName(inst->_class->__anon1.__anon1.name));
 if(decl->declMode == 3)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*decl->specifiers), (((void *)0)), MkSpecifier(STATIC));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*decl->__anon1.__anon1.specifiers), (((void *)0)), MkSpecifier(STATIC));
 }
-decl->declarators = MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(inst->exp->identifier->string)), (((void *)0))));
+decl->__anon1.__anon1.declarators = MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(inst->exp->__anon1.__anon1.identifier->string)), (((void *)0))));
 ProcessDeclaration(decl);
 CreateInstancesBody();
 {
 struct Expression * exp = MkExpInstance(inst);
 
 stmt = MkExpressionStmt(MkListOne(exp));
-ListAdd(createInstancesBody->compound.statements, stmt);
+ListAdd(createInstancesBody->__anon1.compound.statements, stmt);
 ProcessExpressionType(exp);
 }
-if(classSym && classSym->registered && (classSym->registered->type == 0))
+if(classSym && classSym->__anon1.registered && (classSym->__anon1.registered->type == 0))
 {
-ListAdd(createInstancesBody->compound.statements, MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_IncRef")), MkListOne(CopyExpression(inst->exp))))));
+ListAdd(createInstancesBody->__anon1.compound.statements, MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("ecere::com::eInstance_IncRef")), MkListOne(CopyExpression(inst->exp))))));
 {
 struct Expression * exp = MkExpOp((((void *)0)), DELETE, CopyExpression(inst->exp));
 
-ListAdd(destroyInstancesBody->compound.statements, MkExpressionStmt(MkListOne(exp)));
+ListAdd(destroyInstancesBody->__anon1.compound.statements, MkExpressionStmt(MkListOne(exp)));
 ProcessExpressionType(exp);
 }
 }
-else if(classSym && classSym->registered && (classSym->registered->type == 5))
+else if(classSym && classSym->__anon1.registered && (classSym->__anon1.registered->type == 5))
 {
 struct Expression * exp = MkExpOp((((void *)0)), DELETE, CopyExpression(inst->exp));
 
-ListAdd(destroyInstancesBody->compound.statements, MkExpressionStmt(MkListOne(exp)));
+ListAdd(destroyInstancesBody->__anon1.compound.statements, MkExpressionStmt(MkListOne(exp)));
 ProcessExpressionType(exp);
 }
 break;
@@ -3242,9 +3258,9 @@ char className[1024];
 
 className[0] = (char)0;
 decl->type = 1;
-decl->specifiers = MkList();
-decl->declarators = MkList();
-if(classSym && classSym->registered && classSym->registered->type == 2)
+decl->__anon1.__anon1.specifiers = MkList();
+decl->__anon1.__anon1.declarators = MkList();
+if(classSym && classSym->__anon1.registered && classSym->__anon1.registered->type == 2)
 {
 struct __ecereNameSpace__ecere__sys__OldList list =
 {
@@ -3253,11 +3269,11 @@ struct __ecereNameSpace__ecere__sys__OldList list =
 
 ProcessInstMembers(inst, inst->exp, &list, 0x0);
 ProcessExpression(inst->exp);
-ListAdd(decl->specifiers, MkSpecifierName(inst->_class->name));
-ListAdd(decl->declarators, MkInitDeclarator(MkDeclaratorIdentifier(inst->exp->identifier), MkInitializerAssignment(list.first)));
-inst->exp->identifier = (((void *)0));
+ListAdd(decl->__anon1.__anon1.specifiers, MkSpecifierName(inst->_class->__anon1.__anon1.name));
+ListAdd(decl->__anon1.__anon1.declarators, MkInitDeclarator(MkDeclaratorIdentifier(inst->exp->__anon1.__anon1.identifier), MkInitializerAssignment(list.first)));
+inst->exp->__anon1.__anon1.identifier = (((void *)0));
 }
-else if(classSym && classSym->registered && classSym->registered->type == 3)
+else if(classSym && classSym->__anon1.registered && classSym->__anon1.registered->type == 3)
 {
 struct __ecereNameSpace__ecere__sys__OldList list =
 {
@@ -3266,22 +3282,22 @@ struct __ecereNameSpace__ecere__sys__OldList list =
 
 ProcessInstMembers(inst, inst->exp, &list, 0x0);
 ProcessExpression(inst->exp);
-ListAdd(decl->specifiers, MkSpecifierName(inst->_class->name));
-ListAdd(decl->declarators, MkInitDeclarator(MkDeclaratorIdentifier(inst->exp->identifier), MkInitializerAssignment(list.first)));
-inst->exp->identifier = (((void *)0));
+ListAdd(decl->__anon1.__anon1.specifiers, MkSpecifierName(inst->_class->__anon1.__anon1.name));
+ListAdd(decl->__anon1.__anon1.declarators, MkInitDeclarator(MkDeclaratorIdentifier(inst->exp->__anon1.__anon1.identifier), MkInitializerAssignment(list.first)));
+inst->exp->__anon1.__anon1.identifier = (((void *)0));
 }
-else if(classSym && classSym->registered && classSym->registered->type == 1)
+else if(classSym && classSym->__anon1.registered && classSym->__anon1.registered->type == 1)
 {
 struct Expression * exp;
 
-DeclareStruct(inst->_class->name, 0x0);
+DeclareStruct(inst->_class->__anon1.__anon1.name, 0x0);
 ProcessExpression(inst->exp);
 {
 if(inst->fullSet)
 {
-ListAdd(decl->specifiers, MkSpecifierName(inst->_class->name));
-ListAdd(decl->declarators, MkInitDeclarator(MkDeclaratorIdentifier(inst->exp->identifier), (((void *)0))));
-inst->exp->identifier = (((void *)0));
+ListAdd(decl->__anon1.__anon1.specifiers, MkSpecifierName(inst->_class->__anon1.__anon1.name));
+ListAdd(decl->__anon1.__anon1.declarators, MkInitDeclarator(MkDeclaratorIdentifier(inst->exp->__anon1.__anon1.identifier), (((void *)0))));
+inst->exp->__anon1.__anon1.identifier = (((void *)0));
 }
 else
 {
@@ -3289,19 +3305,19 @@ struct __ecereNameSpace__ecere__sys__OldList * list = MkList();
 
 if(ProcessBracketInst(inst, list))
 {
-ListAdd(decl->specifiers, MkSpecifierName(inst->_class->name));
-ListAdd(decl->declarators, MkInitDeclarator(MkDeclaratorIdentifier(inst->exp->identifier), MkInitializerList(list)));
-inst->exp->identifier = (((void *)0));
+ListAdd(decl->__anon1.__anon1.specifiers, MkSpecifierName(inst->_class->__anon1.__anon1.name));
+ListAdd(decl->__anon1.__anon1.declarators, MkInitDeclarator(MkDeclaratorIdentifier(inst->exp->__anon1.__anon1.identifier), MkInitializerList(list)));
+inst->exp->__anon1.__anon1.identifier = (((void *)0));
 }
 else
 {
 FreeList(list, FreeInitializer);
 exp = MkExpBrackets(MkList());
-ProcessInstMembers(inst, inst->exp, exp->list, 0x1);
-ListAdd(exp->list, CopyExpression(inst->exp));
-ListAdd(decl->specifiers, MkSpecifierName(inst->_class->name));
-ListAdd(decl->declarators, MkInitDeclarator(MkDeclaratorIdentifier(inst->exp->identifier), MkInitializerAssignment(exp)));
-inst->exp->identifier = (((void *)0));
+ProcessInstMembers(inst, inst->exp, exp->__anon1.list, 0x1);
+ListAdd(exp->__anon1.list, CopyExpression(inst->exp));
+ListAdd(decl->__anon1.__anon1.specifiers, MkSpecifierName(inst->_class->__anon1.__anon1.name));
+ListAdd(decl->__anon1.__anon1.declarators, MkInitDeclarator(MkDeclaratorIdentifier(inst->exp->__anon1.__anon1.identifier), MkInitializerAssignment(exp)));
+inst->exp->__anon1.__anon1.identifier = (((void *)0));
 }
 }
 }
@@ -3311,21 +3327,21 @@ else
 struct Expression * newCall;
 
 strcpy(className, "__ecereClass_");
-if(classSym && classSym->registered && classSym->registered->type == 5 && classSym->registered->templateClass)
+if(classSym && classSym->__anon1.registered && classSym->__anon1.registered->type == 5 && classSym->__anon1.registered->templateClass)
 {
-classSym = FindClass(classSym->registered->templateClass->fullName);
+classSym = FindClass(classSym->__anon1.registered->templateClass->fullName);
 FullClassNameCat(className, classSym->string, 0x1);
 }
 else
-FullClassNameCat(className, inst->_class->name, 0x1);
+FullClassNameCat(className, inst->_class->__anon1.__anon1.name, 0x1);
 MangleClassName(className);
 if(classSym)
 DeclareClass(classSym, className);
-if(classSym && classSym->registered && classSym->registered->type == 5 && (classSym->registered->templateClass ? classSym->registered->templateClass->fixed : classSym->registered->fixed))
+if(classSym && classSym->__anon1.registered && classSym->__anon1.registered->type == 5 && (classSym->__anon1.registered->templateClass ? classSym->__anon1.registered->templateClass->fixed : classSym->__anon1.registered->fixed))
 {
 char size[256];
 
-sprintf(size, "%d", classSym->registered->templateClass ? classSym->registered->templateClass->structSize : classSym->registered->structSize);
+sprintf(size, "%d", classSym->__anon1.registered->templateClass ? classSym->__anon1.registered->templateClass->structSize : classSym->__anon1.registered->structSize);
 newCall = MkExpCall(QMkExpId("ecere::com::eSystem_New0"), MkListOne(MkExpConstant(size)));
 }
 else
@@ -3337,22 +3353,22 @@ newCall->byReference = 0x1;
 if(inst->exp)
 {
 struct Expression * exp, * newExp;
-struct Identifier * id = CopyIdentifier(inst->exp->identifier);
+struct Identifier * id = CopyIdentifier(inst->exp->__anon1.__anon1.identifier);
 
 if(inst->members && (*inst->members).first)
 {
 newExp = MkExpOp(CopyExpression(inst->exp), '=', newCall);
 exp = MkExpBrackets(MkList());
-ListAdd(exp->list, newExp);
-ProcessInstMembers(inst, inst->exp, exp->list, 0x0);
-ListAdd(exp->list, inst->exp);
+ListAdd(exp->__anon1.list, newExp);
+ProcessInstMembers(inst, inst->exp, exp->__anon1.list, 0x0);
+ListAdd(exp->__anon1.list, inst->exp);
 ProcessExpression(inst->exp);
 inst->exp = (((void *)0));
 }
 else
 exp = newCall;
-ListAdd(decl->specifiers, MkSpecifierName(inst->_class->name));
-ListAdd(decl->declarators, MkInitDeclarator(MkDeclaratorIdentifier(id), MkInitializerAssignment(exp)));
+ListAdd(decl->__anon1.__anon1.specifiers, MkSpecifierName(inst->_class->__anon1.__anon1.name));
+ListAdd(decl->__anon1.__anon1.declarators, MkInitDeclarator(MkDeclaratorIdentifier(id), MkInitializerAssignment(exp)));
 }
 else
 FreeExpression(newCall);
@@ -3366,11 +3382,11 @@ break;
 }
 case 0:
 {
-if(decl->specifiers)
+if(decl->__anon1.__anon1.specifiers)
 {
 struct Specifier * spec;
 
-for(spec = (*decl->specifiers).first; spec; spec = spec->next)
+for(spec = (*decl->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
 ProcessSpecifier(spec);
 }
 break;
@@ -3384,37 +3400,37 @@ yylloc = stmt->loc;
 switch(stmt->type)
 {
 case 0:
-if(stmt->labeled.stmt)
-ProcessStatement(stmt->labeled.stmt);
+if(stmt->__anon1.labeled.stmt)
+ProcessStatement(stmt->__anon1.labeled.stmt);
 break;
 case 1:
-if(stmt->caseStmt.exp)
-ProcessExpression(stmt->caseStmt.exp);
-if(stmt->caseStmt.stmt)
-ProcessStatement(stmt->caseStmt.stmt);
+if(stmt->__anon1.caseStmt.exp)
+ProcessExpression(stmt->__anon1.caseStmt.exp);
+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;
+curContext = stmt->__anon1.compound.context;
 }
-if(stmt->compound.declarations)
+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);
 }
@@ -3428,9 +3444,9 @@ case 3:
 {
 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)
 {
 ProcessExpression(exp);
 }
@@ -3441,78 +3457,78 @@ case 4:
 {
 struct Expression * exp;
 
-((struct Expression *)(*stmt->ifStmt.exp).last)->usage = (((struct Expression *)(*stmt->ifStmt.exp).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
-for(exp = (*stmt->ifStmt.exp).first; exp; exp = exp->next)
+((struct Expression *)(*stmt->__anon1.ifStmt.exp).last)->usage = (((struct Expression *)(*stmt->__anon1.ifStmt.exp).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
+for(exp = (*stmt->__anon1.ifStmt.exp).first; exp; exp = exp->next)
 {
 ProcessExpression(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 Expression * exp;
 
-((struct Expression *)(*stmt->switchStmt.exp).last)->usage = (((struct Expression *)(*stmt->switchStmt.exp).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
-for(exp = (*stmt->switchStmt.exp).first; exp; exp = exp->next)
+((struct Expression *)(*stmt->__anon1.switchStmt.exp).last)->usage = (((struct Expression *)(*stmt->__anon1.switchStmt.exp).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
+for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
 ProcessExpression(exp);
-ProcessStatement(stmt->switchStmt.stmt);
+ProcessStatement(stmt->__anon1.switchStmt.stmt);
 break;
 }
 case 6:
 {
-if(stmt->whileStmt.exp)
+if(stmt->__anon1.whileStmt.exp)
 {
 struct Expression * exp;
 
-((struct Expression *)(*stmt->whileStmt.exp).last)->usage = (((struct Expression *)(*stmt->whileStmt.exp).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
-for(exp = (*stmt->whileStmt.exp).first; exp; exp = exp->next)
+((struct Expression *)(*stmt->__anon1.whileStmt.exp).last)->usage = (((struct Expression *)(*stmt->__anon1.whileStmt.exp).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
+for(exp = (*stmt->__anon1.whileStmt.exp).first; exp; exp = exp->next)
 {
 ProcessExpression(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;
 
-((struct Expression *)(*stmt->doWhile.exp).last)->usage = (((struct Expression *)(*stmt->doWhile.exp).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
-for(exp = (*stmt->doWhile.exp).first; exp; exp = exp->next)
+((struct Expression *)(*stmt->__anon1.doWhile.exp).last)->usage = (((struct Expression *)(*stmt->__anon1.doWhile.exp).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
+for(exp = (*stmt->__anon1.doWhile.exp).first; exp; exp = exp->next)
 {
 ProcessExpression(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)
 {
-((struct Expression *)(*stmt->forStmt.check->expressions).last)->usage = (((struct Expression *)(*stmt->forStmt.check->expressions).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
+((struct Expression *)(*stmt->__anon1.forStmt.check->__anon1.expressions).last)->usage = (((struct Expression *)(*stmt->__anon1.forStmt.check->__anon1.expressions).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
 }
-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)
 ProcessExpression(exp);
 }
-if(stmt->forStmt.stmt)
-ProcessStatement(stmt->forStmt.stmt);
+if(stmt->__anon1.forStmt.stmt)
+ProcessStatement(stmt->__anon1.forStmt.stmt);
 break;
 }
 case 9:
@@ -3525,10 +3541,10 @@ case 12:
 {
 struct Expression * exp;
 
-if(stmt->expressions && (*stmt->expressions).last)
+if(stmt->__anon1.expressions && (*stmt->__anon1.expressions).last)
 {
-((struct Expression *)(*stmt->expressions).last)->usage = (((struct Expression *)(*stmt->expressions).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
-for(exp = (*stmt->expressions).first; exp; exp = exp->next)
+((struct Expression *)(*stmt->__anon1.expressions).last)->usage = (((struct Expression *)(*stmt->__anon1.expressions).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
+for(exp = (*stmt->__anon1.expressions).first; exp; exp = exp->next)
 {
 ProcessExpression(exp);
 }
@@ -3537,28 +3553,28 @@ break;
 }
 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)
 ProcessExpression(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)
 ProcessExpression(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)
 ProcessExpression(field->expression);
 }
@@ -3593,16 +3609,16 @@ for(external = (*ast).first; external; external = external->next)
 curExternal = external;
 if(external->type == 1)
 {
-if(external->declaration)
-ProcessDeclaration(external->declaration);
+if(external->__anon1.declaration)
+ProcessDeclaration(external->__anon1.declaration);
 }
 else if(external->type == 0)
 {
-ProcessFunction(external->function);
+ProcessFunction(external->__anon1.function);
 }
 else if(external->type == 2)
 {
-struct ClassDefinition * _class = external->_class;
+struct ClassDefinition * _class = external->__anon1._class;
 
 if(_class->definitions)
 {
@@ -3612,59 +3628,59 @@ for(def = (*_class->definitions).first; def; def = def->next)
 {
 if(def->type == 0)
 {
-curExternal = def->function->declarator ? def->function->declarator->symbol->pointerExternal : external;
-ProcessFunction((struct FunctionDefinition *)def->function);
+curExternal = def->__anon1.function->declarator ? def->__anon1.function->declarator->symbol->__anon2.__anon1.pointerExternal : external;
+ProcessFunction((struct FunctionDefinition *)def->__anon1.function);
 }
-else if(def->type == 2 && def->decl->type == 2)
+else if(def->type == 2 && def->__anon1.decl->type == 2)
 {
-ProcessInstantiation(def->decl->inst);
+ProcessInstantiation(def->__anon1.decl->__anon1.inst);
 }
-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 = MkClassTypeSymbol(_class->symbol), 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)
 {
 ProcessMemberInitData(defProperty);
 }
 __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;
 struct Symbol * thisSymbol = (thisSymbol = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol), thisSymbol->string = __ecereNameSpace__ecere__sys__CopyString("this"), thisSymbol->type = MkClassTypeSymbol(_class->symbol), thisSymbol);
 
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&globalContext->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
 if(prop->setStmt)
 {
-curExternal = prop->symbol ? prop->symbol->externalSet : (((void *)0));
+curExternal = prop->symbol ? prop->symbol->__anon2.__anon2.externalSet : (((void *)0));
 ProcessStatement(prop->setStmt);
 }
 if(prop->getStmt)
 {
-curExternal = prop->symbol ? prop->symbol->externalGet : (((void *)0));
+curExternal = prop->symbol ? prop->symbol->__anon2.__anon2.externalGet : (((void *)0));
 ProcessStatement(prop->getStmt);
 }
 if(prop->issetStmt)
 {
-curExternal = prop->symbol ? prop->symbol->externalIsSet : (((void *)0));
+curExternal = prop->symbol ? prop->symbol->__anon2.__anon2.externalIsSet : (((void *)0));
 ProcessStatement(prop->issetStmt);
 }
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&globalContext->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
 FreeSymbol(thisSymbol);
 }
-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;
 struct Symbol * thisSymbol = (thisSymbol = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol), thisSymbol->string = __ecereNameSpace__ecere__sys__CopyString("this"), thisSymbol->type = MkClassTypeSymbol(_class->symbol), thisSymbol);
 
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&globalContext->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
 if(propertyWatch->compound)
 {
-__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);
 }
index 3ffdeae..dfd8c77 100644 (file)
@@ -206,14 +206,14 @@ struct
 {
 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;
@@ -301,7 +301,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -329,7 +329,7 @@ union
 {
 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));
@@ -351,7 +351,7 @@ float f;
 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;
@@ -368,14 +368,14 @@ struct
 {
 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
 {
@@ -454,7 +454,7 @@ 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;
@@ -500,7 +500,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -510,11 +510,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -570,7 +570,7 @@ struct
 {
 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;
@@ -614,7 +614,7 @@ struct Declaration * declaration;
 char *  importString;
 struct Identifier * id;
 struct DBTableDef * table;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 int importType;
 } __attribute__ ((gcc_struct));
 
@@ -641,7 +641,7 @@ union
 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
@@ -650,20 +650,20 @@ struct
 {
 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;
@@ -706,7 +706,7 @@ struct
 {
 struct __ecereNameSpace__ecere__sys__OldList members;
 char *  enumName;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Type * returnType;
@@ -714,13 +714,13 @@ struct __ecereNameSpace__ecere__sys__OldList params;
 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;
@@ -728,10 +728,10 @@ int arraySize;
 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;
@@ -885,7 +885,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -895,9 +895,9 @@ 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));
 
 enum yytokentype
@@ -1014,7 +1014,7 @@ union
 {
 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;
@@ -1052,7 +1052,7 @@ struct
 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;
@@ -1088,8 +1088,8 @@ struct
 {
 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));
@@ -1124,10 +1124,10 @@ static void _FixRefExp(struct Expression ** expPtr, struct Expression ** memberE
 {
 struct Expression * memberExp = *memberExpPtr;
 
-if(memberExp && memberExp->type == 8 && memberExp->member.exp && (memberExp->member.exp->type == 5 || memberExp->member.exp->type == 32))
+if(memberExp && memberExp->type == 8 && memberExp->__anon1.member.exp && (memberExp->__anon1.member.exp->type == 5 || memberExp->__anon1.member.exp->type == 32))
 {
-struct Expression * bracketExp = memberExp->member.exp;
-struct Expression * idExp = (*bracketExp->list).last;
+struct Expression * bracketExp = memberExp->__anon1.member.exp;
+struct Expression * idExp = (*bracketExp->__anon1.list).last;
 
 if(idExp && idExp->type == 0)
 {
@@ -1138,29 +1138,29 @@ struct Expression * exp = *expPtr;
 newExp = CopyExpression(exp);
 FreeExpContents(exp);
 *(struct Expression **)((unsigned char *)newExp + ((unsigned char *)memberExpPtr - (unsigned char *)exp)) = memberExp;
-memberExp->member.exp = idExp;
+memberExp->__anon1.member.exp = idExp;
 exp->type = 5;
-exp->list = bracketExp->list;
-bracketExp->list = (((void *)0));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*exp->list), idExp);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*exp->list), newExp);
+exp->__anon1.list = bracketExp->__anon1.list;
+bracketExp->__anon1.list = (((void *)0));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*exp->__anon1.list), idExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*exp->__anon1.list), newExp);
 FreeExpression(bracketExp);
 *expPtr = exp;
 }
 }
-else if(*expPtr && (*expPtr)->type == 4 && (*expPtr)->op.op == '&' && !(*expPtr)->op.exp1 && memberExp && (memberExp->type == 5 || memberExp->type == 32) && memberExp->list && (*memberExp->list).count > 1)
+else if(*expPtr && (*expPtr)->type == 4 && (*expPtr)->__anon1.op.op == '&' && !(*expPtr)->__anon1.op.exp1 && memberExp && (memberExp->type == 5 || memberExp->type == 32) && memberExp->__anon1.list && (*memberExp->__anon1.list).count > 1)
 {
 struct Expression * newExp = (((void *)0));
 struct Expression * exp = *expPtr;
 
 *memberExpPtr = (((void *)0));
 newExp = CopyExpression(exp);
-*(struct Expression **)((unsigned char *)newExp + ((unsigned char *)memberExpPtr - (unsigned char *)exp)) = (*memberExp->list).last;
+*(struct Expression **)((unsigned char *)newExp + ((unsigned char *)memberExpPtr - (unsigned char *)exp)) = (*memberExp->__anon1.list).last;
 exp->type = 5;
-exp->list = memberExp->list;
-memberExp->list = (((void *)0));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*exp->list), (*exp->list).last);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*exp->list), newExp);
+exp->__anon1.list = memberExp->__anon1.list;
+memberExp->__anon1.list = (((void *)0));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*exp->__anon1.list), (*exp->__anon1.list).last);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*exp->__anon1.list), newExp);
 FreeExpression(memberExp);
 *expPtr = newExp;
 }
@@ -1170,13 +1170,13 @@ static struct Expression * FixRefExp(struct Expression * exp)
 {
 if(exp->type == 4)
 {
-_FixRefExp(&exp, &exp->op.exp1);
-_FixRefExp(&exp, &exp->op.exp2);
+_FixRefExp(&exp, &exp->__anon1.op.exp1);
+_FixRefExp(&exp, &exp->__anon1.op.exp2);
 }
 else if(exp->type == 6)
-_FixRefExp(&exp, &exp->index.exp);
+_FixRefExp(&exp, &exp->__anon1.index.exp);
 else if(exp->type == 8)
-_FixRefExp(&exp, &exp->member.exp);
+_FixRefExp(&exp, &exp->__anon1.member.exp);
 return exp;
 }
 
@@ -1193,7 +1193,7 @@ unsigned int isPointer = 0x0;
 
 if(type->kind == 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 && !type->declaredWithStruct) || _class->type == 5 || (_class->type == 1000 && _class->base && strcmp(_class->fullName, "uintptr") && strcmp(_class->fullName, "intptr") && strcmp(_class->fullName, "uintsize") && strcmp(_class->fullName, "intsize"))))
 {
@@ -1205,10 +1205,10 @@ for(; ; )
 {
 if(exp->type == 5 || exp->type == 32)
 {
-if(exp->list)
+if(exp->__anon1.list)
 {
 exp->byReference = wantReference;
-exp = (*exp->list).last;
+exp = (*exp->__anon1.list).last;
 }
 else
 break;
@@ -1216,13 +1216,13 @@ break;
 else if(exp->type == 11)
 {
 exp->byReference = wantReference;
-exp = exp->cast.exp;
+exp = exp->__anon1.cast.exp;
 }
 else if(exp->type == 12)
 {
-if((*exp->cond.exp).last)
-FixReference((*exp->cond.exp).last, wantReference);
-FixReference(exp->cond.elseExp, wantReference);
+if((*exp->__anon1.cond.exp).last)
+FixReference((*exp->__anon1.cond.exp).last, wantReference);
+FixReference(exp->__anon1.cond.elseExp, wantReference);
 break;
 }
 else
@@ -1237,12 +1237,12 @@ exp->destType->refCount++;
 if(exp->expType)
 exp->expType->refCount++;
 exp->type = 4;
-exp->op.exp1 = (((void *)0));
-exp->op.exp2 = newExp;
+exp->__anon1.op.exp1 = (((void *)0));
+exp->__anon1.op.exp2 = newExp;
 if(wantReference)
-exp->op.op = '&';
+exp->__anon1.op.op = '&';
 else
-exp->op.op = '*';
+exp->__anon1.op.op = '*';
 e->byReference = wantReference;
 exp->byReference = wantReference;
 }
@@ -1265,13 +1265,13 @@ for(; exp; )
 {
 if(exp->type == 5 || exp->type == 32)
 {
-if((*exp->list).count > 1)
+if((*exp->__anon1.list).count > 1)
 byReference = 0x1;
-exp = (*exp->list).last;
+exp = (*exp->__anon1.list).last;
 }
 else if(exp->type == 11)
 {
-exp = exp->cast.exp;
+exp = exp->__anon1.cast.exp;
 }
 else
 {
@@ -1495,6 +1495,8 @@ extern int printf(const char * , ...);
 
 extern struct Type * ProcessTemplateParameterType(struct TemplateParameter * param);
 
+extern char *  __ecereNameSpace__ecere__com__PrintString(struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...);
+
 extern void DeclareStruct(const char *  name, unsigned int skipNoHead);
 
 static void ProcessStatement(struct Statement * stmt);
@@ -1519,6 +1521,10 @@ unsigned int __ecereProp_Type_Get_specConst(struct Type * this);
 
 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp_Type_specConst;
 
+extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_String;
+
+extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_char__PTR_;
+
 static void ProcessExpression(struct Expression * exp)
 {
 struct Location oldyylloc = yylloc;
@@ -1530,8 +1536,8 @@ case 0:
 {
 if(exp->expType && exp->expType->kind == 16)
 {
-struct __ecereNameSpace__ecere__com__Class * _class = exp->expType->methodClass;
-struct __ecereNameSpace__ecere__com__Method * method = exp->expType->method;
+struct __ecereNameSpace__ecere__com__Class * _class = exp->expType->__anon1.__anon3.methodClass;
+struct __ecereNameSpace__ecere__com__Method * method = exp->expType->__anon1.__anon3.method;
 
 if(method->type == 1)
 {
@@ -1546,20 +1552,20 @@ strcat(name, "_");
 strcat(name, method->name);
 DeclareMethod(method, name);
 decl = SpecDeclFromString(method->dataTypeString, specs, MkDeclaratorBrackets(MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))));
-if(!method->dataType->staticMethod)
+if(!method->dataType->__anon1.__anon2.staticMethod)
 {
 struct Declarator * funcDecl = GetFuncDecl(decl);
 
-if(!funcDecl->function.parameters)
-funcDecl->function.parameters = MkList();
+if(!funcDecl->__anon1.function.parameters)
+funcDecl->__anon1.function.parameters = MkList();
 {
-struct TypeName * firstParam = ((struct TypeName *)(*funcDecl->function.parameters).first);
+struct TypeName * firstParam = ((struct TypeName *)(*funcDecl->__anon1.function.parameters).first);
 struct Specifier * firstSpec = firstParam ? (*firstParam->qualifiers).first : (((void *)0));
 
-if(firstParam && firstSpec->type == 0 && firstSpec->specifier == VOID && !firstParam->declarator)
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*funcDecl->function.parameters), (*funcDecl->function.parameters).first);
+if(firstParam && firstSpec->type == 0 && firstSpec->__anon1.specifier == VOID && !firstParam->declarator)
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*funcDecl->__anon1.function.parameters), (*funcDecl->__anon1.function.parameters).first);
 }
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->function.parameters), (((void *)0)), MkTypeName(MkListOne(MkSpecifierName(method->dataType->thisClass ? method->dataType->thisClass->string : method->_class->fullName)), (((void *)0))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->__anon1.function.parameters), (((void *)0)), MkTypeName(MkListOne(MkSpecifierName(method->dataType->__anon1.__anon2.thisClass ? method->dataType->__anon1.__anon2.thisClass->string : method->_class->fullName)), (((void *)0))));
 }
 typeName = MkTypeName(specs, decl);
 if(_class)
@@ -1572,10 +1578,10 @@ MangleClassName(className);
 if(!_class->symbol)
 _class->symbol = FindClass(_class->fullName);
 DeclareClass(_class->symbol, className);
-if(exp->identifier)
-FreeIdentifier(exp->identifier);
+if(exp->__anon1.__anon1.identifier)
+FreeIdentifier(exp->__anon1.__anon1.identifier);
 exp->type = 5;
-exp->list = MkListOne(MkExpCast(typeName, MkExpIndex(MkExpPointer(MkExpIdentifier(MkIdentifier(className)), MkIdentifier("_vTbl")), MkListOne(MkExpIdentifier(MkIdentifier(name))))));
+exp->__anon1.list = MkListOne(MkExpCast(typeName, MkExpIndex(MkExpPointer(MkExpIdentifier(MkIdentifier(className)), MkIdentifier("_vTbl")), MkListOne(MkExpIdentifier(MkIdentifier(name))))));
 }
 }
 else
@@ -1586,10 +1592,10 @@ strcpy(name, "__ecereMethod_");
 FullClassNameCat(name, method->_class->fullName, 0x0);
 strcat(name, "_");
 strcat(name, method->name);
-(__ecereNameSpace__ecere__com__eSystem_Delete(exp->identifier->string), exp->identifier->string = 0);
-FreeSpecifier(exp->identifier->_class);
-exp->identifier->_class = (((void *)0));
-exp->identifier->string = __ecereNameSpace__ecere__sys__CopyString(name);
+(__ecereNameSpace__ecere__com__eSystem_Delete(exp->__anon1.__anon1.identifier->string), exp->__anon1.__anon1.identifier->string = 0);
+FreeSpecifier(exp->__anon1.__anon1.identifier->_class);
+exp->__anon1.__anon1.identifier->_class = (((void *)0));
+exp->__anon1.__anon1.identifier->string = __ecereNameSpace__ecere__sys__CopyString(name);
 DeclareMethod(method, name);
 }
 }
@@ -1607,38 +1613,38 @@ case 27:
 struct __ecereNameSpace__ecere__sys__OldList * args = MkList();
 
 if(exp->type == 14 || exp->type == 27)
-ListAdd(args, exp->_renew.exp);
-ListAdd(args, MkExpOp(MkExpTypeSize(exp->_new.typeName), '*', MkExpBrackets(MkListOne(exp->_new.size))));
+ListAdd(args, exp->__anon1._renew.exp);
+ListAdd(args, MkExpOp(MkExpTypeSize(exp->__anon1._new.typeName), '*', MkExpBrackets(MkListOne(exp->__anon1._new.size))));
 switch(exp->type)
 {
 case 13:
-exp->call.exp = QMkExpId("ecere::com::eSystem_New");
+exp->__anon1.call.exp = QMkExpId("ecere::com::eSystem_New");
 break;
 case 26:
-exp->call.exp = QMkExpId("ecere::com::eSystem_New0");
+exp->__anon1.call.exp = QMkExpId("ecere::com::eSystem_New0");
 break;
 case 14:
-exp->call.exp = QMkExpId("ecere::com::eSystem_Renew");
+exp->__anon1.call.exp = QMkExpId("ecere::com::eSystem_Renew");
 break;
 case 27:
-exp->call.exp = QMkExpId("ecere::com::eSystem_Renew0");
+exp->__anon1.call.exp = QMkExpId("ecere::com::eSystem_Renew0");
 break;
 }
-exp->call.arguments = args;
+exp->__anon1.call.arguments = args;
 exp->type = 7;
 ProcessExpression(exp);
 break;
 }
 case 4:
 {
-struct Expression * exp1 = exp->op.exp1;
-struct Expression * exp2 = exp->op.exp2;
+struct Expression * exp1 = exp->__anon1.op.exp1;
+struct Expression * exp2 = exp->__anon1.op.exp2;
 
-switch(exp->op.op)
+switch(exp->__anon1.op.op)
 {
 case '=':
-if(exp->op.exp2)
-exp->op.exp2->usage = (exp->op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
+if(exp->__anon1.op.exp2)
+exp->__anon1.op.exp2->usage = (exp->__anon1.op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
 break;
 case MUL_ASSIGN:
 case DIV_ASSIGN:
@@ -1650,32 +1656,32 @@ case RIGHT_ASSIGN:
 case AND_ASSIGN:
 case XOR_ASSIGN:
 case OR_ASSIGN:
-exp->op.exp2->usage = (exp->op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
+exp->__anon1.op.exp2->usage = (exp->__anon1.op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
 break;
 case INC_OP:
 case DEC_OP:
 case '&':
-if(exp->op.exp1 && exp->op.exp2)
+if(exp->__anon1.op.exp1 && exp->__anon1.op.exp2)
 {
-exp->op.exp1->usage = (exp->op.exp1->usage & ~0x1) | (((unsigned int)0x1) << 0);
-exp->op.exp2->usage = (exp->op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
+exp->__anon1.op.exp1->usage = (exp->__anon1.op.exp1->usage & ~0x1) | (((unsigned int)0x1) << 0);
+exp->__anon1.op.exp2->usage = (exp->__anon1.op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
 }
-else if(exp->op.exp2)
+else if(exp->__anon1.op.exp2)
 {
-exp->op.exp2->usage = (exp->op.exp2->usage & ~0x40) | (((unsigned int)0x1) << 6);
+exp->__anon1.op.exp2->usage = (exp->__anon1.op.exp2->usage & ~0x40) | (((unsigned int)0x1) << 6);
 }
 break;
 case '*':
 case '+':
 case '-':
-if(exp->op.exp1)
+if(exp->__anon1.op.exp1)
 {
-exp->op.exp1->usage = (exp->op.exp1->usage & ~0x1) | (((unsigned int)0x1) << 0);
+exp->__anon1.op.exp1->usage = (exp->__anon1.op.exp1->usage & ~0x1) | (((unsigned int)0x1) << 0);
 }
 case '~':
 case '!':
-if(exp->op.exp2)
-exp->op.exp2->usage = (exp->op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
+if(exp->__anon1.op.exp2)
+exp->__anon1.op.exp2->usage = (exp->__anon1.op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
 break;
 case '/':
 case '%':
@@ -1691,34 +1697,34 @@ case '|':
 case '^':
 case AND_OP:
 case OR_OP:
-if(exp->op.exp1)
-exp->op.exp1->usage = (exp->op.exp1->usage & ~0x1) | (((unsigned int)0x1) << 0);
-if(exp->op.exp2)
-exp->op.exp2->usage = (exp->op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
+if(exp->__anon1.op.exp1)
+exp->__anon1.op.exp1->usage = (exp->__anon1.op.exp1->usage & ~0x1) | (((unsigned int)0x1) << 0);
+if(exp->__anon1.op.exp2)
+exp->__anon1.op.exp2->usage = (exp->__anon1.op.exp2->usage & ~0x1) | (((unsigned int)0x1) << 0);
 break;
 }
-if(exp->op.op == '=' || exp->op.op == MUL_ASSIGN || exp->op.op == DIV_ASSIGN || exp->op.op == ADD_ASSIGN || exp->op.op == MOD_ASSIGN || exp->op.op == SUB_ASSIGN || exp->op.op == LEFT_ASSIGN || exp->op.op == RIGHT_ASSIGN || exp->op.op == AND_ASSIGN || exp->op.op == OR_ASSIGN || exp->op.op == XOR_ASSIGN || exp->op.op == INC_OP || exp->op.op == DEC_OP)
+if(exp->__anon1.op.op == '=' || exp->__anon1.op.op == MUL_ASSIGN || exp->__anon1.op.op == DIV_ASSIGN || exp->__anon1.op.op == ADD_ASSIGN || exp->__anon1.op.op == MOD_ASSIGN || exp->__anon1.op.op == SUB_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 || exp->__anon1.op.op == XOR_ASSIGN || exp->__anon1.op.op == INC_OP || exp->__anon1.op.op == DEC_OP)
 {
 struct Expression * memberExp;
 struct Expression * parentExp = (((void *)0));
 
-if(exp->op.exp1 && exp->op.exp1->type == 8)
+if(exp->__anon1.op.exp1 && exp->__anon1.op.exp1->type == 8)
 {
 struct Expression * testExp, * topExp = (((void *)0));
-struct Expression * lastExp = exp->op.exp1, * parentExp = (((void *)0));
+struct Expression * lastExp = exp->__anon1.op.exp1, * parentExp = (((void *)0));
 struct __ecereNameSpace__ecere__com__Property * lastProperty = (((void *)0));
 struct __ecereNameSpace__ecere__com__Class * propertyClass;
 char setName[1024], getName[1024];
 
-testExp = exp->op.exp1->member.exp;
+testExp = exp->__anon1.op.exp1->__anon1.member.exp;
 while(0x1)
 {
 while(testExp)
 {
 if(testExp->type == 11)
-testExp = testExp->cast.exp;
+testExp = testExp->__anon1.cast.exp;
 else if(testExp->type == 5 || testExp->type == 32)
-testExp = (*testExp->list).last;
+testExp = (*testExp->__anon1.list).last;
 else if(testExp->type == 8)
 break;
 else
@@ -1726,31 +1732,31 @@ testExp = (((void *)0));
 }
 if(!testExp)
 break;
-if(testExp->member.memberType == 1 || testExp->member.memberType == 4)
+if(testExp->__anon1.member.memberType == 1 || testExp->__anon1.member.memberType == 4)
 {
-struct Type * type = testExp->member.exp->expType;
+struct Type * type = testExp->__anon1.member.exp->expType;
 
 if(type)
 {
 if(type->kind == 8)
 {
-struct __ecereNameSpace__ecere__com__Class * _class = testExp->member.member->classSym ? testExp->member.member->classSym->registered : type->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = testExp->__anon1.member.member->classSym ? testExp->__anon1.member.member->classSym->__anon1.registered : type->__anon1._class->__anon1.registered;
 struct __ecereNameSpace__ecere__com__Class * convertTo = (((void *)0));
 
-if(testExp->member.memberType == 4)
+if(testExp->__anon1.member.memberType == 4)
 {
 convertTo = _class;
-_class = FindClass(testExp->member.member->string)->registered;
+_class = FindClass(testExp->__anon1.member.member->string)->__anon1.registered;
 lastProperty = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, convertTo->fullName, privateModule);
 }
 else
 {
-lastProperty = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, testExp->member.member->string, privateModule);
+lastProperty = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, testExp->__anon1.member.member->string, privateModule);
 }
 if(lastProperty && lastProperty->Get && lastProperty->Set)
 {
 DeclareProperty(lastProperty, setName, getName);
-propertyClass = convertTo ? _class : ((((struct Symbol *)lastProperty->symbol)->type && ((struct Symbol *)lastProperty->symbol)->type->kind == 8) ? ((struct Symbol *)lastProperty->symbol)->type->_class->registered : ((struct Symbol *)lastProperty->symbol)->_class);
+propertyClass = convertTo ? _class : ((((struct Symbol *)lastProperty->symbol)->type && ((struct Symbol *)lastProperty->symbol)->type->kind == 8) ? ((struct Symbol *)lastProperty->symbol)->type->__anon1._class->__anon1.registered : ((struct Symbol *)lastProperty->symbol)->_class);
 if(propertyClass && propertyClass->type == 1)
 {
 topExp = testExp;
@@ -1766,7 +1772,7 @@ parentExp = lastExp;
 }
 }
 lastExp = testExp;
-testExp = testExp->member.exp;
+testExp = testExp->__anon1.member.exp;
 }
 if(topExp)
 {
@@ -1780,21 +1786,21 @@ struct Expression * tempExp;
 sprintf(className, "__simpleStruct%d", curContext->simpleID);
 tempExp = QMkExpId(className);
 tempExp->expType = MkClassType(propertyClass->fullName);
-parentExp->member.exp = tempExp;
+parentExp->__anon1.member.exp = tempExp;
 value = MkExpBrackets(MkList());
 copy = CopyExpression(topExp);
 copy->usage = (copy->usage & ~0x1) | (((unsigned int)0x1) << 0);
 copy->usage = (copy->usage & ~0x20) | (((unsigned int)0x1) << 5);
-ListAdd(value->list, copy);
-ListAdd(value->list, MkExpOp(exp->op.exp1, exp->op.op, exp->op.exp2));
-ListAdd(value->list, CopyExpression(tempExp));
+ListAdd(value->__anon1.list, copy);
+ListAdd(value->__anon1.list, MkExpOp(exp->__anon1.op.exp1, exp->__anon1.op.op, exp->__anon1.op.exp2));
+ListAdd(value->__anon1.list, CopyExpression(tempExp));
 value->expType = tempExp->expType;
 tempExp->expType->refCount++;
-exp->op.exp1 = topExp;
-exp->op.exp2 = value;
-exp->op.op = '=';
-exp1 = exp->op.exp1;
-exp2 = exp->op.exp2;
+exp->__anon1.op.exp1 = topExp;
+exp->__anon1.op.exp2 = value;
+exp->__anon1.op.op = '=';
+exp1 = exp->__anon1.op.exp1;
+exp2 = exp->__anon1.op.exp2;
 }
 else if(propertyClass->type == 2)
 {
@@ -1806,92 +1812,92 @@ struct Expression * tempExp;
 sprintf(className, "__simpleStruct%d", curContext->simpleID);
 tempExp = QMkExpId(className);
 tempExp->expType = MkClassType(propertyClass->fullName);
-parentExp->member.exp = tempExp;
+parentExp->__anon1.member.exp = tempExp;
 value = MkExpBrackets(MkList());
 copy = CopyExpression(topExp);
 copy->usage = (copy->usage & ~0x1) | (((unsigned int)0x1) << 0);
 copy->usage = (copy->usage & ~0x20) | (((unsigned int)0x1) << 5);
-ListAdd(value->list, copy);
-ListAdd(value->list, MkExpOp(exp->op.exp1, exp->op.op, exp->op.exp2));
-ListAdd(value->list, CopyExpression(tempExp));
+ListAdd(value->__anon1.list, copy);
+ListAdd(value->__anon1.list, MkExpOp(exp->__anon1.op.exp1, exp->__anon1.op.op, exp->__anon1.op.exp2));
+ListAdd(value->__anon1.list, CopyExpression(tempExp));
 value->expType = tempExp->expType;
 value->expType->refCount++;
-exp->op.exp1 = topExp;
-exp->op.exp2 = value;
-exp->op.op = '=';
-exp1 = exp->op.exp1;
-exp2 = exp->op.exp2;
+exp->__anon1.op.exp1 = topExp;
+exp->__anon1.op.exp2 = value;
+exp->__anon1.op.op = '=';
+exp1 = exp->__anon1.op.exp1;
+exp2 = exp->__anon1.op.exp2;
 }
 }
 }
-memberExp = exp->op.exp1;
-while(memberExp && ((memberExp->type == 5 && (*memberExp->list).count == 1) || memberExp->type == 32 || memberExp->type == 23))
+memberExp = exp->__anon1.op.exp1;
+while(memberExp && ((memberExp->type == 5 && (*memberExp->__anon1.list).count == 1) || memberExp->type == 32 || memberExp->type == 23))
 {
 parentExp = memberExp;
 if(memberExp->type == 23)
-memberExp = (*((struct Statement *)(*memberExp->compound->compound.statements).last)->expressions).last;
+memberExp = (*((struct Statement *)(*memberExp->__anon1.compound->__anon1.compound.statements).last)->__anon1.expressions).last;
 else
-memberExp = (*memberExp->list).last;
+memberExp = (*memberExp->__anon1.list).last;
 }
-if(memberExp && memberExp->type == 6 && memberExp->index.exp && memberExp->index.exp->expType && memberExp->index.exp->expType->kind == 8 && memberExp->index.exp->expType->_class && memberExp->index.exp->expType->_class->registered && memberExp->index.exp->expType->_class->registered != containerClass && __ecereNameSpace__ecere__com__eClass_IsDerived(memberExp->index.exp->expType->_class->registered, containerClass))
+if(memberExp && memberExp->type == 6 && memberExp->__anon1.index.exp && memberExp->__anon1.index.exp->expType && memberExp->__anon1.index.exp->expType->kind == 8 && memberExp->__anon1.index.exp->expType->__anon1._class && memberExp->__anon1.index.exp->expType->__anon1._class->__anon1.registered && memberExp->__anon1.index.exp->expType->__anon1._class->__anon1.registered != containerClass && __ecereNameSpace__ecere__com__eClass_IsDerived(memberExp->__anon1.index.exp->expType->__anon1._class->__anon1.registered, containerClass))
 {
 ProcessExpression(memberExp);
-while(memberExp && ((memberExp->type == 5 && (*memberExp->list).count == 1) || memberExp->type == 32 || memberExp->type == 23))
+while(memberExp && ((memberExp->type == 5 && (*memberExp->__anon1.list).count == 1) || memberExp->type == 32 || memberExp->type == 23))
 {
 parentExp = memberExp;
 if(memberExp->type == 23)
-memberExp = (*((struct Statement *)(*memberExp->compound->compound.statements).last)->expressions).last;
+memberExp = (*((struct Statement *)(*memberExp->__anon1.compound->__anon1.compound.statements).last)->__anon1.expressions).last;
 else
-memberExp = (*memberExp->list).last;
+memberExp = (*memberExp->__anon1.list).last;
 }
 if(memberExp && memberExp->type == 23)
 {
 parentExp = memberExp;
 if(memberExp->type == 23)
 {
-struct Statement * stmt = memberExp->compound->compound.statements ? (*memberExp->compound->compound.statements).last : (((void *)0));
+struct Statement * stmt = memberExp->__anon1.compound->__anon1.compound.statements ? (*memberExp->__anon1.compound->__anon1.compound.statements).last : (((void *)0));
 
 if(stmt && stmt->type != 3)
 stmt = (((void *)0));
-memberExp = (stmt && stmt->expressions) ? (*stmt->expressions).last : (((void *)0));
+memberExp = (stmt && stmt->__anon1.expressions) ? (*stmt->__anon1.expressions).last : (((void *)0));
 if(memberExp)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*stmt->expressions), memberExp);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*stmt->expressions), MkExpOp(memberExp, exp->op.op, exp->op.exp2));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*stmt->__anon1.expressions), memberExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*stmt->__anon1.expressions), MkExpOp(memberExp, exp->__anon1.op.op, exp->__anon1.op.exp2));
 exp->type = 5;
-exp->list = MkListOne(parentExp);
+exp->__anon1.list = MkListOne(parentExp);
 ProcessExpression(exp);
 break;
 }
 }
 else
-memberExp = (*memberExp->list).last;
+memberExp = (*memberExp->__anon1.list).last;
 }
 }
 if(memberExp && memberExp->type != 8)
 memberExp = (((void *)0));
-if(memberExp && memberExp->type == 8 && memberExp->member.member)
+if(memberExp && memberExp->type == 8 && memberExp->__anon1.member.member)
 {
-struct Type * type = memberExp->member.exp->expType;
+struct Type * type = memberExp->__anon1.member.exp->expType;
 
 if(type)
 {
 if(type->kind == 8 || type->kind == 19)
 {
-struct __ecereNameSpace__ecere__com__Class * _class = memberExp->member.member->classSym ? (memberExp->member.member->classSym ? memberExp->member.member->classSym->registered : (((void *)0))) : (type->_class ? type->_class->registered : (((void *)0)));
+struct __ecereNameSpace__ecere__com__Class * _class = memberExp->__anon1.member.member->classSym ? (memberExp->__anon1.member.member->classSym ? memberExp->__anon1.member.member->classSym->__anon1.registered : (((void *)0))) : (type->__anon1._class ? type->__anon1._class->__anon1.registered : (((void *)0)));
 
 if(memberExp == exp1)
 exp1 = (((void *)0));
 else
 {
 if(parentExp->type == 23)
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*((struct Statement *)(*parentExp->compound->compound.statements).last)->expressions), memberExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*((struct Statement *)(*parentExp->__anon1.compound->__anon1.compound.statements).last)->__anon1.expressions), memberExp);
 else
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*parentExp->list), memberExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*parentExp->__anon1.list), memberExp);
 }
-if(_class && _class->type == 2 && memberExp->member.memberType == 3)
+if(_class && _class->type == 2 && memberExp->__anon1.member.memberType == 3)
 {
-struct __ecereNameSpace__ecere__com__BitMember * bitMember = (struct __ecereNameSpace__ecere__com__BitMember *)__ecereNameSpace__ecere__com__eClass_FindDataMember(_class, memberExp->member.member->string, privateModule, (((void *)0)), (((void *)0)));
+struct __ecereNameSpace__ecere__com__BitMember * bitMember = (struct __ecereNameSpace__ecere__com__BitMember *)__ecereNameSpace__ecere__com__eClass_FindDataMember(_class, memberExp->__anon1.member.member->string, privateModule, (((void *)0)), (((void *)0)));
 char mask[32], shift[10];
 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
 struct Declarator * decl = SpecDeclFromString(_class->dataTypeString, specs, (((void *)0)));
@@ -1902,63 +1908,63 @@ sprintf(mask, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "0x%I
 else
 sprintf(mask, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "0x%I64X" : "0x%llX"), bitMember->mask);
 sprintf(shift, "%d", bitMember->pos);
-exp->op.exp1 = memberExp->member.exp;
-if(exp->op.op == XOR_ASSIGN)
+exp->__anon1.op.exp1 = memberExp->__anon1.member.exp;
+if(exp->__anon1.op.op == XOR_ASSIGN)
 {
-exp->op.exp2 = MkExpOp(MkExpBrackets(MkListOne(MkExpCast(type, exp->op.exp2))), LEFT_OP, MkExpConstant(shift));
+exp->__anon1.op.exp2 = MkExpOp(MkExpBrackets(MkListOne(MkExpCast(type, exp->__anon1.op.exp2))), LEFT_OP, MkExpConstant(shift));
 }
 else
 {
-exp->op.exp2 = MkExpOp(MkExpBrackets(MkListOne(MkExpOp(CopyExpression(memberExp->member.exp), '&', MkExpOp((((void *)0)), '~', MkExpConstant(mask))))), '|', MkExpBrackets(MkListOne(MkExpOp(MkExpBrackets(MkListOne(MkExpCast(type, exp->op.exp2))), LEFT_OP, MkExpConstant(shift)))));
+exp->__anon1.op.exp2 = MkExpOp(MkExpBrackets(MkListOne(MkExpOp(CopyExpression(memberExp->__anon1.member.exp), '&', MkExpOp((((void *)0)), '~', MkExpConstant(mask))))), '|', MkExpBrackets(MkListOne(MkExpOp(MkExpBrackets(MkListOne(MkExpCast(type, exp->__anon1.op.exp2))), LEFT_OP, MkExpConstant(shift)))));
 }
-memberExp->member.exp = (((void *)0));
+memberExp->__anon1.member.exp = (((void *)0));
 FreeExpression(memberExp);
 ProcessExpression(exp);
 return ;
 }
-else if(_class && _class->type == 3 && memberExp->member.memberType == 3)
+else if(_class && _class->type == 3 && memberExp->__anon1.member.memberType == 3)
 {
 }
-else if(memberExp->member.memberType != 3)
+else if(memberExp->__anon1.member.memberType != 3)
 {
 struct __ecereNameSpace__ecere__com__Property * prop;
 struct __ecereNameSpace__ecere__com__Class * convertTo = (((void *)0));
 struct __ecereNameSpace__ecere__com__ClassProperty * classProperty = (((void *)0));
 
-if(memberExp->member.memberType == 4)
+if(memberExp->__anon1.member.memberType == 4)
 {
 convertTo = _class;
-_class = FindClass(memberExp->member.member->string)->registered;
+_class = FindClass(memberExp->__anon1.member.member->string)->__anon1.registered;
 prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, convertTo->fullName, privateModule);
 }
 else
-prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, memberExp->member.member->string, privateModule);
-if(memberExp->member.memberType == 5)
-classProperty = __ecereNameSpace__ecere__com__eClass_FindClassProperty(_class, memberExp->member.member->string);
-exp->tempCount = memberExp->member.exp->tempCount;
+prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, memberExp->__anon1.member.member->string, privateModule);
+if(memberExp->__anon1.member.memberType == 5)
+classProperty = __ecereNameSpace__ecere__com__eClass_FindClassProperty(_class, memberExp->__anon1.member.member->string);
+exp->tempCount = memberExp->__anon1.member.exp->tempCount;
 if(classProperty)
 {
 if(classProperty->Set)
 {
-struct Identifier * id = memberExp->member.member;
-struct Expression * classExp = memberExp->member.exp;
-struct Expression * value = exp->op.exp2;
+struct Identifier * id = memberExp->__anon1.member.member;
+struct Expression * classExp = memberExp->__anon1.member.exp;
+struct Expression * value = exp->__anon1.op.exp2;
 
-memberExp->member.exp = (((void *)0));
-memberExp->member.member = (((void *)0));
-exp->op.exp2 = (((void *)0));
+memberExp->__anon1.member.exp = (((void *)0));
+memberExp->__anon1.member.member = (((void *)0));
+exp->__anon1.op.exp2 = (((void *)0));
 FreeExpContents(memberExp);
 exp->type = 7;
-exp->call.exp = MkExpIdentifier(MkIdentifier("ecere::com::eClass_SetProperty"));
-exp->call.arguments = MkList();
-ListAdd(exp->call.arguments, classExp);
+exp->__anon1.call.exp = MkExpIdentifier(MkIdentifier("ecere::com::eClass_SetProperty"));
+exp->__anon1.call.arguments = MkList();
+ListAdd(exp->__anon1.call.arguments, classExp);
 {
 char * s = QMkString(id->string);
 
-ListAdd(exp->call.arguments, MkExpString(s));
+ListAdd(exp->__anon1.call.arguments, MkExpString(s));
 (__ecereNameSpace__ecere__com__eSystem_Delete(s), s = 0);
 }
-ListAdd(exp->call.arguments, MkExpCast(MkTypeName(MkListOne(MkSpecifier(INT64)), (((void *)0))), value));
+ListAdd(exp->__anon1.call.arguments, MkExpCast(MkTypeName(MkListOne(MkSpecifier(INT64)), (((void *)0))), value));
 FreeIdentifier(id);
 ProcessExpression(exp);
 return ;
@@ -1968,12 +1974,12 @@ else if(prop)
 {
 if((!convertTo && prop->Set) || (convertTo && prop->Get))
 {
-struct Expression * value = exp->op.exp2;
+struct Expression * value = exp->__anon1.op.exp2;
 char setName[1024], getName[1024];
 char * setToUse = convertTo ? getName : setName;
 char * getToUse = convertTo ? setName : getName;
 unsigned int needAddress = 0x0;
-int operator = exp->op.op;
+int operator = exp->__anon1.op.op;
 
 switch(operator)
 {
@@ -2030,8 +2036,8 @@ exp2 = (((void *)0));
 if(value)
 value->usage = (value->usage & ~0x4) | (((unsigned int)0x1) << 2);
 DeclareProperty(prop, setName, getName);
-if(memberExp->member.exp)
-ProcessExpression(memberExp->member.exp);
+if(memberExp->__anon1.member.exp)
+ProcessExpression(memberExp->__anon1.member.exp);
 if(((unsigned int)((exp->usage & 0x1) >> 0)) && ((!convertTo && prop->Get) || (convertTo && prop->Set)))
 {
 int __simpleStruct0, __simpleStruct1;
@@ -2041,11 +2047,11 @@ char ecereTemp[100];
 struct Context * context = PushContext();
 
 exp->tempCount++;
-curExternal->function->tempCount = (__simpleStruct0 = curExternal->function->tempCount, __simpleStruct1 = exp->tempCount, (__simpleStruct0 > __simpleStruct1) ? __simpleStruct0 : __simpleStruct1);
+curExternal->__anon1.function->tempCount = (__simpleStruct0 = curExternal->__anon1.function->tempCount, __simpleStruct1 = exp->tempCount, (__simpleStruct0 > __simpleStruct1) ? __simpleStruct0 : __simpleStruct1);
 sprintf(ecereTemp, "__ecTemp%d", exp->tempCount);
 curContext = context;
 exp->type = 23;
-exp->compound = MkCompoundStmt(MkListOne(MkDeclaration(MkListOne(MkSpecifier(VOID)), MkListOne(MkInitDeclarator(MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), MkDeclaratorIdentifier(MkIdentifier(ecereTemp))), MkInitializerAssignment(QBrackets(memberExp->member.exp)))))), list);
+exp->__anon1.compound = MkCompoundStmt(MkListOne(MkDeclaration(MkListOne(MkSpecifier(VOID)), MkListOne(MkInitDeclarator(MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), MkDeclaratorIdentifier(MkIdentifier(ecereTemp))), MkInitializerAssignment(QBrackets(memberExp->__anon1.member.exp)))))), list);
 args = MkList();
 if(convertTo)
 {
@@ -2065,7 +2071,7 @@ ListAdd(args, QMkExpId(ecereTemp));
 else
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*args), (((void *)0)), QMkExpId(ecereTemp));
 ListAdd(list, MkExpressionStmt(MkListOne(MkExpCall(QMkExpId(getToUse), args))));
-exp->compound->compound.context = context;
+exp->__anon1.compound->__anon1.compound.context = context;
 PopContext(context);
 curContext = context->parent;
 }
@@ -2076,7 +2082,7 @@ struct Expression * newExp = exp;
 if(parentExp && parentExp->type == 23)
 {
 newExp = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*((struct Statement *)(*parentExp->compound->compound.statements).last)->expressions), newExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*((struct Statement *)(*parentExp->__anon1.compound->__anon1.compound.statements).last)->__anon1.expressions), newExp);
 FreeType(exp->expType);
 FreeType(exp->destType);
 *exp = *parentExp;
@@ -2085,21 +2091,21 @@ parentExp->expType = (((void *)0));
 parentExp->destType = (((void *)0));
 }
 newExp->type = 7;
-newExp->call.exp = QMkExpId(setToUse);
-newExp->call.arguments = MkList();
+newExp->__anon1.call.exp = QMkExpId(setToUse);
+newExp->__anon1.call.arguments = MkList();
 if(convertTo)
 {
-ListAdd(newExp->call.arguments, value);
-ListAdd(newExp->call.arguments, FixReference(memberExp->member.exp, 0x1));
+ListAdd(newExp->__anon1.call.arguments, value);
+ListAdd(newExp->__anon1.call.arguments, FixReference(memberExp->__anon1.member.exp, 0x1));
 }
 else
 {
-ListAdd(newExp->call.arguments, FixReference(memberExp->member.exp, 0x1));
-ListAdd(newExp->call.arguments, value);
+ListAdd(newExp->__anon1.call.arguments, FixReference(memberExp->__anon1.member.exp, 0x1));
+ListAdd(newExp->__anon1.call.arguments, value);
 }
 needAddress = 0x1;
 }
-memberExp->member.exp = (((void *)0));
+memberExp->__anon1.member.exp = (((void *)0));
 if(value)
 {
 value->tempCount = exp->tempCount;
@@ -2111,11 +2117,11 @@ FreeExpression(memberExp);
 }
 else
 {
-struct __ecereNameSpace__ecere__com__DataMember * member = __ecereNameSpace__ecere__com__eClass_FindDataMember(_class, memberExp->member.member->string, privateModule, (((void *)0)), (((void *)0)));
+struct __ecereNameSpace__ecere__com__DataMember * member = __ecereNameSpace__ecere__com__eClass_FindDataMember(_class, memberExp->__anon1.member.member->string, privateModule, (((void *)0)), (((void *)0)));
 
 if(member)
 {
-memberExp->member.memberType = 3;
+memberExp->__anon1.member.memberType = 3;
 }
 else
 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "no set defined for property %s of class %s\n", (((void *)0))), prop->name, prop->_class->fullName);
@@ -2123,25 +2129,25 @@ Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "no set define
 }
 else
 {
-struct __ecereNameSpace__ecere__com__Method * method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, memberExp->member.member->string, privateModule);
+struct __ecereNameSpace__ecere__com__Method * method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, memberExp->__anon1.member.member->string, privateModule);
 
 if(method && method->type == 1 && type->kind != 19)
 {
-struct Expression * value = exp->op.exp2;
+struct Expression * value = exp->__anon1.op.exp2;
 
 value->tempCount = exp->tempCount;
 ProcessExpression(value);
-if(memberExp->member.exp)
-ProcessExpression(memberExp->member.exp);
+if(memberExp->__anon1.member.exp)
+ProcessExpression(memberExp->__anon1.member.exp);
 if(((unsigned int)((exp->usage & 0x1) >> 0)))
 {
 struct __ecereNameSpace__ecere__sys__OldList * list = MkList();
 struct __ecereNameSpace__ecere__sys__OldList * args;
 
 args = MkList();
-ListAdd(args, memberExp->member.exp);
+ListAdd(args, memberExp->__anon1.member.exp);
 {
-char * string = QMkString(memberExp->member.member->string);
+char * string = QMkString(memberExp->__anon1.member.member->string);
 
 ListAdd(args, MkExpString(string));
 (__ecereNameSpace__ecere__com__eSystem_Delete(string), string = 0);
@@ -2150,31 +2156,31 @@ ListAdd(args, value);
 ListAdd(list, MkExpCall(QMkExpId("ecere::com::eInstance_SetMethod"), args));
 ListAdd(list, CopyExpression(value));
 exp->type = 5;
-exp->list = list;
+exp->__anon1.list = list;
 }
 else
 {
 exp->type = 7;
-exp->call.exp = QMkExpId("ecere::com::eInstance_SetMethod");
-exp->call.arguments = MkList();
-ListAdd(exp->call.arguments, memberExp->member.exp);
+exp->__anon1.call.exp = QMkExpId("ecere::com::eInstance_SetMethod");
+exp->__anon1.call.arguments = MkList();
+ListAdd(exp->__anon1.call.arguments, memberExp->__anon1.member.exp);
 {
-char * string = QMkString(memberExp->member.member->string);
+char * string = QMkString(memberExp->__anon1.member.member->string);
 
-ListAdd(exp->call.arguments, MkExpString(string));
+ListAdd(exp->__anon1.call.arguments, MkExpString(string));
 (__ecereNameSpace__ecere__com__eSystem_Delete(string), string = 0);
 }
-ListAdd(exp->call.arguments, value);
+ListAdd(exp->__anon1.call.arguments, value);
 }
-memberExp->member.exp = (((void *)0));
+memberExp->__anon1.member.exp = (((void *)0));
 exp2 = (((void *)0));
 FreeExpression(memberExp);
 }
 }
 }
-else if(memberExp->member.memberType == 3)
+else if(memberExp->__anon1.member.memberType == 3)
 {
-if(FixMember(memberExp->member.exp))
+if(FixMember(memberExp->__anon1.member.exp))
 {
 ProcessExpression(memberExp);
 memberExp->type = 9;
@@ -2184,42 +2190,42 @@ memberExp->type = 9;
 }
 }
 }
-else if(exp->op.op == _INCREF)
+else if(exp->__anon1.op.op == _INCREF)
 {
-struct Expression * object = exp->op.exp2;
+struct Expression * object = exp->__anon1.op.exp2;
 
-exp->op.exp2 = (((void *)0));
+exp->__anon1.op.exp2 = (((void *)0));
 FreeExpContents(exp);
 FreeType(exp->expType);
 FreeType(exp->destType);
 exp->expType = (((void *)0));
 exp->destType = (((void *)0));
-exp->op.op = INC_OP;
-exp->op.exp1 = MkExpPointer(object, MkIdentifier("_refCount"));
+exp->__anon1.op.op = INC_OP;
+exp->__anon1.op.exp1 = MkExpPointer(object, MkIdentifier("_refCount"));
 }
-else if(exp->op.op == DELETE)
+else if(exp->__anon1.op.op == DELETE)
 {
-struct Expression * object = exp->op.exp2;
+struct Expression * object = exp->__anon1.op.exp2;
 struct __ecereNameSpace__ecere__sys__OldList * args = MkList();
 
 exp->type = 5;
-exp->list = MkList();
+exp->__anon1.list = MkList();
 object->usage = (object->usage & ~0x80) | (((unsigned int)0x1) << 7);
 ProcessExpression(object);
 ListAdd(args, object);
-if(exp->expType && exp->expType->kind == 8 && exp->expType->_class && exp->expType->_class->registered && exp->expType->_class->registered->type == 0 && strcmp(exp->expType->_class->registered->dataTypeString, "char *"))
+if(exp->expType && exp->expType->kind == 8 && exp->expType->__anon1._class && exp->expType->__anon1._class->__anon1.registered && exp->expType->__anon1._class->__anon1.registered->type == 0 && strcmp(exp->expType->__anon1._class->__anon1.registered->dataTypeString, "char *"))
 {
 struct Expression * decRefExp = MkExpCall(QMkExpId("ecere::com::eInstance_DecRef"), args);
 
 ProcessExpressionType(decRefExp);
-ListAdd(exp->list, decRefExp);
+ListAdd(exp->__anon1.list, decRefExp);
 }
-else if(exp->expType && exp->expType->kind == 8 && exp->expType->_class && exp->expType->_class->registered && exp->expType->_class->registered->type == 5)
+else if(exp->expType && exp->expType->kind == 8 && exp->expType->__anon1._class && exp->expType->__anon1._class->__anon1.registered && exp->expType->__anon1._class->__anon1.registered->type == 5)
 {
 struct __ecereNameSpace__ecere__sys__OldList * list = MkList();
 struct __ecereNameSpace__ecere__com__Class * _class;
 
-for(_class = exp->expType->_class->registered; _class && _class->type == 5; _class = _class->base)
+for(_class = exp->expType->__anon1._class->__anon1.registered; _class && _class->type == 5; _class = _class->base)
 {
 char className[1024];
 
@@ -2234,11 +2240,11 @@ DeclareClass(_class->symbol, className);
 ListAdd(list, MkExpCondition(MkExpPointer(QMkExpId(className), MkIdentifier("Destructor")), MkListOne(MkExpCall(MkExpPointer(QMkExpId(className), MkIdentifier("Destructor")), MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifier(VOID)), QMkPtrDecl((((void *)0)))), CopyExpression((*args).first))))), MkExpConstant("0")));
 }
 ListAdd(list, MkExpCall(QMkExpId("ecere::com::eSystem_Delete"), args));
-ListAdd(exp->list, MkExpBrackets(MkListOne(MkExpCondition(CopyExpression(object), MkListOne(MkExpBrackets(list)), MkExpConstant("0")))));
+ListAdd(exp->__anon1.list, MkExpBrackets(MkListOne(MkExpCondition(CopyExpression(object), MkListOne(MkExpBrackets(list)), MkExpConstant("0")))));
 }
 else if(exp->expType && exp->expType->kind == 20)
 {
-struct Expression * argExp = GetTemplateArgExp(exp->expType->templateParameter, thisClass, 0x0);
+struct Expression * argExp = GetTemplateArgExp(exp->expType->__anon1.templateParameter, thisClass, 0x0);
 
 if(argExp)
 {
@@ -2249,53 +2255,57 @@ struct Declarator * declarator = SpecDeclFromString("void (*)(void * _class, voi
 
 typeName = MkTypeName(qualifiers, declarator);
 ProcessExpressionType(classExp);
+ProcessExpression(classExp);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*args), (((void *)0)), CopyExpression(classExp));
 DeclareMethod(__ecereNameSpace__ecere__com__eClass_FindMethod(__ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "class"), "OnFree", privateModule), "__ecereVMethodID_class_OnFree");
-ListAdd(exp->list, MkExpCall(MkExpBrackets(MkListOne(MkExpCast(typeName, MkExpIndex(MkExpPointer(classExp, MkIdentifier("_vTbl")), MkListOne(MkExpIdentifier(MkIdentifier("__ecereVMethodID_class_OnFree"))))))), args));
+ListAdd(exp->__anon1.list, MkExpCall(MkExpBrackets(MkListOne(MkExpCast(typeName, MkExpIndex(MkExpPointer(classExp, MkIdentifier("_vTbl")), MkListOne(MkExpIdentifier(MkIdentifier("__ecereVMethodID_class_OnFree"))))))), args));
 }
 }
 else
-ListAdd(exp->list, MkExpCall(QMkExpId("ecere::com::eSystem_Delete"), args));
-ListAdd(exp->list, MkExpOp(CopyExpression(object->type == 11 ? object->cast.exp : object), '=', MkExpConstant("0")));
+ListAdd(exp->__anon1.list, MkExpCall(QMkExpId("ecere::com::eSystem_Delete"), args));
+ListAdd(exp->__anon1.list, MkExpOp(CopyExpression(object->type == 11 ? object->__anon1.cast.exp : object), '=', MkExpConstant("0")));
 exp2 = (((void *)0));
 ProcessExpression(exp);
 }
 if(exp->type == 4)
 {
-if(exp->op.op == '=' && exp->op.exp1 && exp->op.exp1->expType && exp->op.exp1->expType->kind == 20 && (exp->op.exp1->type == 6 || (exp->op.exp1->type == 4 && exp->op.exp1->op.op == '*' && !exp->op.exp1->op.exp1)))
+if(exp->__anon1.op.op == '=' && exp->__anon1.op.exp1 && exp->__anon1.op.exp1->expType && exp->__anon1.op.exp1->expType->kind == 20 && (exp->__anon1.op.exp1->type == 6 || (exp->__anon1.op.exp1->type == 4 && exp->__anon1.op.exp1->__anon1.op.op == '*' && !exp->__anon1.op.exp1->__anon1.op.exp1)))
 {
-struct Expression * argExp = GetTemplateArgExp(exp->op.exp1->expType->templateParameter, thisClass, 0x0);
+struct Expression * argExp = GetTemplateArgExp(exp->__anon1.op.exp1->expType->__anon1.templateParameter, thisClass, 0x0);
 
 if(argExp)
 {
 struct Expression * classExp = MkExpMember(argExp, MkIdentifier("dataTypeClass"));
 struct __ecereNameSpace__ecere__sys__OldList * args = MkList();
-struct Expression * derefExp = exp->op.exp1;
-struct Expression * sizeExp = MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("normalClass"))), OR_OP, MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("noHeadClass")))))), MkListOne(MkExpTypeSize(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))))), MkExpMember(CopyExpression(classExp), MkIdentifier("typeSize")));
+struct Expression * derefExp = exp->__anon1.op.exp1;
+struct Expression * sizeExp;
 
-if(exp->op.exp1->type == 6)
+ProcessExpressionType(classExp);
+ProcessExpression(classExp);
+sizeExp = MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("normalClass"))), OR_OP, MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("noHeadClass")))))), MkListOne(MkExpTypeSize(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))))), MkExpMember(CopyExpression(classExp), MkIdentifier("typeSize")));
+if(exp->__anon1.op.exp1->type == 6)
 {
-struct Expression * indexExp = derefExp->index.exp;
-struct __ecereNameSpace__ecere__sys__OldList * indexExpIndex = derefExp->index.index;
+struct Expression * indexExp = derefExp->__anon1.index.exp;
+struct __ecereNameSpace__ecere__sys__OldList * indexExpIndex = derefExp->__anon1.index.index;
 
-derefExp->index.index = (((void *)0));
-derefExp->index.exp = (((void *)0));
+derefExp->__anon1.index.index = (((void *)0));
+derefExp->__anon1.index.exp = (((void *)0));
 FreeExpression(derefExp);
 derefExp = MkExpOp(MkExpCast(MkTypeName(MkListOne(MkSpecifier(CHAR)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), indexExp), '+', MkExpBrackets(MkListOne(MkExpOp(MkExpBrackets(indexExpIndex), '*', MkExpBrackets(MkListOne(CopyExpression(sizeExp)))))));
 }
 else
 {
-struct Expression * indexExp = derefExp->op.exp2;
+struct Expression * indexExp = derefExp->__anon1.op.exp2;
 
-derefExp->op.exp2 = (((void *)0));
+derefExp->__anon1.op.exp2 = (((void *)0));
 FreeExpression(derefExp);
 derefExp = indexExp;
 }
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), derefExp);
 ProcessExpressionType((*args).last);
 ProcessExpression((*args).last);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpCast(MkTypeName(MkListOne(MkSpecifier(CHAR)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpMember(classExp, MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("structClass"))))), MkListOne(exp->op.exp2), MkExpOp((((void *)0)), '&', CopyExpression(exp->op.exp2)))));
-thisClass = curExternal->function ? curExternal->function->_class : (((void *)0));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpCast(MkTypeName(MkListOne(MkSpecifier(CHAR)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpMember(classExp, MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("structClass"))))), MkListOne(exp->__anon1.op.exp2), MkExpOp((((void *)0)), '&', CopyExpression(exp->__anon1.op.exp2)))));
+thisClass = curExternal->__anon1.function ? curExternal->__anon1.function->_class : (((void *)0));
 {
 struct Symbol * thisSymbol = (thisSymbol = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol), thisSymbol->string = __ecereNameSpace__ecere__sys__CopyString("this"), thisSymbol->type = MkClassType(thisClass->fullName), thisSymbol);
 
@@ -2306,7 +2316,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), sizeExp);
 ProcessExpressionType((*args).last);
 ProcessExpression((*args).last);
 DeclareFunctionUtil("memcpy");
-exp->list = MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("memcpy")), args));
+exp->__anon1.list = MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("memcpy")), args));
 exp->type = 5;
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&globalContext->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
 FreeSymbol(thisSymbol);
@@ -2315,24 +2325,27 @@ thisClass = (((void *)0));
 return ;
 }
 }
-else if(exp->op.op == '*' && !exp->op.exp1 && exp->op.exp2 && exp->op.exp2->expType && exp->op.exp2->expType->kind == 13 && exp->op.exp2->expType->type && exp->op.exp2->expType->type->kind == 20)
+else if(exp->__anon1.op.op == '*' && !exp->__anon1.op.exp1 && exp->__anon1.op.exp2 && exp->__anon1.op.exp2->expType && exp->__anon1.op.exp2->expType->kind == 13 && exp->__anon1.op.exp2->expType->__anon1.type && exp->__anon1.op.exp2->expType->__anon1.type->kind == 20)
 {
-struct Expression * argExp = GetTemplateArgExp(exp->op.exp2->expType->type->templateParameter, thisClass, 0x0);
+struct Expression * argExp = GetTemplateArgExp(exp->__anon1.op.exp2->expType->__anon1.type->__anon1.templateParameter, thisClass, 0x0);
 
 if(argExp)
 {
 struct Expression * classExp = MkExpMember(argExp, MkIdentifier("dataTypeClass"));
-struct Expression * sizeExp = MkExpMember(CopyExpression(classExp), MkIdentifier("typeSize"));
+struct Expression * sizeExp;
 
+ProcessExpressionType(classExp);
+ProcessExpression(classExp);
+sizeExp = MkExpMember(CopyExpression(classExp), MkIdentifier("typeSize"));
 exp->type = 5;
-exp->list = MkListOne(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), (((void *)0))), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("structClass"))))), MkListOne(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), (((void *)0))), CopyExpression(exp->op.exp2))))), MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("normalClass"))), OR_OP, MkExpOp(MkExpMember(classExp, MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("noHeadClass")))))), MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), (((void *)0))), MkExpOp((((void *)0)), '*', MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), MkPointer((((void *)0)), (((void *)0)))), (((void *)0)))), CopyExpression(exp->op.exp2))))))), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(CopyExpression(sizeExp), EQ_OP, MkExpConstant("1")))), MkListOne(MkExpOp((((void *)0)), '*', MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("byte")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), CopyExpression(exp->op.exp2)))))), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(CopyExpression(sizeExp), EQ_OP, MkExpConstant("2")))), MkListOne(MkExpOp((((void *)0)), '*', MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint16")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), CopyExpression(exp->op.exp2)))))), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(sizeExp, EQ_OP, MkExpConstant("4")))), MkListOne(MkExpOp((((void *)0)), '*', MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint32")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), CopyExpression(exp->op.exp2)))))), MkExpOp((((void *)0)), '*', MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), exp->op.exp2)))))))))))))))))))));
-thisClass = curExternal->function ? curExternal->function->_class : (((void *)0));
+exp->__anon1.list = MkListOne(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), (((void *)0))), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("structClass"))))), MkListOne(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), (((void *)0))), CopyExpression(exp->__anon1.op.exp2))))), MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("normalClass"))), OR_OP, MkExpOp(MkExpMember(classExp, MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("noHeadClass")))))), MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), (((void *)0))), MkExpOp((((void *)0)), '*', MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), MkPointer((((void *)0)), (((void *)0)))), (((void *)0)))), CopyExpression(exp->__anon1.op.exp2))))))), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(CopyExpression(sizeExp), EQ_OP, MkExpConstant("1")))), MkListOne(MkExpOp((((void *)0)), '*', MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("byte")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), CopyExpression(exp->__anon1.op.exp2)))))), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(CopyExpression(sizeExp), EQ_OP, MkExpConstant("2")))), MkListOne(MkExpOp((((void *)0)), '*', MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint16")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), CopyExpression(exp->__anon1.op.exp2)))))), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(sizeExp, EQ_OP, MkExpConstant("4")))), MkListOne(MkExpOp((((void *)0)), '*', MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint32")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), CopyExpression(exp->__anon1.op.exp2)))))), MkExpOp((((void *)0)), '*', MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), exp->__anon1.op.exp2)))))))))))))))))))));
+thisClass = curExternal->__anon1.function ? curExternal->__anon1.function->_class : (((void *)0));
 {
 struct Symbol * thisSymbol = (thisSymbol = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol), thisSymbol->string = __ecereNameSpace__ecere__sys__CopyString("this"), thisSymbol->type = MkClassType(thisClass->fullName), thisSymbol);
 
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&globalContext->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
-ProcessExpressionType((*exp->list).first);
-ProcessExpression((*exp->list).first);
+ProcessExpressionType((*exp->__anon1.list).first);
+ProcessExpression((*exp->__anon1.list).first);
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&globalContext->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
 FreeSymbol(thisSymbol);
 }
@@ -2342,36 +2355,36 @@ return ;
 }
 else
 {
-if(exp->op.exp1)
+if(exp->__anon1.op.exp1)
 {
-if(exp->op.exp2)
-exp->op.exp1->tempCount = exp->op.exp2->tempCount;
-ProcessExpression(exp->op.exp1);
-if(exp->op.op == '=' && exp->op.exp2 && (!exp->op.exp2->byReference || (exp->op.exp2->expType && exp->op.exp2->expType->kind == 8 && exp->op.exp2->expType->_class && exp->op.exp2->expType->_class->registered && exp->op.exp2->expType->_class->registered->type == 1)) && exp->op.exp2->expType && (exp->op.exp2->expType->kind != 13 && exp->op.exp2->expType->kind != 20))
-FixReference(exp->op.exp1, 0x0);
+if(exp->__anon1.op.exp2)
+exp->__anon1.op.exp1->tempCount = exp->__anon1.op.exp2->tempCount;
+ProcessExpression(exp->__anon1.op.exp1);
+if(exp->__anon1.op.op == '=' && exp->__anon1.op.exp2 && (!exp->__anon1.op.exp2->byReference || (exp->__anon1.op.exp2->expType && exp->__anon1.op.exp2->expType->kind == 8 && 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)) && exp->__anon1.op.exp2->expType && (exp->__anon1.op.exp2->expType->kind != 13 && exp->__anon1.op.exp2->expType->kind != 20))
+FixReference(exp->__anon1.op.exp1, 0x0);
 }
-if(exp->op.exp2)
+if(exp->__anon1.op.exp2)
 {
-if(exp->op.exp1)
-exp->op.exp2->tempCount = exp->op.exp1->tempCount;
-ProcessExpression(exp->op.exp2);
-if(exp->op.exp1 || (exp->op.op != '*' && exp->op.op != '&'))
+if(exp->__anon1.op.exp1)
+exp->__anon1.op.exp2->tempCount = exp->__anon1.op.exp1->tempCount;
+ProcessExpression(exp->__anon1.op.exp2);
+if(exp->__anon1.op.exp1 || (exp->__anon1.op.op != '*' && exp->__anon1.op.op != '&'))
 {
-if((!exp->op.exp1 && (!exp->op.exp2 || !exp->op.exp2->expType || exp->op.exp2->expType->kind != 8 || !exp->op.exp2->expType->_class || !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))) || (exp->op.exp1 && exp->op.exp1->expType && exp->op.exp1->expType->kind != 13 && exp->op.exp1->expType->kind != 20))
+if((!exp->__anon1.op.exp1 && (!exp->__anon1.op.exp2 || !exp->__anon1.op.exp2->expType || exp->__anon1.op.exp2->expType->kind != 8 || !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 != 0 && exp->__anon1.op.exp2->expType->__anon1._class->__anon1.registered->type != 1 && exp->__anon1.op.exp2->expType->__anon1._class->__anon1.registered->type != 5))) || (exp->__anon1.op.exp1 && exp->__anon1.op.exp1->expType && exp->__anon1.op.exp1->expType->kind != 13 && exp->__anon1.op.exp1->expType->kind != 20))
 {
-FixReference(exp->op.exp2, exp->op.exp1 ? exp->op.exp1->byReference : 0x0);
+FixReference(exp->__anon1.op.exp2, exp->__anon1.op.exp1 ? exp->__anon1.op.exp1->byReference : 0x0);
 }
 }
 }
 }
-if(exp->op.op == '*' && !exp->op.exp1 && exp->op.exp2 && exp->op.exp2->type == 4 && exp->op.exp2->op.op == '&' && !exp->op.exp2->op.exp1)
+if(exp->__anon1.op.op == '*' && !exp->__anon1.op.exp1 && exp->__anon1.op.exp2 && exp->__anon1.op.exp2->type == 4 && exp->__anon1.op.exp2->__anon1.op.op == '&' && !exp->__anon1.op.exp2->__anon1.op.exp1)
 {
 struct Expression * next = exp->next, * prev = exp->prev;
-struct Expression * derefExp = exp->op.exp2;
-struct Expression * refExp = exp->op.exp2->op.exp2;
+struct Expression * derefExp = exp->__anon1.op.exp2;
+struct Expression * refExp = exp->__anon1.op.exp2->__anon1.op.exp2;
 struct Type * expType = exp->expType, * destType = exp->destType;
 
-derefExp->op.exp2 = (((void *)0));
+derefExp->__anon1.op.exp2 = (((void *)0));
 FreeExpression(derefExp);
 FreeType(exp->expType);
 FreeType(exp->destType);
@@ -2380,19 +2393,21 @@ exp->prev = prev;
 exp->next = next;
 ((refExp ? (__ecereClass_Expression->Destructor ? __ecereClass_Expression->Destructor((void *)refExp) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(refExp)) : 0), refExp = 0);
 }
-if(exp->op.op == '&' && !exp->op.exp1 && exp->op.exp2 && exp->op.exp2->expType && exp->op.exp2->expType->kind == 20 && !exp->op.exp2->expType->passAsTemplate)
+if(exp->__anon1.op.op == '&' && !exp->__anon1.op.exp1 && exp->__anon1.op.exp2 && exp->__anon1.op.exp2->expType && exp->__anon1.op.exp2->expType->kind == 20 && !exp->__anon1.op.exp2->expType->passAsTemplate)
 {
-struct Expression * exp2 = exp->op.exp2;
-struct Expression * argExp = GetTemplateArgExp(exp2->expType->templateParameter, thisClass, 0x0);
+struct Expression * exp2 = exp->__anon1.op.exp2;
+struct Expression * argExp = GetTemplateArgExp(exp2->expType->__anon1.templateParameter, thisClass, 0x0);
 
 if(argExp)
 {
 struct Expression * classExp = MkExpMember(argExp, MkIdentifier("dataTypeClass"));
 struct Expression * e;
 
+ProcessExpressionType(classExp);
+ProcessExpression(classExp);
 exp->type = 5;
-exp->list = MkListOne(MkExpOp(MkExpCast(MkTypeName(MkListOne(MkSpecifier(CHAR)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpOp((((void *)0)), '&', exp2)), '+', MkExpCall(MkExpIdentifier(MkIdentifier("__ENDIAN_PAD")), MkListOne((e = MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpOp(MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("structClass"))), OR_OP, MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("normalClass")))), OR_OP, MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("noHeadClass")))))), MkListOne(MkExpTypeSize(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))))), MkExpMember(classExp, MkIdentifier("typeSize"))))))));
-thisClass = curExternal->function ? curExternal->function->_class : (((void *)0));
+exp->__anon1.list = MkListOne(MkExpOp(MkExpCast(MkTypeName(MkListOne(MkSpecifier(CHAR)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpOp((((void *)0)), '&', exp2)), '+', MkExpCall(MkExpIdentifier(MkIdentifier("__ENDIAN_PAD")), MkListOne((e = MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpOp(MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("structClass"))), OR_OP, MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("normalClass")))), OR_OP, MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("noHeadClass")))))), MkListOne(MkExpTypeSize(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))))), MkExpMember(classExp, MkIdentifier("typeSize"))))))));
+thisClass = curExternal->__anon1.function ? curExternal->__anon1.function->_class : (((void *)0));
 {
 ProcessExpressionType(e);
 ProcessExpression(e);
@@ -2413,11 +2428,11 @@ break;
 case 5:
 case 32:
 {
-if(exp->list)
+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)
 {
 if(!e->next)
 {
@@ -2435,7 +2450,7 @@ break;
 case 6:
 {
 struct Expression * e;
-struct Expression * checkedExp = exp->index.exp;
+struct Expression * checkedExp = exp->__anon1.index.exp;
 unsigned int isBuiltin = 0x0;
 
 while(checkedExp->type == 23 || checkedExp->type == 5 || checkedExp->type == 11)
@@ -2446,31 +2461,34 @@ isBuiltin = 0x1;
 break;
 }
 else if(checkedExp->type == 5)
-checkedExp = checkedExp->list ? (*checkedExp->list).last : (((void *)0));
+checkedExp = checkedExp->__anon1.list ? (*checkedExp->__anon1.list).last : (((void *)0));
 else
-checkedExp = checkedExp->cast.exp;
+checkedExp = checkedExp->__anon1.cast.exp;
 }
-exp->index.exp->tempCount = exp->tempCount;
-exp->index.exp->usage = (exp->index.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-ProcessExpression(exp->index.exp);
-if(exp->index.exp->expType && exp->index.exp->expType->kind == 13 && exp->index.exp->expType->type && exp->index.exp->expType->type->kind == 20)
+exp->__anon1.index.exp->tempCount = exp->tempCount;
+exp->__anon1.index.exp->usage = (exp->__anon1.index.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+ProcessExpression(exp->__anon1.index.exp);
+if(exp->__anon1.index.exp->expType && exp->__anon1.index.exp->expType->kind == 13 && exp->__anon1.index.exp->expType->__anon1.type && exp->__anon1.index.exp->expType->__anon1.type->kind == 20)
 {
-struct Expression * argExp = GetTemplateArgExp(exp->index.exp->expType->type->templateParameter, thisClass, 0x0);
+struct Expression * argExp = GetTemplateArgExp(exp->__anon1.index.exp->expType->__anon1.type->__anon1.templateParameter, thisClass, 0x0);
 
 if(argExp)
 {
 struct Expression * classExp = MkExpMember(argExp, MkIdentifier("dataTypeClass"));
-struct Expression * sizeExp = MkExpMember(CopyExpression(classExp), MkIdentifier("typeSize"));
+struct Expression * sizeExp;
 
+ProcessExpressionType(classExp);
+ProcessExpression(classExp);
+sizeExp = MkExpMember(CopyExpression(classExp), MkIdentifier("typeSize"));
 exp->type = 5;
-exp->list = MkListOne(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), (((void *)0))), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("structClass"))))), MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), (((void *)0))), MkExpBrackets(MkListOne(MkExpOp(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("byte")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), CopyExpression(exp->index.exp)))), '+', MkExpOp(MkExpBrackets(CopyList(exp->index.index, CopyExpression)), '*', CopyExpression(sizeExp))))))), MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("normalClass"))), OR_OP, MkExpOp(MkExpMember(classExp, MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("noHeadClass")))))), MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), (((void *)0))), MkExpIndex(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), MkPointer((((void *)0)), (((void *)0)))), (((void *)0)))), CopyExpression(exp->index.exp)))), CopyList(exp->index.index, CopyExpression)))), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(CopyExpression(sizeExp), EQ_OP, MkExpConstant("1")))), MkListOne(MkExpIndex(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("byte")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), CopyExpression(exp->index.exp)))), CopyList(exp->index.index, CopyExpression))), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(CopyExpression(sizeExp), EQ_OP, MkExpConstant("2")))), MkListOne(MkExpIndex(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint16")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), CopyExpression(exp->index.exp)))), CopyList(exp->index.index, CopyExpression))), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(sizeExp, EQ_OP, MkExpConstant("4")))), MkListOne(MkExpIndex(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint32")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), CopyExpression(exp->index.exp)))), CopyList(exp->index.index, CopyExpression))), MkExpIndex(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), exp->index.exp))), exp->index.index))))))))))))))))));
-thisClass = curExternal->function ? curExternal->function->_class : (((void *)0));
+exp->__anon1.list = MkListOne(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), (((void *)0))), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("structClass"))))), MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), (((void *)0))), MkExpBrackets(MkListOne(MkExpOp(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("byte")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), CopyExpression(exp->__anon1.index.exp)))), '+', MkExpOp(MkExpBrackets(CopyList(exp->__anon1.index.index, CopyExpression)), '*', CopyExpression(sizeExp))))))), MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("normalClass"))), OR_OP, MkExpOp(MkExpMember(classExp, MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("noHeadClass")))))), MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), (((void *)0))), MkExpIndex(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), MkPointer((((void *)0)), (((void *)0)))), (((void *)0)))), CopyExpression(exp->__anon1.index.exp)))), CopyList(exp->__anon1.index.index, CopyExpression)))), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(CopyExpression(sizeExp), EQ_OP, MkExpConstant("1")))), MkListOne(MkExpIndex(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("byte")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), CopyExpression(exp->__anon1.index.exp)))), CopyList(exp->__anon1.index.index, CopyExpression))), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(CopyExpression(sizeExp), EQ_OP, MkExpConstant("2")))), MkListOne(MkExpIndex(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint16")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), CopyExpression(exp->__anon1.index.exp)))), CopyList(exp->__anon1.index.index, CopyExpression))), MkExpBrackets(MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(sizeExp, EQ_OP, MkExpConstant("4")))), MkListOne(MkExpIndex(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint32")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), CopyExpression(exp->__anon1.index.exp)))), CopyList(exp->__anon1.index.index, CopyExpression))), MkExpIndex(MkExpBrackets(MkListOne(MkExpCast(MkTypeName(MkListOne(MkSpecifierName("uint64")), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), exp->__anon1.index.exp))), exp->__anon1.index.index))))))))))))))))));
+thisClass = curExternal->__anon1.function ? curExternal->__anon1.function->_class : (((void *)0));
 {
 struct Symbol * thisSymbol = (thisSymbol = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol), thisSymbol->string = __ecereNameSpace__ecere__sys__CopyString("this"), thisSymbol->type = MkClassType(thisClass->fullName), thisSymbol);
 
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&globalContext->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
-ProcessExpressionType((*exp->list).first);
-ProcessExpression((*exp->list).first);
+ProcessExpressionType((*exp->__anon1.list).first);
+ProcessExpression((*exp->__anon1.list).first);
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&globalContext->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
 FreeSymbol(thisSymbol);
 }
@@ -2478,43 +2496,43 @@ thisClass = (((void *)0));
 return ;
 }
 }
-for(e = (*exp->index.index).first; e; e = e->next)
+for(e = (*exp->__anon1.index.index).first; e; e = e->next)
 {
 if(!e->next)
 e->usage = (e->usage & ~0x1) | (((unsigned int)0x1) << 0);
 ProcessExpression(e);
 }
-exp->tempCount = exp->index.exp->tempCount;
-if(exp->index.exp->expType)
+exp->tempCount = exp->__anon1.index.exp->tempCount;
+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 && source->_class->registered != containerClass && __ecereNameSpace__ecere__com__eClass_IsDerived(source->_class->registered, containerClass))
+if(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->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = source->__anon1._class->__anon1.registered;
 unsigned int isArray = 0x0;
 struct __ecereNameSpace__ecere__com__Class * arrayClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "Array");
 
-if(source && __ecereNameSpace__ecere__com__eClass_IsDerived(source->_class->registered, arrayClass))
+if(source && __ecereNameSpace__ecere__com__eClass_IsDerived(source->__anon1._class->__anon1.registered, arrayClass))
 isArray = 0x1;
 if(isArray && _class->templateArgs)
 {
 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
-struct Declarator * decl = SpecDeclFromString(_class->templateArgs[2].dataTypeString, specs, (((void *)0)));
+struct Declarator * decl = SpecDeclFromString(_class->templateArgs[2].__anon1.__anon1.dataTypeString, specs, (((void *)0)));
 struct TypeName * typeName = MkTypeName(specs, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), decl));
 
-exp->index.exp = MkExpBrackets(MkListOne(MkExpCast(typeName, MkExpMember(exp->index.exp, MkIdentifier("array")))));
-ProcessExpressionType(exp->index.exp);
+exp->__anon1.index.exp = MkExpBrackets(MkListOne(MkExpCast(typeName, MkExpMember(exp->__anon1.index.exp, MkIdentifier("array")))));
+ProcessExpressionType(exp->__anon1.index.exp);
 ProcessExpression(exp);
 }
 else if(isBuiltin && _class->templateArgs)
 {
 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
-struct Declarator * decl = SpecDeclFromString(_class->templateArgs[2].dataTypeString, specs, (((void *)0)));
+struct Declarator * decl = SpecDeclFromString(_class->templateArgs[2].__anon1.__anon1.dataTypeString, specs, (((void *)0)));
 struct TypeName * typeName = MkTypeName(specs, MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), decl));
 
-exp->index.exp = MkExpBrackets(MkListOne(MkExpCast(typeName, MkExpPointer(MkExpCast(QMkType("BuiltInContainer", QMkPtrDecl((((void *)0)))), exp->index.exp), MkIdentifier("data")))));
-ProcessExpressionType(exp->index.exp);
+exp->__anon1.index.exp = MkExpBrackets(MkListOne(MkExpCast(typeName, MkExpPointer(MkExpCast(QMkType("BuiltInContainer", QMkPtrDecl((((void *)0)))), exp->__anon1.index.exp), MkIdentifier("data")))));
+ProcessExpressionType(exp->__anon1.index.exp);
 ProcessExpression(exp);
 }
 else if(_class->templateArgs)
@@ -2527,21 +2545,21 @@ struct __ecereNameSpace__ecere__sys__OldList * instMembers = MkList();
 struct Expression * expExt;
 struct Context * context = PushContext();
 
-sprintf(iteratorType, "Iterator<%s, %s >", _class->templateArgs[2].dataTypeString, _class->templateArgs[1].dataTypeString);
-ListAdd(instMembers, MkMemberInit((((void *)0)), MkInitializerAssignment(exp->index.exp)));
+sprintf(iteratorType, "Iterator<%s, %s >", _class->templateArgs[2].__anon1.__anon1.dataTypeString, _class->templateArgs[1].__anon1.__anon1.dataTypeString);
+ListAdd(instMembers, MkMemberInit((((void *)0)), MkInitializerAssignment(exp->__anon1.index.exp)));
 ListAdd(declarations, MkDeclarationInst(MkInstantiationNamed(MkListOne(MkSpecifierName(iteratorType)), MkExpIdentifier(MkIdentifier("__internalIterator")), MkListOne(MkMembersInitList(instMembers)))));
-ListAdd(args, MkExpBrackets(exp->index.index));
+ListAdd(args, MkExpBrackets(exp->__anon1.index.index));
 ListAdd(args, ((unsigned int)((exp->usage & 0x2) >> 1)) ? MkExpIdentifier(MkIdentifier("true")) : MkExpIdentifier(MkIdentifier("false")));
 ListAdd(statements, MkExpressionStmt(MkListOne(MkExpCall(MkExpMember(MkExpIdentifier(MkIdentifier("__internalIterator")), MkIdentifier("Index")), args))));
 ListAdd(statements, MkExpressionStmt(MkListOne(MkExpMember(MkExpIdentifier(MkIdentifier("__internalIterator")), MkIdentifier("data")))));
 exp->type = 5;
-exp->list = MkListOne(expExt = (MkExpExtensionCompound(MkCompoundStmt(declarations, statements))));
-expExt->compound->compound.context = context;
+exp->__anon1.list = MkListOne(expExt = (MkExpExtensionCompound(MkCompoundStmt(declarations, statements))));
+expExt->__anon1.compound->__anon1.compound.context = context;
 PopContext(context);
 expExt->usage = exp->usage;
-ProcessExpressionType((*exp->list).first);
-ProcessExpressionInstPass((*exp->list).first);
-ProcessExpression((*exp->list).first);
+ProcessExpressionType((*exp->__anon1.list).first);
+ProcessExpressionInstPass((*exp->__anon1.list).first);
+ProcessExpression((*exp->__anon1.list).first);
 }
 }
 }
@@ -2554,9 +2572,9 @@ unsigned int typedObject = 0x0;
 struct Type * ellipsisDestType = (((void *)0));
 unsigned int usedEllipsis = 0x0;
 
-if(exp->call.arguments)
+if(exp->__anon1.call.arguments)
 {
-for(e = (*exp->call.arguments).first; e; e = e->next)
+for(e = (*exp->__anon1.call.arguments).first; e; e = e->next)
 {
 int __simpleStruct2, __simpleStruct3;
 int __simpleStruct0, __simpleStruct1;
@@ -2568,17 +2586,17 @@ ProcessExpression(e);
 exp->tempCount = (__simpleStruct2 = exp->tempCount, __simpleStruct3 = e->tempCount, (__simpleStruct2 > __simpleStruct3) ? __simpleStruct2 : __simpleStruct3);
 }
 }
-exp->call.exp->usage = (exp->call.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-exp->call.exp->usage = (exp->call.exp->usage & ~0x8) | (((unsigned int)0x1) << 3);
-exp->call.exp->tempCount = exp->tempCount;
-ProcessExpression(exp->call.exp);
-if(exp->call.exp->expType && exp->call.exp->expType->kind == 16)
+exp->__anon1.call.exp->usage = (exp->__anon1.call.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+exp->__anon1.call.exp->usage = (exp->__anon1.call.exp->usage & ~0x8) | (((unsigned int)0x1) << 3);
+exp->__anon1.call.exp->tempCount = exp->tempCount;
+ProcessExpression(exp->__anon1.call.exp);
+if(exp->__anon1.call.exp->expType && exp->__anon1.call.exp->expType->kind == 16)
 {
 unsigned int nullMemberExp = 0x0;
-struct Expression * memberExp = (exp->call.exp->type == 8) ? exp->call.exp : (((void *)0));
-struct __ecereNameSpace__ecere__com__Class * _class = exp->call.exp->expType->methodClass;
-struct __ecereNameSpace__ecere__com__Class * argClass = exp->call.exp->expType->methodClass;
-struct __ecereNameSpace__ecere__com__Method * method = exp->call.exp->expType->method;
+struct Expression * memberExp = (exp->__anon1.call.exp->type == 8) ? exp->__anon1.call.exp : (((void *)0));
+struct __ecereNameSpace__ecere__com__Class * _class = exp->__anon1.call.exp->expType->__anon1.__anon3.methodClass;
+struct __ecereNameSpace__ecere__com__Class * argClass = exp->__anon1.call.exp->expType->__anon1.__anon3.methodClass;
+struct __ecereNameSpace__ecere__com__Method * method = exp->__anon1.call.exp->expType->__anon1.__anon3.method;
 
 if(method->type == 1)
 {
@@ -2602,46 +2620,46 @@ decl = SpecDeclFromString(method->dataTypeString, specs, MkDeclaratorBrackets(Mk
 FinishTemplatesContext(context);
 }
 curContext = back;
-if(method->dataType && !method->dataType->staticMethod)
+if(method->dataType && !method->dataType->__anon1.__anon2.staticMethod)
 {
 struct Declarator * funcDecl = GetFuncDecl(decl);
 
-if(!funcDecl->function.parameters)
-funcDecl->function.parameters = MkList();
+if(!funcDecl->__anon1.function.parameters)
+funcDecl->__anon1.function.parameters = MkList();
 {
-struct TypeName * firstParam = ((struct TypeName *)(*funcDecl->function.parameters).first);
+struct TypeName * firstParam = ((struct TypeName *)(*funcDecl->__anon1.function.parameters).first);
 struct Specifier * firstSpec = firstParam ? (*firstParam->qualifiers).first : (((void *)0));
 
-if(firstParam && firstSpec && firstSpec->type == 0 && firstSpec->specifier == VOID && !firstParam->declarator)
+if(firstParam && firstSpec && firstSpec->type == 0 && firstSpec->__anon1.specifier == VOID && !firstParam->declarator)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*funcDecl->function.parameters), (*funcDecl->function.parameters).first);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*funcDecl->__anon1.function.parameters), (*funcDecl->__anon1.function.parameters).first);
 FreeTypeName(firstParam);
 }
 }
-if(method->dataType->thisClass && !strcmp(method->dataType->thisClass->string, "class"))
+if(method->dataType->__anon1.__anon2.thisClass && !strcmp(method->dataType->__anon1.__anon2.thisClass->string, "class"))
 {
 struct TypeName * param;
 
 typedObject = 0x1;
 param = MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0))));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*param->qualifiers), (((void *)0)), MkSpecifier(CONST));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->function.parameters), (((void *)0)), param);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->__anon1.function.parameters), (((void *)0)), param);
 if(!method->dataType->extraParam)
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->function.parameters), (((void *)0)), MkTypeName(MkListOne(MkStructOrUnion(3, MkIdentifier("__ecereNameSpace__ecere__com__Class"), (((void *)0)))), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->__anon1.function.parameters), (((void *)0)), MkTypeName(MkListOne(MkStructOrUnion(3, MkIdentifier("__ecereNameSpace__ecere__com__Class"), (((void *)0)))), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))));
 }
 else
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->function.parameters), (((void *)0)), MkTypeName(MkListOne(MkSpecifierName(method->dataType->thisClass ? method->dataType->thisClass->string : method->_class->fullName)), (((void *)0))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->__anon1.function.parameters), (((void *)0)), MkTypeName(MkListOne(MkSpecifierName(method->dataType->__anon1.__anon2.thisClass ? method->dataType->__anon1.__anon2.thisClass->string : method->_class->fullName)), (((void *)0))));
 }
 }
 typeName = MkTypeName(specs, decl);
-if(memberExp && memberExp->member.exp->expType)
+if(memberExp && memberExp->__anon1.member.exp->expType)
 {
-struct Type * type = memberExp->member.exp->expType;
+struct Type * type = memberExp->__anon1.member.exp->expType;
 
-if(type->kind == 8 && type->_class && type->_class->registered)
+if(type->kind == 8 && type->__anon1._class && type->__anon1._class->__anon1.registered)
 {
-struct __ecereNameSpace__ecere__com__Class * regClass = type->_class->registered;
+struct __ecereNameSpace__ecere__com__Class * regClass = type->__anon1._class->__anon1.registered;
 int classType = regClass->type;
 
 if(classType != 0 || !strcmp(regClass->dataTypeString, "char *") || method->dataType->byReference)
@@ -2649,18 +2667,18 @@ argClass = regClass;
 }
 else if(type->kind == 19)
 {
-argClass = FindClass("ecere::com::Class")->registered;
+argClass = FindClass("ecere::com::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)
 {
-argClass = FindClass("char *")->registered;
+argClass = FindClass("char *")->__anon1.registered;
 }
 else if(type->kind == 13)
 {
 argClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "uintptr");
-FreeType(memberExp->member.exp->expType);
-memberExp->member.exp->expType = ProcessTypeString("uintptr", 0x0);
-memberExp->member.exp->byReference = 0x1;
+FreeType(memberExp->__anon1.member.exp->expType);
+memberExp->__anon1.member.exp->expType = ProcessTypeString("uintptr", 0x0);
+memberExp->__anon1.member.exp->byReference = 0x1;
 }
 else
 {
@@ -2670,16 +2688,16 @@ struct Symbol * classSym;
 PrintTypeNoConst(type, string, 0x0, 0x1);
 classSym = FindClass(string);
 if(classSym)
-argClass = classSym->registered;
+argClass = classSym->__anon1.registered;
 }
 }
 {
-struct Type * type = memberExp ? memberExp->member.exp->expType : (((void *)0));
-struct __ecereNameSpace__ecere__com__Class * regClass = (type && type->kind == 8 && type->_class) ? type->_class->registered : (((void *)0));
+struct Type * type = memberExp ? memberExp->__anon1.member.exp->expType : (((void *)0));
+struct __ecereNameSpace__ecere__com__Class * regClass = (type && type->kind == 8 && type->__anon1._class) ? type->__anon1._class->__anon1.registered : (((void *)0));
 char className[1024];
 unsigned int useInstance = 0x0;
 
-if(!exp->call.exp->expType->methodClass && !_class && type && type->classObjectType)
+if(!exp->__anon1.call.exp->expType->__anon1.__anon3.methodClass && !_class && type && type->classObjectType)
 strcpy(className, "class");
 else
 {
@@ -2691,7 +2709,7 @@ if(!cl)
 cl = regClass;
 if(!cl)
 cl = __ecereClass_int;
-if(cl->templateClass && !_class && exp->call.exp->expType->_class && !exp->call.exp->expType->methodClass && (type->kind == 19 || (regClass && regClass->type == 0 && strcmp(regClass->dataTypeString, "char *"))))
+if(cl->templateClass && !_class && exp->__anon1.call.exp->expType->__anon1._class && !exp->__anon1.call.exp->expType->__anon1.__anon3.methodClass && (type->kind == 19 || (regClass && regClass->type == 0 && strcmp(regClass->dataTypeString, "char *"))))
 cl = cl->templateClass;
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, cl->fullName, 0x1);
@@ -2700,15 +2718,15 @@ if(!cl->symbol)
 cl->symbol = FindClass(cl->fullName);
 DeclareClass(cl->symbol, className);
 }
-if(type && type->kind == 19 && !_class && !exp->call.exp->expType->methodClass && memberExp)
+if(type && type->kind == 19 && !_class && !exp->__anon1.call.exp->expType->__anon1.__anon3.methodClass && memberExp)
 {
-exp->call.exp = MkExpBrackets(MkListOne(MkExpCast(typeName, MkExpIndex(MkExpPointer(CopyExpression(memberExp->member.exp), MkIdentifier("_vTbl")), MkListOne(MkExpIdentifier(MkIdentifier(name)))))));
+exp->__anon1.call.exp = MkExpBrackets(MkListOne(MkExpCast(typeName, MkExpIndex(MkExpPointer(CopyExpression(memberExp->__anon1.member.exp), MkIdentifier("_vTbl")), MkListOne(MkExpIdentifier(MkIdentifier(name)))))));
 }
-else if(_class || exp->call.exp->expType->methodClass || !memberExp || !regClass || regClass->type != 0 || !strcmp(regClass->dataTypeString, "char *"))
+else if(_class || exp->__anon1.call.exp->expType->__anon1.__anon3.methodClass || !memberExp || !regClass || regClass->type != 0 || !strcmp(regClass->dataTypeString, "char *"))
 {
 if(!memberExp)
-FreeExpression(exp->call.exp);
-exp->call.exp = MkExpBrackets(MkListOne(MkExpCast(typeName, MkExpIndex(MkExpPointer(MkExpIdentifier(MkIdentifier(className)), MkIdentifier("_vTbl")), MkListOne(MkExpIdentifier(MkIdentifier(name)))))));
+FreeExpression(exp->__anon1.call.exp);
+exp->__anon1.call.exp = MkExpBrackets(MkListOne(MkExpCast(typeName, MkExpIndex(MkExpPointer(MkExpIdentifier(MkIdentifier(className)), MkIdentifier("_vTbl")), MkListOne(MkExpIdentifier(MkIdentifier(name)))))));
 }
 else
 {
@@ -2716,13 +2734,13 @@ struct Expression * c;
 struct Context * context = PushContext();
 struct __ecereNameSpace__ecere__sys__OldList * specs;
 
-c = MkExpExtensionCompound(MkCompoundStmt(MkListOne(MkDeclaration((specs = MkListOne(MkSpecifierName("Instance"))), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("__internal_ClassInst")), MkInitializerAssignment(CopyExpression(memberExp->member.exp)))))), MkListOne(MkExpressionStmt(MkListOne(MkExpCondition(MkExpIdentifier(MkIdentifier("__internal_ClassInst")), MkListOne(MkExpPointer(MkExpIdentifier(MkIdentifier("__internal_ClassInst")), MkIdentifier("_vTbl"))), MkExpPointer(MkExpIdentifier(MkIdentifier(className)), MkIdentifier("_vTbl"))))))));
+c = MkExpExtensionCompound(MkCompoundStmt(MkListOne(MkDeclaration((specs = MkListOne(MkSpecifierName("Instance"))), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("__internal_ClassInst")), MkInitializerAssignment(CopyExpression(memberExp->__anon1.member.exp)))))), MkListOne(MkExpressionStmt(MkListOne(MkExpCondition(MkExpIdentifier(MkIdentifier("__internal_ClassInst")), MkListOne(MkExpPointer(MkExpIdentifier(MkIdentifier("__internal_ClassInst")), MkIdentifier("_vTbl"))), MkExpPointer(MkExpIdentifier(MkIdentifier(className)), MkIdentifier("_vTbl"))))))));
 if(__ecereProp_Type_Get_specConst(type))
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*specs), (((void *)0)), MkSpecifier(CONST));
 c->loc = exp->loc;
-c->compound->compound.context = context;
+c->__anon1.compound->__anon1.compound.context = context;
 PopContext(context);
-exp->call.exp = MkExpBrackets(MkListOne(MkExpCast(typeName, MkExpIndex(c, MkListOne(MkExpIdentifier(MkIdentifier(name)))))));
+exp->__anon1.call.exp = MkExpBrackets(MkListOne(MkExpCast(typeName, MkExpIndex(c, MkListOne(MkExpIdentifier(MkIdentifier(name)))))));
 }
 }
 }
@@ -2735,87 +2753,87 @@ FullClassNameCat(name, method->_class->fullName, 0x0);
 strcat(name, "_");
 strcat(name, method->name);
 if(!memberExp)
-FreeExpression(exp->call.exp);
-exp->call.exp = MkExpIdentifier(MkIdentifier(name));
+FreeExpression(exp->__anon1.call.exp);
+exp->__anon1.call.exp = MkExpIdentifier(MkIdentifier(name));
 DeclareMethod(method, name);
 if(memberExp && memberExp->expType && method->dataType)
 {
-exp->call.exp->expType = method->dataType;
+exp->__anon1.call.exp->expType = method->dataType;
 method->dataType->refCount++;
 }
 }
-if(memberExp && (!memberExp->member.exp || !memberExp->member.exp->expType || memberExp->member.exp->expType->kind != 19))
+if(memberExp && (!memberExp->__anon1.member.exp || !memberExp->__anon1.member.exp->expType || memberExp->__anon1.member.exp->expType->kind != 19))
 {
-if(method->dataType && !method->dataType->staticMethod && !method->dataType->extraParam)
+if(method->dataType && !method->dataType->__anon1.__anon2.staticMethod && !method->dataType->extraParam)
 {
-if(!exp->call.arguments)
-exp->call.arguments = MkList();
-if(typedObject && memberExp->member.exp && memberExp->member.exp->expType)
+if(!exp->__anon1.call.arguments)
+exp->__anon1.call.arguments = MkList();
+if(typedObject && memberExp->__anon1.member.exp && memberExp->__anon1.member.exp->expType)
 {
 unsigned int changeReference = 0x0;
-struct Expression * memberExpMemberExp = CopyExpression(memberExp->member.exp);
+struct Expression * memberExpMemberExp = CopyExpression(memberExp->__anon1.member.exp);
 
 if(argClass && (argClass->type == 4 || argClass->type == 3 || argClass->type == 2 || argClass->type == 1000) && strcmp(argClass->fullName, "class") && strcmp(argClass->fullName, "uintptr") && strcmp(argClass->fullName, "intptr"))
 changeReference = 0x1;
-if(!memberExp->member.exp->expType->classObjectType && ((((memberExp->member.exp->expType->kind != 13 && (memberExp->member.exp->expType->kind != 8 || !memberExp->member.exp->expType->_class || !memberExp->member.exp->expType->_class->registered || memberExp->member.exp->expType->_class->registered->type == 1)))) || method->dataType->byReference))
+if(!memberExp->__anon1.member.exp->expType->classObjectType && ((((memberExp->__anon1.member.exp->expType->kind != 13 && (memberExp->__anon1.member.exp->expType->kind != 8 || !memberExp->__anon1.member.exp->expType->__anon1._class || !memberExp->__anon1.member.exp->expType->__anon1._class->__anon1.registered || memberExp->__anon1.member.exp->expType->__anon1._class->__anon1.registered->type == 1)))) || method->dataType->byReference))
 changeReference = 0x1;
-if(typedObject && memberExp->member.exp->expType->classObjectType && memberExp->member.exp->expType->byReference != method->dataType->byReference)
+if(typedObject && memberExp->__anon1.member.exp->expType->classObjectType && memberExp->__anon1.member.exp->expType->byReference != method->dataType->byReference)
 changeReference = 0x1;
 if(changeReference)
 {
-if(memberExp->member.exp->type == 5 && memberExp->member.exp->list && (*memberExp->member.exp->list).count == 1 && ((struct Expression *)(*memberExp->member.exp->list).first)->type == 4 && ((struct Expression *)(*memberExp->member.exp->list).first)->op.op == '*' && !((struct Expression *)(*memberExp->member.exp->list).first)->op.exp1)
+if(memberExp->__anon1.member.exp->type == 5 && memberExp->__anon1.member.exp->__anon1.list && (*memberExp->__anon1.member.exp->__anon1.list).count == 1 && ((struct Expression *)(*memberExp->__anon1.member.exp->__anon1.list).first)->type == 4 && ((struct Expression *)(*memberExp->__anon1.member.exp->__anon1.list).first)->__anon1.op.op == '*' && !((struct Expression *)(*memberExp->__anon1.member.exp->__anon1.list).first)->__anon1.op.exp1)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->call.arguments), (((void *)0)), ((struct Expression *)(*memberExp->member.exp->list).first)->op.exp2);
-((struct Expression *)(*memberExp->member.exp->list).first)->op.exp2 = (((void *)0));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->__anon1.call.arguments), (((void *)0)), ((struct Expression *)(*memberExp->__anon1.member.exp->__anon1.list).first)->__anon1.op.exp2);
+((struct Expression *)(*memberExp->__anon1.member.exp->__anon1.list).first)->__anon1.op.exp2 = (((void *)0));
 }
-else if(memberExp->member.exp->type == 4 && memberExp->member.exp->op.op == '*' && !memberExp->member.exp->op.exp1)
+else if(memberExp->__anon1.member.exp->type == 4 && memberExp->__anon1.member.exp->__anon1.op.op == '*' && !memberExp->__anon1.member.exp->__anon1.op.exp1)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->call.arguments), (((void *)0)), memberExp->member.exp->op.exp2);
-memberExp->member.exp->op.exp2 = (((void *)0));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->__anon1.call.arguments), (((void *)0)), memberExp->__anon1.member.exp->__anon1.op.exp2);
+memberExp->__anon1.member.exp->__anon1.op.exp2 = (((void *)0));
 }
-else if(!memberExp->member.exp->byReference)
+else if(!memberExp->__anon1.member.exp->byReference)
 {
-struct Expression * checkedExp = memberExp->member.exp;
+struct Expression * checkedExp = memberExp->__anon1.member.exp;
 struct Expression * parentExp = (((void *)0));
 struct Expression * newExp;
 unsigned int disconnected = 0x0;
 
-while(((checkedExp->type == 5 || checkedExp->type == 32) && checkedExp->list) || checkedExp->type == 11)
+while(((checkedExp->type == 5 || checkedExp->type == 32) && checkedExp->__anon1.list) || checkedExp->type == 11)
 {
 parentExp = checkedExp;
 if(checkedExp->type == 5 || checkedExp->type == 32)
 {
-checkedExp = (*checkedExp->list).last;
+checkedExp = (*checkedExp->__anon1.list).last;
 if(checkedExp && !disconnected)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*parentExp->list), checkedExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*parentExp->__anon1.list), checkedExp);
 disconnected = 0x1;
 }
 }
 else if(checkedExp->type == 11)
 {
-checkedExp = checkedExp->cast.exp;
+checkedExp = checkedExp->__anon1.cast.exp;
 if(checkedExp && !disconnected)
 {
-checkedExp->cast.exp = (((void *)0));
+checkedExp->__anon1.cast.exp = (((void *)0));
 disconnected = 0x1;
 }
 }
 }
 if(!parentExp)
 nullMemberExp = 0x1;
-newExp = (typedObject && !memberExp->member.exp->expType->classObjectType) ? checkedExp : MkExpOp((((void *)0)), '&', checkedExp);
+newExp = (typedObject && !memberExp->__anon1.member.exp->expType->classObjectType) ? checkedExp : MkExpOp((((void *)0)), '&', checkedExp);
 if(parentExp && (parentExp->type == 5 || parentExp->type == 32))
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*parentExp->list), checkedExp);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*parentExp->list), newExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*parentExp->__anon1.list), checkedExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*parentExp->__anon1.list), newExp);
 }
 else if(parentExp && parentExp->type == 11)
 {
-parentExp->cast.exp = newExp;
-parentExp->cast.typeName->declarator = MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), parentExp->cast.typeName->declarator);
+parentExp->__anon1.cast.exp = newExp;
+parentExp->__anon1.cast.typeName->declarator = MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), parentExp->__anon1.cast.typeName->declarator);
 }
-if(typedObject && !memberExp->member.exp->expType->classObjectType)
+if(typedObject && !memberExp->__anon1.member.exp->expType->classObjectType)
 {
 struct Type * destType = (destType = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type), destType->refCount = 1, destType->kind = 8, destType->classObjectType = 3, destType);
 
@@ -2826,27 +2844,27 @@ FreeType((parentExp ? parentExp : newExp)->destType);
 if(checkedExp->expType)
 checkedExp->expType->refCount++;
 }
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->call.arguments), (((void *)0)), parentExp ? parentExp : newExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->__anon1.call.arguments), (((void *)0)), parentExp ? parentExp : newExp);
 }
 else
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->call.arguments), (((void *)0)), memberExp->member.exp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->__anon1.call.arguments), (((void *)0)), memberExp->__anon1.member.exp);
 nullMemberExp = 0x1;
 }
 }
 else
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->call.arguments), (((void *)0)), memberExp->member.exp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->__anon1.call.arguments), (((void *)0)), memberExp->__anon1.member.exp);
 nullMemberExp = 0x1;
 }
 {
 char className[1024];
-struct Type * type = memberExp->member.exp ? memberExp->member.exp->expType : (((void *)0));
-struct __ecereNameSpace__ecere__com__Class * regClass = (type && type->kind == 8 && type->_class) ? type->_class->registered : (((void *)0));
+struct Type * type = memberExp->__anon1.member.exp ? memberExp->__anon1.member.exp->expType : (((void *)0));
+struct __ecereNameSpace__ecere__com__Class * regClass = (type && type->kind == 8 && type->__anon1._class) ? type->__anon1._class->__anon1.registered : (((void *)0));
 struct __ecereNameSpace__ecere__com__Class * cl = argClass ? argClass : regClass;
 
 className[0] = (char)0;
-if(memberExp->member.exp && memberExp->member.exp->expType && memberExp->member.exp->expType->classObjectType == 2)
+if(memberExp->__anon1.member.exp && memberExp->__anon1.member.exp->expType && memberExp->__anon1.member.exp->expType->classObjectType == 2)
 strcpy(className, "class");
 else if(cl)
 {
@@ -2866,15 +2884,15 @@ struct Context * context = PushContext();
 struct __ecereNameSpace__ecere__sys__OldList * specs;
 
 c = MkExpExtensionCompound(MkCompoundStmt(MkListOne(MkDeclaration((specs = MkListOne(MkSpecifierName("Instance"))), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("__internal_ClassInst")), MkInitializerAssignment(memberExpMemberExp))))), MkListOne(MkExpressionStmt(MkListOne(MkExpCondition(MkExpIdentifier(MkIdentifier("__internal_ClassInst")), MkListOne(MkExpPointer(MkExpIdentifier(MkIdentifier("__internal_ClassInst")), MkIdentifier("_class"))), MkExpIdentifier(MkIdentifier(className))))))));
-c->compound->compound.context = context;
+c->__anon1.compound->__anon1.compound.context = context;
 PopContext(context);
 if(__ecereProp_Type_Get_specConst(type))
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*specs), (((void *)0)), MkSpecifier(CONST));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->call.arguments), (((void *)0)), c);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->__anon1.call.arguments), (((void *)0)), c);
 memberExpMemberExp = (((void *)0));
 }
 else
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->call.arguments), (((void *)0)), MkExpIdentifier(MkIdentifier(className)));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->__anon1.call.arguments), (((void *)0)), MkExpIdentifier(MkIdentifier(className)));
 }
 }
 if(memberExpMemberExp)
@@ -2882,7 +2900,7 @@ FreeExpression(memberExpMemberExp);
 }
 else
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->call.arguments), (((void *)0)), memberExp->member.exp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->__anon1.call.arguments), (((void *)0)), memberExp->__anon1.member.exp);
 nullMemberExp = 0x1;
 }
 }
@@ -2890,13 +2908,13 @@ nullMemberExp = 0x1;
 if(memberExp)
 {
 if(nullMemberExp)
-memberExp->member.exp = (((void *)0));
+memberExp->__anon1.member.exp = (((void *)0));
 FreeExpression(memberExp);
 }
 }
-if(exp->call.arguments)
+if(exp->__anon1.call.arguments)
 {
-for(e = (*exp->call.arguments).first; e; e = e->next)
+for(e = (*exp->__anon1.call.arguments).first; e; e = e->next)
 {
 struct Type * destType = (e->destType && e->destType->kind == 14) ? ellipsisDestType : e->destType;
 
@@ -2910,17 +2928,17 @@ if(e && e->expType)
 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 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)
 {
@@ -2937,9 +2955,9 @@ struct Symbol * classSym;
 PrintTypeNoConst(type, string, 0x0, 0x1);
 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 != 12 && (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 != 12 && (type->kind != 8 || !type->__anon1._class || !type->__anon1._class->__anon1.registered || type->__anon1._class->__anon1.registered->type == 1))) || destType->byReference)))
 {
 {
 struct Expression * checkedExp;
@@ -2948,25 +2966,25 @@ struct Expression * newExp;
 
 checkedExp = e;
 parentExp = exp;
-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)
 {
 parentExp = checkedExp;
 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)
 {
@@ -2978,28 +2996,28 @@ newExp = MkExpBrackets(MkListOne(MkExpOp(MkExpCast(MkTypeName(MkListOne(MkSpecif
 }
 if(parentExp->type == 7)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->call.arguments), e->prev, newExp);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*exp->call.arguments), e);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->__anon1.call.arguments), e->prev, newExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*exp->__anon1.call.arguments), e);
 e = newExp;
 }
 else if(parentExp->type == 5 || parentExp->type == 32)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*parentExp->list), checkedExp);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*parentExp->list), newExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*parentExp->__anon1.list), checkedExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*parentExp->__anon1.list), newExp);
 }
 else if(parentExp->type == 11)
 {
 if(parentExp->destType && parentExp->destType->kind == 14)
 {
-FreeTypeName(parentExp->cast.typeName);
-parentExp->cast.typeName = MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0))));
+FreeTypeName(parentExp->__anon1.cast.typeName);
+parentExp->__anon1.cast.typeName = MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0))));
 }
-parentExp->cast.exp = newExp;
+parentExp->__anon1.cast.exp = newExp;
 }
 else if(parentExp->type == 23)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*((struct Statement *)(*parentExp->compound->compound.statements).last)->expressions), checkedExp);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*((struct Statement *)(*parentExp->compound->compound.statements).last)->expressions), newExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*((struct Statement *)(*parentExp->__anon1.compound->__anon1.compound.statements).last)->__anon1.expressions), checkedExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*((struct Statement *)(*parentExp->__anon1.compound->__anon1.compound.statements).last)->__anon1.expressions), newExp);
 }
 e->byReference = 0x1;
 FreeType(checkedExp->expType);
@@ -3013,7 +3031,7 @@ struct Expression * parentExp;
 struct Expression * newExp;
 
 {
-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)
 {
@@ -3041,56 +3059,56 @@ char name[100];
 struct __ecereNameSpace__ecere__sys__OldList * stmts = MkList();
 
 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->compound->compound.context = context;
+e->__anon1.compound->__anon1.compound.context = context;
 PopContext(context);
 curContext = context->parent;
 }
 }
 checkedExp = e;
 parentExp = exp;
-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)
 {
 parentExp = checkedExp;
 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;
 }
 newExp = MkExpOp((((void *)0)), '&', checkedExp);
 newExp->byReference = 0x1;
 if(parentExp->type == 7)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->call.arguments), e->prev, newExp);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*exp->call.arguments), e);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->__anon1.call.arguments), e->prev, newExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*exp->__anon1.call.arguments), e);
 e = newExp;
 }
 else if(parentExp->type == 5 || parentExp->type == 32)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*parentExp->list), checkedExp);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*parentExp->list), newExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*parentExp->__anon1.list), checkedExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*parentExp->__anon1.list), newExp);
 }
 else if(parentExp->type == 11)
-parentExp->cast.exp = newExp;
+parentExp->__anon1.cast.exp = newExp;
 else if(parentExp->type == 5 || parentExp->type == 23)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*((struct Statement *)(*parentExp->compound->compound.statements).last)->expressions), checkedExp);
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*((struct Statement *)(*parentExp->compound->compound.statements).last)->expressions), newExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*((struct Statement *)(*parentExp->__anon1.compound->__anon1.compound.statements).last)->__anon1.expressions), checkedExp);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*((struct Statement *)(*parentExp->__anon1.compound->__anon1.compound.statements).last)->__anon1.expressions), newExp);
 }
 }
 }
@@ -3099,7 +3117,7 @@ if(destType->classObjectType == 2)
 {
 char className[1024];
 
-if(!_class && type->kind == 13 && type->type && type->type->kind == 1)
+if(!_class && type->kind == 13 && type->__anon1.type && type->__anon1.type->kind == 1)
 _class = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "String");
 if(!_class)
 _class = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "int");
@@ -3121,24 +3139,24 @@ if(_class->type == 0 && destType->byReference == 0x0 && strcmp(_class->dataTypeS
 struct Expression * c;
 struct Context * context = PushContext();
 
-if(_class->templateClass && !strcmp(_class->templateClass->name, "Container") && e->list && (*e->list).first && ((struct Expression *)(*e->list).first)->type == 11 && ((struct Expression *)(*e->list).first)->cast.exp && ((struct Expression *)(*e->list).first)->cast.exp->type == 4 && ((struct Expression *)(*e->list).first)->cast.exp->op.op == '&' && ((struct Expression *)(*e->list).first)->cast.exp->op.exp2 && ((struct Expression *)(*e->list).first)->cast.exp->op.exp2->type == 33)
+if(_class->templateClass && !strcmp(_class->templateClass->name, "Container") && e->__anon1.list && (*e->__anon1.list).first && ((struct Expression *)(*e->__anon1.list).first)->type == 11 && ((struct Expression *)(*e->__anon1.list).first)->__anon1.cast.exp && ((struct Expression *)(*e->__anon1.list).first)->__anon1.cast.exp->type == 4 && ((struct Expression *)(*e->__anon1.list).first)->__anon1.cast.exp->__anon1.op.op == '&' && ((struct Expression *)(*e->__anon1.list).first)->__anon1.cast.exp->__anon1.op.exp2 && ((struct Expression *)(*e->__anon1.list).first)->__anon1.cast.exp->__anon1.op.exp2->type == 33)
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->call.arguments), e->prev, MkExpIdentifier(MkIdentifier(className)));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->__anon1.call.arguments), e->prev, MkExpIdentifier(MkIdentifier(className)));
 }
 else
 {
 struct __ecereNameSpace__ecere__sys__OldList * specs;
 
 c = MkExpExtensionCompound(MkCompoundStmt(MkListOne(MkDeclaration((specs = MkListOne(MkSpecifierName("Instance"))), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("__internal_ClassInst")), MkInitializerAssignment(CopyExpression(e)))))), MkListOne(MkExpressionStmt(MkListOne(MkExpCondition(MkExpIdentifier(MkIdentifier("__internal_ClassInst")), MkListOne(MkExpPointer(MkExpIdentifier(MkIdentifier("__internal_ClassInst")), MkIdentifier("_class"))), MkExpIdentifier(MkIdentifier(className))))))));
-c->compound->compound.context = context;
+c->__anon1.compound->__anon1.compound.context = context;
 PopContext(context);
 if(__ecereProp_Type_Get_specConst(type))
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*specs), (((void *)0)), MkSpecifier(CONST));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->call.arguments), e->prev, c);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->__anon1.call.arguments), e->prev, c);
 }
 }
 else
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->call.arguments), e->prev, MkExpIdentifier(MkIdentifier(className)));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->__anon1.call.arguments), e->prev, MkExpIdentifier(MkIdentifier(className)));
 }
 }
 }
@@ -3148,9 +3166,9 @@ FixReference(e, !destType || !destType->declaredWithStruct);
 }
 if(ellipsisDestType)
 {
-if(usedEllipsis || (exp->call.exp->expType && exp->call.exp->expType->kind == 11 && exp->call.exp->expType->params.last && ((struct Type *)exp->call.exp->expType->params.last)->kind == 14))
+if(usedEllipsis || (exp->__anon1.call.exp->expType && exp->__anon1.call.exp->expType->kind == 11 && exp->__anon1.call.exp->expType->__anon1.__anon2.params.last && ((struct Type *)exp->__anon1.call.exp->expType->__anon1.__anon2.params.last)->kind == 14))
 {
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->call.arguments), (*exp->call.arguments).last, MkExpCast(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpConstant("0")));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*exp->__anon1.call.arguments), (*exp->__anon1.call.arguments).last, MkExpCast(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpConstant("0")));
 }
 }
 }
@@ -3160,29 +3178,31 @@ case 8:
 {
 unsigned int changeToPtr = 0x0;
 unsigned int noHead = 0x0;
-struct Type * type = exp->member.exp ? exp->member.exp->expType : (((void *)0));
-struct Specifier * memberClassSpecifier = exp->member.member ? exp->member.member->_class : (((void *)0));
+struct Type * type = exp->__anon1.member.exp ? exp->__anon1.member.exp->expType : (((void *)0));
+struct Specifier * memberClassSpecifier = exp->__anon1.member.member ? exp->__anon1.member.member->_class : (((void *)0));
 
-if(exp->member.member)
-exp->member.member->_class = (((void *)0));
+if(exp->__anon1.member.member)
+exp->__anon1.member.member->_class = (((void *)0));
 if(type && type->kind == 20)
 {
-struct Type * baseType = ProcessTemplateParameterType(type->templateParameter);
+struct Type * baseType = ProcessTemplateParameterType(type->__anon1.templateParameter);
 
 if(baseType)
 type = baseType;
 }
-if(type && exp->member.member && !type->directClassAccess)
+if(type && exp->__anon1.member.member && !type->directClassAccess)
 {
-struct __ecereNameSpace__ecere__com__Class * _class = 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->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__ClassProperty * classProperty = (((void *)0));
 struct __ecereNameSpace__ecere__com__Method * method = (((void *)0));
 struct __ecereNameSpace__ecere__com__Class * convertTo = (((void *)0));
 struct __ecereNameSpace__ecere__com__DataMember * member = (((void *)0));
-unsigned int thisPtr = exp->member.thisPtr;
+struct __ecereNameSpace__ecere__com__DataMember * subMemberStack[256];
+int subMemberStackPos = 0;
+unsigned int thisPtr = exp->__anon1.member.thisPtr;
 
-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)
 {
@@ -3191,27 +3211,27 @@ struct Symbol * classSym;
 
 PrintTypeNoConst(type, string, 0x0, 0x1);
 classSym = FindClass(string);
-_class = classSym ? classSym->registered : (((void *)0));
+_class = classSym ? classSym->__anon1.registered : (((void *)0));
 }
-if(_class && exp->member.memberType == 3)
+if(_class && exp->__anon1.member.memberType == 3)
 {
-if(!thisPtr && !exp->member.member->classSym)
-member = __ecereNameSpace__ecere__com__eClass_FindDataMember(_class, exp->member.member->string, (((void *)0)), (((void *)0)), (((void *)0)));
+if(!thisPtr && !exp->__anon1.member.member->classSym)
+member = __ecereNameSpace__ecere__com__eClass_FindDataMember(_class, exp->__anon1.member.member->string, (((void *)0)), subMemberStack, &subMemberStackPos);
 if(!member)
-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, subMemberStack, &subMemberStackPos);
 }
-else if(_class && exp->member.memberType == 1)
+else if(_class && exp->__anon1.member.memberType == 1)
 {
-if(!thisPtr && !exp->member.member->classSym)
-prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, exp->member.member->string, (((void *)0)));
+if(!thisPtr && !exp->__anon1.member.member->classSym)
+prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, exp->__anon1.member.member->string, (((void *)0)));
 if(!prop)
-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 && (((unsigned int)((exp->usage & 0x40) >> 6)) || (((unsigned int)((exp->usage & 0x1) >> 0)) && !prop->Get && !prop->conversion) || (((unsigned int)((exp->usage & 0x80) >> 7)) && !prop->Set && !prop->conversion)))
 {
-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, subMemberStack, &subMemberStackPos);
 if(member)
 {
-exp->member.memberType = 3;
+exp->__anon1.member.memberType = 3;
 prop = (((void *)0));
 }
 else
@@ -3225,22 +3245,22 @@ Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "no get define
 }
 }
 }
-else if(_class && exp->member.memberType == 2)
+else if(_class && exp->__anon1.member.memberType == 2)
 {
 if(!thisPtr)
-method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, exp->member.member->string, (((void *)0)));
+method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, exp->__anon1.member.member->string, (((void *)0)));
 if(!method)
-method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, exp->member.member->string, privateModule);
+method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, exp->__anon1.member.member->string, privateModule);
 }
-else if(_class && exp->member.memberType == 4)
+else if(_class && exp->__anon1.member.memberType == 4)
 {
 convertTo = _class;
-_class = FindClass(exp->member.member->string)->registered;
+_class = FindClass(exp->__anon1.member.member->string)->__anon1.registered;
 prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, convertTo->fullName, privateModule);
 }
-else if(_class && exp->member.memberType == 5)
+else if(_class && exp->__anon1.member.memberType == 5)
 {
-classProperty = __ecereNameSpace__ecere__com__eClass_FindClassProperty(_class, exp->member.member->string);
+classProperty = __ecereNameSpace__ecere__com__eClass_FindClassProperty(_class, exp->__anon1.member.member->string);
 }
 if(prop)
 {
@@ -3249,15 +3269,15 @@ if(((unsigned int)((exp->usage & 0x1) >> 0)))
 if(prop->Get)
 {
 char getName[1024], setName[1024];
-struct Expression * ptr = exp->member.exp;
+struct Expression * ptr = exp->__anon1.member.exp;
 struct __ecereNameSpace__ecere__com__Class * propertyClass;
 char * nameToUse = convertTo ? setName : getName;
 
-FreeIdentifier(exp->member.member);
-exp->member.exp->usage = (exp->member.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-ProcessExpression(exp->member.exp);
+FreeIdentifier(exp->__anon1.member.member);
+exp->__anon1.member.exp->usage = (exp->__anon1.member.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+ProcessExpression(exp->__anon1.member.exp);
 DeclareProperty(prop, setName, getName);
-propertyClass = convertTo ? _class : ((((struct Symbol *)prop->symbol)->type && ((struct Symbol *)prop->symbol)->type->kind == 8) ? ((struct Symbol *)prop->symbol)->type->_class->registered : ((struct Symbol *)prop->symbol)->_class);
+propertyClass = convertTo ? _class : ((((struct Symbol *)prop->symbol)->type && ((struct Symbol *)prop->symbol)->type->kind == 8) ? ((struct Symbol *)prop->symbol)->type->__anon1._class->__anon1.registered : ((struct Symbol *)prop->symbol)->_class);
 if(propertyClass && propertyClass->type == 2)
 {
 struct __ecereNameSpace__ecere__sys__OldList * args = MkList();
@@ -3274,21 +3294,21 @@ sprintf(className, "__simpleStruct%d", curContext->simpleID++);
 declarator = SpecDeclFromString(propertyClass->dataTypeString, specs, MkDeclaratorIdentifier(MkIdentifier(className)));
 ListAdd(decls, MkInitDeclarator(declarator, (((void *)0))));
 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);
 tempExp = QMkExpId(className);
 tempExp->expType = MkClassType(propertyClass->fullName);
-exp->op.exp1 = tempExp;
-exp->op.exp2 = MkExpCall(QMkExpId(nameToUse), args);
-exp->op.op = '=';
+exp->__anon1.op.exp1 = tempExp;
+exp->__anon1.op.exp2 = MkExpCall(QMkExpId(nameToUse), args);
+exp->__anon1.op.op = '=';
 exp->type = 4;
 }
 else
 {
 exp->type = 7;
-exp->call.exp = QMkExpId(nameToUse);
-exp->call.arguments = args;
+exp->__anon1.call.exp = QMkExpId(nameToUse);
+exp->__anon1.call.arguments = args;
 }
 ListAdd(args, FixReference(ptr, 0x1));
 }
@@ -3298,8 +3318,8 @@ struct __ecereNameSpace__ecere__sys__OldList * args = MkList();
 
 ListAdd(args, FixReference(ptr, 0x1));
 exp->type = 7;
-exp->call.exp = QMkExpId(nameToUse);
-exp->call.arguments = args;
+exp->__anon1.call.exp = QMkExpId(nameToUse);
+exp->__anon1.call.arguments = args;
 }
 else if(propertyClass && propertyClass->type == 1)
 {
@@ -3317,9 +3337,9 @@ ListAdd(decls, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(className)),
 decl = MkDeclaration(specs, decls);
 if(curCompound)
 {
-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);
 }
 tempExp = QMkExpId(className);
 tempExp->expType = MkClassType(propertyClass->fullName);
@@ -3336,37 +3356,37 @@ ListAdd(args, FixReference(CopyExpression(tempExp), 0x1));
 if(((unsigned int)((exp->usage & 0x20) >> 5)))
 {
 exp->type = 7;
-exp->call.exp = QMkExpId(nameToUse);
-exp->call.arguments = args;
+exp->__anon1.call.exp = QMkExpId(nameToUse);
+exp->__anon1.call.arguments = args;
 FreeExpression(tempExp);
 }
 else
 {
 exp->type = 5;
-exp->list = MkList();
-ListAdd(exp->list, MkExpCall(QMkExpId(nameToUse), args));
+exp->__anon1.list = MkList();
+ListAdd(exp->__anon1.list, MkExpCall(QMkExpId(nameToUse), args));
 if(((unsigned int)((exp->usage & 0x10) >> 4)))
 {
-ListAdd(exp->list, FixReference(tempExp, 0x1));
+ListAdd(exp->__anon1.list, FixReference(tempExp, 0x1));
 exp->byReference = 0x1;
 }
 else
-ListAdd(exp->list, tempExp);
+ListAdd(exp->__anon1.list, tempExp);
 }
 }
 else
 {
 exp->type = 7;
-exp->call.exp = QMkExpId(nameToUse);
-exp->call.arguments = MkList();
-ListAdd(exp->call.arguments, FixReference(ptr, 0x1));
+exp->__anon1.call.exp = QMkExpId(nameToUse);
+exp->__anon1.call.arguments = MkList();
+ListAdd(exp->__anon1.call.arguments, FixReference(ptr, 0x1));
 }
 }
 else if(prop->conversion)
 {
 void * prev = exp->prev, * next = exp->next;
 
-*exp = *exp->member.exp;
+*exp = *exp->__anon1.member.exp;
 exp->prev = prev;
 exp->next = next;
 }
@@ -3378,17 +3398,17 @@ if(((unsigned int)((exp->usage & 0x1) >> 0)))
 {
 if(classProperty->Get)
 {
-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;
 
 exp->type = 7;
-exp->call.exp = MkExpIdentifier(MkIdentifier("ecere::com::eClass_GetProperty"));
-exp->call.arguments = MkList();
-ListAdd(exp->call.arguments, classExp);
+exp->__anon1.call.exp = MkExpIdentifier(MkIdentifier("ecere::com::eClass_GetProperty"));
+exp->__anon1.call.arguments = MkList();
+ListAdd(exp->__anon1.call.arguments, classExp);
 {
 char * s = QMkString(id->string);
 
-ListAdd(exp->call.arguments, MkExpString(s));
+ListAdd(exp->__anon1.call.arguments, MkExpString(s));
 (__ecereNameSpace__ecere__com__eSystem_Delete(s), s = 0);
 }
 FreeIdentifier(id);
@@ -3399,13 +3419,13 @@ return ;
 }
 else if(method)
 {
-if((((unsigned int)((exp->usage & 0x1) >> 0)) || exp->member.exp->expType->kind == 19) && !((unsigned int)((exp->usage & 0x8) >> 3)))
+if((((unsigned int)((exp->usage & 0x1) >> 0)) || exp->__anon1.member.exp->expType->kind == 19) && !((unsigned int)((exp->usage & 0x8) >> 3)))
 {
 char name[1024];
 
-FreeIdentifier(exp->member.member);
-exp->member.exp->usage = (exp->member.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-ProcessExpression(exp->member.exp);
+FreeIdentifier(exp->__anon1.member.member);
+exp->__anon1.member.exp->usage = (exp->__anon1.member.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+ProcessExpression(exp->__anon1.member.exp);
 if(method->type == 1)
 {
 strcpy(name, "__ecereVMethodID_");
@@ -3423,44 +3443,79 @@ MangleClassName(className);
 if(!_class->symbol)
 _class->symbol = FindClass(_class->fullName);
 DeclareClass(_class->symbol, className);
-FreeExpression(exp->member.exp);
-exp->index.exp = MkExpPointer(MkExpIdentifier(MkIdentifier(className)), MkIdentifier("_vTbl"));
+FreeExpression(exp->__anon1.member.exp);
+exp->__anon1.index.exp = MkExpPointer(MkExpIdentifier(MkIdentifier(className)), MkIdentifier("_vTbl"));
 }
 else
 {
 if(exp->thisPtr && _class->type != 0)
 {
-FreeExpression(exp->member.exp);
-exp->index.exp = MkExpPointer(MkExpIdentifier(MkIdentifier("class")), MkIdentifier("_vTbl"));
+FreeExpression(exp->__anon1.member.exp);
+exp->__anon1.index.exp = MkExpPointer(MkExpIdentifier(MkIdentifier("class")), MkIdentifier("_vTbl"));
 }
 else
-exp->index.exp = MkExpPointer(exp->member.exp, MkIdentifier("_vTbl"));
+exp->__anon1.index.exp = MkExpPointer(exp->__anon1.member.exp, MkIdentifier("_vTbl"));
 }
-exp->index.index = MkListOne(QMkExpId(name));
+exp->__anon1.index.index = MkListOne(QMkExpId(name));
 DeclareMethod(method, name);
 }
 else
 {
-FreeExpression(exp->member.exp);
+FreeExpression(exp->__anon1.member.exp);
 exp->type = 0;
 strcpy(name, "__ecereMethod_");
 FullClassNameCat(name, method->_class->fullName, 0x0);
 strcat(name, "_");
 strcat(name, method->name);
-exp->identifier = MkIdentifier(name);
+exp->__anon1.__anon1.identifier = MkIdentifier(name);
 DeclareMethod(method, name);
 }
 }
 }
 else if(member)
 {
+if(subMemberStackPos)
+{
+int i;
+struct __ecereNameSpace__ecere__com__DataMember * parentMember = (((void *)0));
+char * s, * prefix = (((void *)0));
+
+for(i = 0; i < subMemberStackPos; i++)
+{
+struct __ecereNameSpace__ecere__com__DataMember * curMember = subMemberStack[i];
+struct __ecereNameSpace__ecere__com__DataMember * m;
+int anonID = 1;
+
+for(m = parentMember ? parentMember->members.first : _class->membersAndProperties.first; m; m = m->next)
+{
+if(m && !m->isProperty && (m->type == 1 || m->type == 2) && !m->name)
+{
+if(m == curMember)
+break;
+anonID++;
+}
+}
+if(prefix)
+{
+s = prefix;
+prefix = __ecereNameSpace__ecere__com__PrintString(__ecereClass_String, prefix, __ecereClass_char__PTR_, ".__anon", __ecereClass_int, &anonID, (void *)0);
+(__ecereNameSpace__ecere__com__eSystem_Delete(s), s = 0);
+}
+else
+prefix = __ecereNameSpace__ecere__com__PrintString(__ecereClass_char__PTR_, "__anon", __ecereClass_int, &anonID, (void *)0);
+parentMember = curMember;
+}
+s = exp->__anon1.member.member->string;
+exp->__anon1.member.member->string = __ecereNameSpace__ecere__com__PrintString(__ecereClass_String, prefix, __ecereClass_char__PTR_, ".", __ecereClass_String, s, (void *)0);
+(__ecereNameSpace__ecere__com__eSystem_Delete(s), s = 0);
+}
 if(((unsigned int)((exp->usage & 0x1) >> 0)))
 {
-exp->member.exp->usage = (exp->member.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+exp->__anon1.member.exp->usage = (exp->__anon1.member.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
 }
-ProcessExpression(exp->member.exp);
-if(type->kind == 8 && type->_class && type->_class->registered)
-DeclareStruct(type->_class->registered->fullName, 0x0);
+ProcessExpression(exp->__anon1.member.exp);
+if(type->kind == 8 && type->__anon1._class && type->__anon1._class->__anon1.registered)
+DeclareStruct(type->__anon1._class->__anon1.registered->fullName, 0x0);
 if(_class->type == 5)
 {
 noHead = 0x1;
@@ -3483,25 +3538,25 @@ sprintf(mask, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "0x%I
 else
 sprintf(mask, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "0x%I64X" : "0x%llX"), bitMember->mask);
 sprintf(shift, "%d", bitMember->pos);
-FreeIdentifier(exp->member.member);
-ListAdd(list, MkExpCast(type, MkExpBrackets(MkListOne(MkExpOp(MkExpBrackets(MkListOne(MkExpOp(exp->member.exp, '&', MkExpConstant(mask)))), RIGHT_OP, MkExpConstant(shift))))));
+FreeIdentifier(exp->__anon1.member.member);
+ListAdd(list, MkExpCast(type, MkExpBrackets(MkListOne(MkExpOp(MkExpBrackets(MkListOne(MkExpOp(exp->__anon1.member.exp, '&', MkExpConstant(mask)))), RIGHT_OP, MkExpConstant(shift))))));
 exp->type = 5;
-exp->list = list;
+exp->__anon1.list = list;
 }
 else if(_class->type == 3)
 {
 }
 else
 {
-if(exp->member.exp->type == 0 && thisPtr && type->kind == 8 && (!exp->member.exp->expType || !exp->member.exp->expType->typedByReference))
+if(exp->__anon1.member.exp->type == 0 && thisPtr && type->kind == 8 && (!exp->__anon1.member.exp->expType || !exp->__anon1.member.exp->expType->typedByReference))
 {
 char pointerName[1024];
 
 strcpy(pointerName, "__ecerePointer_");
-FullClassNameCat(pointerName, type->_class->registered->fullName, 0x0);
-if(exp->member.exp->identifier)
-FreeIdentifier(exp->member.exp->identifier);
-exp->member.exp->identifier = MkIdentifier(pointerName);
+FullClassNameCat(pointerName, type->__anon1._class->__anon1.registered->fullName, 0x0);
+if(exp->__anon1.member.exp->__anon1.__anon1.identifier)
+FreeIdentifier(exp->__anon1.member.exp->__anon1.__anon1.identifier);
+exp->__anon1.member.exp->__anon1.__anon1.identifier = MkIdentifier(pointerName);
 }
 else
 {
@@ -3520,13 +3575,13 @@ DeclareClass(member->_class->symbol, className);
 DeclareStruct(member->_class->fullName, 0x0);
 structName[0] = (char)0;
 FullClassNameCat(structName, member->_class->fullName, 0x0);
-checkedExp = exp->member.exp;
-while(((checkedExp->type == 5 || checkedExp->type == 32) && checkedExp->list && (*checkedExp->list).count == 1) || checkedExp->type == 11)
+checkedExp = exp->__anon1.member.exp;
+while(((checkedExp->type == 5 || checkedExp->type == 32) && checkedExp->__anon1.list && (*checkedExp->__anon1.list).count == 1) || checkedExp->type == 11)
 {
 if(checkedExp->type == 5 || checkedExp->type == 32)
-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->type != 0 && checkedExp->type != 2 && checkedExp->type != 8 && checkedExp->type != 9)
 {
@@ -3535,13 +3590,13 @@ char ecereTemp[100];
 struct Statement * compound;
 struct Context * context = PushContext();
 
-if(exp->member.exp->tempCount > exp->tempCount)
-exp->tempCount = exp->member.exp->tempCount;
+if(exp->__anon1.member.exp->tempCount > exp->tempCount)
+exp->tempCount = exp->__anon1.member.exp->tempCount;
 exp->tempCount++;
-curExternal->function->tempCount = (__simpleStruct0 = curExternal->function->tempCount, __simpleStruct1 = exp->tempCount, (__simpleStruct0 > __simpleStruct1) ? __simpleStruct0 : __simpleStruct1);
+curExternal->__anon1.function->tempCount = (__simpleStruct0 = curExternal->__anon1.function->tempCount, __simpleStruct1 = exp->tempCount, (__simpleStruct0 > __simpleStruct1) ? __simpleStruct0 : __simpleStruct1);
 sprintf(ecereTemp, "__ecTemp%d", exp->tempCount);
 curContext = context;
-compound = MkCompoundStmt(MkListOne(MkDeclaration(MkListOne(MkSpecifier(CHAR)), MkListOne(MkInitDeclarator(MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), MkDeclaratorIdentifier(MkIdentifier(ecereTemp))), MkInitializerAssignment(QBrackets(exp->member.exp)))))), (((void *)0)));
+compound = MkCompoundStmt(MkListOne(MkDeclaration(MkListOne(MkSpecifier(CHAR)), MkListOne(MkInitDeclarator(MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), MkDeclaratorIdentifier(MkIdentifier(ecereTemp))), MkInitializerAssignment(QBrackets(exp->__anon1.member.exp)))))), (((void *)0)));
 if(member->_class->fixed)
 {
 if(member->_class->templateClass ? member->_class->templateClass->offset : member->_class->offset)
@@ -3558,15 +3613,15 @@ else
 {
 e = QBrackets(MkExpOp(QMkExpId(ecereTemp), '+', MkExpPointer(QMkExpId(className), MkIdentifier("offset"))));
 }
-compound->compound.context = context;
-compound->compound.statements = MkListOne(MkExpressionStmt(MkListOne(QBrackets(MkExpCast(MkTypeName(MkListOne(MkStructOrUnion(3, MkIdentifier(structName), (((void *)0)))), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), e)))));
-exp->member.exp = MkExpExtensionCompound(compound);
+compound->__anon1.compound.context = context;
+compound->__anon1.compound.statements = MkListOne(MkExpressionStmt(MkListOne(QBrackets(MkExpCast(MkTypeName(MkListOne(MkStructOrUnion(3, MkIdentifier(structName), (((void *)0)))), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), e)))));
+exp->__anon1.member.exp = MkExpExtensionCompound(compound);
 PopContext(context);
 curContext = context->parent;
 }
 else
 {
-bytePtr = MkExpCast(QMkType("char", QMkPtrDecl((((void *)0)))), exp->member.exp);
+bytePtr = MkExpCast(QMkType("char", QMkPtrDecl((((void *)0)))), exp->__anon1.member.exp);
 if(member->_class->fixed)
 {
 if(member->_class->templateClass ? member->_class->templateClass->offset : member->_class->offset)
@@ -3581,7 +3636,7 @@ e = bytePtr;
 }
 else
 e = QBrackets(QBrackets(MkExpOp(bytePtr, '+', MkExpPointer(QMkExpId(className), MkIdentifier("offset")))));
-exp->member.exp = QBrackets(MkExpCast(MkTypeName(MkListOne(MkStructOrUnion(3, MkIdentifier(structName), (((void *)0)))), QMkPtrDecl((((void *)0)))), e));
+exp->__anon1.member.exp = QBrackets(MkExpCast(MkTypeName(MkListOne(MkStructOrUnion(3, MkIdentifier(structName), (((void *)0)))), QMkPtrDecl((((void *)0)))), e));
 }
 }
 exp->type = 9;
@@ -3589,49 +3644,51 @@ exp->type = 9;
 }
 }
 FreeSpecifier(memberClassSpecifier);
-if(exp->member.exp && (exp->type == 8 || exp->type == 9))
-{
-exp->member.exp->usage = (exp->member.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-exp->member.exp->usage = (exp->member.exp->usage & ~0x10) | (((unsigned int)0x1) << 4);
-exp->member.exp->tempCount = exp->tempCount;
-ProcessExpression(exp->member.exp);
-exp->tempCount = exp->member.exp->tempCount;
-if((changeToPtr && exp->member.exp->byReference) || noHead)
+if(exp->__anon1.member.exp && (exp->type == 8 || exp->type == 9))
+{
+exp->__anon1.member.exp->usage = (exp->__anon1.member.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+exp->__anon1.member.exp->usage = (exp->__anon1.member.exp->usage & ~0x10) | (((unsigned int)0x1) << 4);
+exp->__anon1.member.exp->tempCount = exp->tempCount;
+ProcessExpression(exp->__anon1.member.exp);
+exp->tempCount = exp->__anon1.member.exp->tempCount;
+if((changeToPtr && exp->__anon1.member.exp->byReference) || noHead)
 exp->type = 9;
 }
 break;
 }
 case 23:
 {
-struct Expression * e = (*((struct Statement *)(*exp->compound->compound.statements).last)->expressions).last;
+struct Expression * e = (*((struct Statement *)(*exp->__anon1.compound->__anon1.compound.statements).last)->__anon1.expressions).last;
 
 if(e)
 e->usage |= exp->usage & (((unsigned int)(0x1)) | (((unsigned int)(0x1)) << 2) | (((unsigned int)(0x1)) << 4));
-ProcessStatement(exp->compound);
+ProcessStatement(exp->__anon1.compound);
 break;
 }
 case 9:
 {
-exp->member.exp->usage = (exp->member.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-ProcessExpression(exp->member.exp);
+exp->__anon1.member.exp->usage = (exp->__anon1.member.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+ProcessExpression(exp->__anon1.member.exp);
 break;
 }
 case 10:
 {
-struct Specifier * spec = exp->typeName->qualifiers ? (*exp->typeName->qualifiers).first : (((void *)0));
+struct Specifier * spec = exp->__anon1.typeName->qualifiers ? (*exp->__anon1.typeName->qualifiers).first : (((void *)0));
 
-if(spec && spec->type == 8 && !exp->typeName->declarator)
+if(spec && spec->type == 8 && !exp->__anon1.typeName->declarator)
 {
-struct Expression * argExp = GetTemplateArgExp(spec->templateParameter, thisClass, 0x0);
+struct Expression * argExp = GetTemplateArgExp(spec->__anon1.templateParameter, thisClass, 0x0);
 
 if(argExp)
 {
 struct Expression * classExp;
 
-FreeTypeName(exp->typeName);
+FreeTypeName(exp->__anon1.typeName);
 classExp = MkExpMember(argExp, MkIdentifier("dataTypeClass"));
+ProcessExpressionType(classExp);
+ProcessExpression(classExp);
 exp->type = 5;
-exp->list = MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("normalClass"))), OR_OP, MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("noHeadClass")))))), MkListOne(MkExpTypeSize(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))))), MkExpMember(classExp, MkIdentifier("typeSize"))));
+exp->__anon1.list = MkListOne(MkExpCondition(MkExpBrackets(MkListOne(MkExpOp(MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("normalClass"))), OR_OP, MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("noHeadClass")))))), MkListOne(MkExpTypeSize(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))))), MkExpMember(classExp, MkIdentifier("typeSize"))));
 ProcessExpressionType(exp);
 ProcessExpression(exp);
 }
@@ -3640,13 +3697,13 @@ break;
 }
 case 11:
 {
-if(exp->cast.exp)
+if(exp->__anon1.cast.exp)
 {
-exp->cast.exp->usage |= exp->usage & (((unsigned int)(0x1)) | (((unsigned int)(0x1)) << 4));
-ProcessExpression(exp->cast.exp);
-if(exp->cast.exp->byReference)
-exp->byReference = exp->cast.exp->byReference;
-if(exp->expType && exp->expType->kind == 8 && exp->expType->_class && exp->expType->_class->registered && exp->expType->_class->registered->type == 1 && exp->cast.exp->expType && (exp->cast.exp->expType->kind == 13 || exp->cast.exp->expType->kind == 12 || (exp->cast.exp->expType->kind == 8 && exp->cast.exp->expType->_class && exp->cast.exp->expType->_class->registered && !strcmp(exp->cast.exp->expType->_class->registered->dataTypeString, "char *"))))
+exp->__anon1.cast.exp->usage |= exp->usage & (((unsigned int)(0x1)) | (((unsigned int)(0x1)) << 4));
+ProcessExpression(exp->__anon1.cast.exp);
+if(exp->__anon1.cast.exp->byReference)
+exp->byReference = exp->__anon1.cast.exp->byReference;
+if(exp->expType && exp->expType->kind == 8 && exp->expType->__anon1._class && exp->expType->__anon1._class->__anon1.registered && exp->expType->__anon1._class->__anon1.registered->type == 1 && exp->__anon1.cast.exp->expType && (exp->__anon1.cast.exp->expType->kind == 13 || exp->__anon1.cast.exp->expType->kind == 12 || (exp->__anon1.cast.exp->expType->kind == 8 && exp->__anon1.cast.exp->expType->__anon1._class && exp->__anon1.cast.exp->expType->__anon1._class->__anon1.registered && !strcmp(exp->__anon1.cast.exp->expType->__anon1._class->__anon1.registered->dataTypeString, "char *"))))
 exp->byReference = 0x1;
 }
 break;
@@ -3656,42 +3713,44 @@ case 12:
 struct Expression * e;
 
 if(((unsigned int)((exp->usage & 0x1) >> 0)))
-exp->cond.cond->usage = (exp->cond.cond->usage & ~0x1) | (((unsigned int)0x1) << 0);
-ProcessExpression(exp->cond.cond);
-for(e = (*exp->cond.exp).first; e; e = e->next)
+exp->__anon1.cond.cond->usage = (exp->__anon1.cond.cond->usage & ~0x1) | (((unsigned int)0x1) << 0);
+ProcessExpression(exp->__anon1.cond.cond);
+for(e = (*exp->__anon1.cond.exp).first; e; e = e->next)
 {
 if(!e->next && ((unsigned int)((exp->usage & 0x1) >> 0)))
 e->usage = (e->usage & ~0x1) | (((unsigned int)0x1) << 0);
 ProcessExpression(e);
 }
 if(((unsigned int)((exp->usage & 0x1) >> 0)))
-exp->cond.elseExp->usage = (exp->cond.elseExp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-ProcessExpression(exp->cond.elseExp);
+exp->__anon1.cond.elseExp->usage = (exp->__anon1.cond.elseExp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+ProcessExpression(exp->__anon1.cond.elseExp);
 break;
 }
 case 24:
 {
-if(exp->_classExp.specifiers && (*exp->_classExp.specifiers).first && ((struct Specifier *)(*exp->_classExp.specifiers).first)->type == 8)
+if(exp->__anon1._classExp.specifiers && (*exp->__anon1._classExp.specifiers).first && ((struct Specifier *)(*exp->__anon1._classExp.specifiers).first)->type == 8)
 {
-struct Specifier * spec = (*exp->_classExp.specifiers).first;
-struct Expression * argExp = GetTemplateArgExp(spec->templateParameter, thisClass, 0x1);
+struct Specifier * spec = (*exp->__anon1._classExp.specifiers).first;
+struct Expression * argExp = GetTemplateArgExp(spec->__anon1.templateParameter, thisClass, 0x1);
 
 if(argExp)
 {
-FreeList(exp->_classExp.specifiers, FreeSpecifier);
-if(exp->_classExp.decl)
-FreeDeclarator(exp->_classExp.decl);
+FreeList(exp->__anon1._classExp.specifiers, FreeSpecifier);
+if(exp->__anon1._classExp.decl)
+FreeDeclarator(exp->__anon1._classExp.decl);
 exp->type = 8;
-exp->member.exp = argExp;
-exp->member.member = MkIdentifier("dataTypeClass");
+exp->__anon1.member.exp = argExp;
+exp->__anon1.member.member = MkIdentifier("dataTypeClass");
+exp->__anon1.member.memberType = 3;
 ProcessExpressionType(argExp);
+ProcessExpressionType(exp);
 ProcessExpression(exp);
 }
 }
 else
 {
 char className[1024];
-char * string = StringFromSpecDecl(exp->_classExp.specifiers, exp->_classExp.decl);
+char * string = StringFromSpecDecl(exp->__anon1._classExp.specifiers, exp->__anon1._classExp.decl);
 struct Symbol * classSym = FindClass(string);
 
 strcpy(className, "__ecereClass_");
@@ -3699,22 +3758,22 @@ FullClassNameCat(className, string, 0x1);
 MangleClassName(className);
 DeclareClass(classSym, className);
 (__ecereNameSpace__ecere__com__eSystem_Delete(string), string = 0);
-FreeList(exp->_classExp.specifiers, FreeSpecifier);
-if(exp->_classExp.decl)
-FreeDeclarator(exp->_classExp.decl);
+FreeList(exp->__anon1._classExp.specifiers, FreeSpecifier);
+if(exp->__anon1._classExp.decl)
+FreeDeclarator(exp->__anon1._classExp.decl);
 exp->type = 0;
-exp->identifier = MkIdentifier(className);
+exp->__anon1.__anon1.identifier = MkIdentifier(className);
 }
 break;
 }
 case 34:
 {
-ProcessExpression(exp->vaArg.exp);
+ProcessExpression(exp->__anon1.vaArg.exp);
 break;
 }
 case 33:
 {
-ProcessInitializer(exp->initializer.initializer);
+ProcessInitializer(exp->__anon1.initializer.initializer);
 break;
 }
 }
@@ -3727,25 +3786,25 @@ static void ProcessInitializer(struct Initializer * init)
 switch(init->type)
 {
 case 0:
-if(init->exp)
+if(init->__anon1.exp)
 {
-init->exp->usage = (init->exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-ProcessExpression(init->exp);
-if(init->exp->destType && init->exp->destType->kind == 8 && init->exp->destType->_class && init->exp->destType->_class->registered && init->exp->destType->_class->registered->type == 5)
+init->__anon1.exp->usage = (init->__anon1.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+ProcessExpression(init->__anon1.exp);
+if(init->__anon1.exp->destType && init->__anon1.exp->destType->kind == 8 && init->__anon1.exp->destType->__anon1._class && init->__anon1.exp->destType->__anon1._class->__anon1.registered && init->__anon1.exp->destType->__anon1._class->__anon1.registered->type == 5)
 {
-FixReference(init->exp, 0x1);
+FixReference(init->__anon1.exp, 0x1);
 }
-else if(init->exp->destType && init->exp->destType->kind == 8)
-FixReference(init->exp, 0x0);
+else if(init->__anon1.exp->destType && init->__anon1.exp->destType->kind == 8)
+FixReference(init->__anon1.exp, 0x0);
 }
 break;
 case 1:
 {
-if(init->list)
+if(init->__anon1.list)
 {
 struct Initializer * i;
 
-for(i = (*init->list).first; i; i = i->next)
+for(i = (*init->__anon1.list).first; i; i = i->next)
 ProcessInitializer(i);
 }
 break;
@@ -3759,11 +3818,11 @@ switch(decl->type)
 {
 case 1:
 {
-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)
 {
 if(d->initializer)
 ProcessInitializer(d->initializer);
@@ -3779,39 +3838,39 @@ static void ProcessStatement(struct Statement * stmt)
 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)
 {
-stmt->caseStmt.exp->usage = (stmt->caseStmt.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
-ProcessExpression(stmt->caseStmt.exp);
+stmt->__anon1.caseStmt.exp->usage = (stmt->__anon1.caseStmt.exp->usage & ~0x1) | (((unsigned int)0x1) << 0);
+ProcessExpression(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;
+curContext = stmt->__anon1.compound.context;
 }
-if(stmt->compound.declarations)
+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;
@@ -3823,9 +3882,9 @@ case 3:
 {
 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)
 {
 ProcessExpression(exp);
 }
@@ -3834,91 +3893,91 @@ break;
 }
 case 4:
 {
-if(stmt->ifStmt.exp)
+if(stmt->__anon1.ifStmt.exp)
 {
 struct Expression * exp;
 
-((struct Expression *)(*stmt->ifStmt.exp).last)->usage = (((struct Expression *)(*stmt->ifStmt.exp).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
-for(exp = (*stmt->ifStmt.exp).first; exp; exp = exp->next)
+((struct Expression *)(*stmt->__anon1.ifStmt.exp).last)->usage = (((struct Expression *)(*stmt->__anon1.ifStmt.exp).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
+for(exp = (*stmt->__anon1.ifStmt.exp).first; exp; exp = exp->next)
 {
 ProcessExpression(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 Expression * exp;
 
-if(stmt->switchStmt.exp && (*stmt->switchStmt.exp).last)
+if(stmt->__anon1.switchStmt.exp && (*stmt->__anon1.switchStmt.exp).last)
 {
-((struct Expression *)(*stmt->switchStmt.exp).last)->usage = (((struct Expression *)(*stmt->switchStmt.exp).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
-for(exp = (*stmt->switchStmt.exp).first; exp; exp = exp->next)
+((struct Expression *)(*stmt->__anon1.switchStmt.exp).last)->usage = (((struct Expression *)(*stmt->__anon1.switchStmt.exp).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
+for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
 {
 ProcessExpression(exp);
 }
 }
-ProcessStatement(stmt->switchStmt.stmt);
+ProcessStatement(stmt->__anon1.switchStmt.stmt);
 break;
 }
 case 6:
 {
 struct Expression * exp;
 
-if(stmt->whileStmt.exp && (*stmt->whileStmt.exp).last)
+if(stmt->__anon1.whileStmt.exp && (*stmt->__anon1.whileStmt.exp).last)
 {
-((struct Expression *)(*stmt->whileStmt.exp).last)->usage = (((struct Expression *)(*stmt->whileStmt.exp).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
-for(exp = (*stmt->whileStmt.exp).first; exp; exp = exp->next)
+((struct Expression *)(*stmt->__anon1.whileStmt.exp).last)->usage = (((struct Expression *)(*stmt->__anon1.whileStmt.exp).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
+for(exp = (*stmt->__anon1.whileStmt.exp).first; exp; exp = exp->next)
 {
 ProcessExpression(exp);
 }
 }
-ProcessStatement(stmt->whileStmt.stmt);
+ProcessStatement(stmt->__anon1.whileStmt.stmt);
 break;
 }
 case 7:
 {
 struct Expression * exp;
 
-if(stmt->doWhile.exp && (*stmt->doWhile.exp).last)
+if(stmt->__anon1.doWhile.exp && (*stmt->__anon1.doWhile.exp).last)
 {
-((struct Expression *)(*stmt->doWhile.exp).last)->usage = (((struct Expression *)(*stmt->doWhile.exp).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
-for(exp = (*stmt->doWhile.exp).first; exp; exp = exp->next)
+((struct Expression *)(*stmt->__anon1.doWhile.exp).last)->usage = (((struct Expression *)(*stmt->__anon1.doWhile.exp).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
+for(exp = (*stmt->__anon1.doWhile.exp).first; exp; exp = exp->next)
 {
 ProcessExpression(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)
+if(stmt->__anon1.forStmt.init)
+ProcessStatement(stmt->__anon1.forStmt.init);
+if(stmt->__anon1.forStmt.check)
 {
-if(stmt->forStmt.check->expressions)
+if(stmt->__anon1.forStmt.check->__anon1.expressions)
 {
-((struct Expression *)(*stmt->forStmt.check->expressions).last)->usage = (((struct Expression *)(*stmt->forStmt.check->expressions).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
+((struct Expression *)(*stmt->__anon1.forStmt.check->__anon1.expressions).last)->usage = (((struct Expression *)(*stmt->__anon1.forStmt.check->__anon1.expressions).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
 }
-ProcessStatement(stmt->forStmt.check);
+ProcessStatement(stmt->__anon1.forStmt.check);
 }
-if(stmt->forStmt.increment)
+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)
 {
 ProcessExpression(exp);
 }
 }
-if(stmt->forStmt.stmt)
-ProcessStatement(stmt->forStmt.stmt);
+if(stmt->__anon1.forStmt.stmt)
+ProcessStatement(stmt->__anon1.forStmt.stmt);
 break;
 }
 case 9:
@@ -3931,10 +3990,10 @@ case 12:
 {
 struct Expression * exp;
 
-if(stmt->expressions)
+if(stmt->__anon1.expressions)
 {
-((struct Expression *)(*stmt->expressions).last)->usage = (((struct Expression *)(*stmt->expressions).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
-for(exp = (*stmt->expressions).first; exp; exp = exp->next)
+((struct Expression *)(*stmt->__anon1.expressions).last)->usage = (((struct Expression *)(*stmt->__anon1.expressions).last)->usage & ~0x1) | (((unsigned int)0x1) << 0);
+for(exp = (*stmt->__anon1.expressions).first; exp; exp = exp->next)
 {
 ProcessExpression(exp);
 if(!exp->next && exp->destType && exp->destType->byReference)
@@ -3945,28 +4004,28 @@ break;
 }
 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)
 ProcessExpression(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)
 ProcessExpression(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)
 ProcessExpression(field->expression);
 }
@@ -3997,17 +4056,17 @@ for(members = (*inst->members).first; members; members = members->next)
 {
 if(members->type == 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)
 ProcessMemberInitData(member);
 }
 }
 else if(members->type == 1)
 {
-ProcessFunction((struct FunctionDefinition *)members->function);
+ProcessFunction((struct FunctionDefinition *)members->__anon1.function);
 }
 }
 }
@@ -4024,8 +4083,8 @@ for(external = (*ast).first; external; external = external->next)
 curExternal = external;
 if(external->type == 1)
 {
-if(external->declaration)
-ProcessDeclaration(external->declaration);
+if(external->__anon1.declaration)
+ProcessDeclaration(external->__anon1.declaration);
 }
 }
 for(external = (*ast).first; external; external = external->next)
@@ -4033,88 +4092,88 @@ for(external = (*ast).first; external; external = external->next)
 curExternal = external;
 if(external->type == 0)
 {
-ProcessFunction(external->function);
+ProcessFunction(external->__anon1.function);
 }
 else if(external->type == 1)
 {
-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;
 
 if(_class->definitions)
 {
 struct ClassDef * def;
-struct __ecereNameSpace__ecere__com__Class * regClass = _class->symbol->registered;
+struct __ecereNameSpace__ecere__com__Class * regClass = _class->symbol->__anon1.registered;
 
 for(def = (*_class->definitions).first; def; def = def->next)
 {
 if(def->type == 0)
 {
-curExternal = def->function->declarator->symbol->pointerExternal;
-ProcessFunction((struct FunctionDefinition *)def->function);
+curExternal = def->__anon1.function->declarator->symbol->__anon2.__anon1.pointerExternal;
+ProcessFunction((struct FunctionDefinition *)def->__anon1.function);
 }
-else if(def->type == 2 && def->decl->type == 2)
+else if(def->type == 2 && def->__anon1.decl->type == 2)
 {
-ProcessInstantiation(def->decl->inst);
+ProcessInstantiation(def->__anon1.decl->__anon1.inst);
 }
-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 = MkClassType(regClass->fullName), 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)
 {
 ProcessMemberInitData(defProperty);
 }
 __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;
 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(&globalContext->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
 if(prop->setStmt)
 {
-curExternal = prop->symbol->externalSet;
+curExternal = prop->symbol->__anon2.__anon2.externalSet;
 ProcessStatement(prop->setStmt);
 }
 if(prop->getStmt)
 {
-curExternal = prop->symbol->externalGet;
+curExternal = prop->symbol->__anon2.__anon2.externalGet;
 ProcessStatement(prop->getStmt);
 }
 if(prop->issetStmt)
 {
-curExternal = prop->symbol->externalIsSet;
+curExternal = prop->symbol->__anon2.__anon2.externalIsSet;
 ProcessStatement(prop->issetStmt);
 }
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&globalContext->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
 FreeSymbol(thisSymbol);
 }
-else if(def->type == 10 && def->propertyDef)
+else if(def->type == 10 && def->__anon1.propertyDef)
 {
-struct PropertyDef * prop = def->propertyDef;
+struct PropertyDef * prop = def->__anon1.propertyDef;
 
 if(prop->setStmt)
 {
-curExternal = prop->symbol->externalSet;
+curExternal = prop->symbol->__anon2.__anon2.externalSet;
 ProcessStatement(prop->setStmt);
 }
 if(prop->getStmt)
 {
-curExternal = prop->symbol->externalGet;
+curExternal = prop->symbol->__anon2.__anon2.externalGet;
 ProcessStatement(prop->getStmt);
 }
 }
-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;
 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(&globalContext->symbols, (struct __ecereNameSpace__ecere__sys__BTNode *)thisSymbol);
@@ -4122,7 +4181,7 @@ if(propertyWatch->compound)
 {
 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(&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);
 }
index daf0eb0..a2f9cb0 100644 (file)
@@ -144,7 +144,7 @@ union
 {
 char * s;
 struct Attrib * attr;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefinition;
@@ -173,14 +173,14 @@ struct
 {
 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;
@@ -268,7 +268,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -296,7 +296,7 @@ union
 {
 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));
@@ -318,7 +318,7 @@ float f;
 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;
@@ -335,14 +335,14 @@ struct
 {
 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
 {
@@ -421,7 +421,7 @@ 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;
@@ -463,7 +463,7 @@ union
 {
 struct TemplateDatatype * dataType;
 int memberType;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct TemplateArgument * defaultArgument;
 const char *  dataTypeString;
 struct Type * baseType;
@@ -486,7 +486,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -496,11 +496,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -556,7 +556,7 @@ struct
 {
 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;
@@ -600,7 +600,7 @@ struct Declaration * declaration;
 char *  importString;
 struct Identifier * id;
 struct DBTableDef * table;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 int importType;
 } __attribute__ ((gcc_struct));
 
@@ -627,7 +627,7 @@ union
 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
@@ -636,20 +636,20 @@ struct
 {
 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;
@@ -692,7 +692,7 @@ struct
 {
 struct __ecereNameSpace__ecere__sys__OldList members;
 char *  enumName;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Type * returnType;
@@ -700,13 +700,13 @@ struct __ecereNameSpace__ecere__sys__OldList params;
 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;
@@ -714,10 +714,10 @@ int arraySize;
 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;
@@ -871,7 +871,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -881,9 +881,9 @@ 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));
 
 enum yytokentype
@@ -1012,8 +1012,8 @@ struct
 {
 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));
@@ -1066,7 +1066,7 @@ static int ReplaceClassSpec(struct __ecereNameSpace__ecere__sys__OldList * specs
 {
 if(spec->type == 8)
 {
-struct TemplateParameter * parameter = spec->templateParameter;
+struct TemplateParameter * parameter = spec->__anon1.templateParameter;
 
 if(!param && parameter->dataTypeString)
 {
@@ -1091,10 +1091,10 @@ if(isPointer)
 return 1;
 }
 }
-else if(!param && parameter->dataType)
+else if(!param && parameter->__anon1.dataType)
 {
-struct __ecereNameSpace__ecere__sys__OldList * newSpecs = parameter->dataType->specifiers;
-struct Declarator * decl = parameter->dataType->decl;
+struct __ecereNameSpace__ecere__sys__OldList * newSpecs = parameter->__anon1.dataType->specifiers;
+struct Declarator * decl = parameter->__anon1.dataType->decl;
 
 if((*newSpecs).first)
 {
@@ -1114,13 +1114,13 @@ return 1;
 else
 {
 spec->type = 1;
-spec->name = __ecereNameSpace__ecere__sys__CopyString("uint64");
-spec->symbol = FindClass("uint64");
+spec->__anon1.__anon1.name = __ecereNameSpace__ecere__sys__CopyString("uint64");
+spec->__anon1.__anon1.symbol = FindClass("uint64");
 }
 }
 if(spec->type == 1 || spec->type == 7)
 {
-struct Symbol * classSym = spec->symbol;
+struct Symbol * classSym = spec->__anon1.__anon1.symbol;
 
 if(spec->type == 7)
 {
@@ -1128,7 +1128,7 @@ classSym = FindClass("ecere::com::Class");
 }
 if(classSym)
 {
-struct __ecereNameSpace__ecere__com__Class * _class = classSym->registered;
+struct __ecereNameSpace__ecere__com__Class * _class = classSym->__anon1.registered;
 
 FreeSpecifierContents(spec);
 spec->type = 1;
@@ -1140,12 +1140,12 @@ name[0] = (char)0;
 FullClassNameCat(name, _class->fullName, 0x0);
 FreeSpecifierContents(spec);
 spec->type = 3;
-spec->baseSpecs = (((void *)0));
-spec->id = MkIdentifier(name);
-spec->list = (((void *)0));
-spec->definitions = (((void *)0));
-spec->ctx = (((void *)0));
-spec->addNameSpace = 0x0;
+spec->__anon1.__anon2.baseSpecs = (((void *)0));
+spec->__anon1.__anon2.id = MkIdentifier(name);
+spec->__anon1.__anon2.list = (((void *)0));
+spec->__anon1.__anon2.definitions = (((void *)0));
+spec->__anon1.__anon2.ctx = (((void *)0));
+spec->__anon1.__anon2.addNameSpace = 0x0;
 }
 else if(_class && _class->type == 5)
 {
@@ -1153,12 +1153,12 @@ char name[1024] = "";
 
 FullClassNameCat(name, _class->fullName, 0x0);
 spec->type = 3;
-spec->baseSpecs = (((void *)0));
-spec->id = MkIdentifier(name);
-spec->list = (((void *)0));
-spec->definitions = (((void *)0));
-spec->ctx = (((void *)0));
-spec->addNameSpace = 0x0;
+spec->__anon1.__anon2.baseSpecs = (((void *)0));
+spec->__anon1.__anon2.id = MkIdentifier(name);
+spec->__anon1.__anon2.list = (((void *)0));
+spec->__anon1.__anon2.definitions = (((void *)0));
+spec->__anon1.__anon2.ctx = (((void *)0));
+spec->__anon1.__anon2.addNameSpace = 0x0;
 }
 else if(_class)
 {
@@ -1171,36 +1171,36 @@ if(!strcmp(_class->dataTypeString, "uint64") || !strcmp(_class->dataTypeString,
 if(!_class->dataType)
 _class->dataType = ProcessTypeString(_class->dataTypeString, 0x0);
 if(_class->dataType && _class->dataType->kind == 8)
-classSym = _class->dataType->_class;
+classSym = _class->dataType->__anon1._class;
 else
 classSym = FindClass(_class->dataTypeString);
-_class = classSym ? classSym->registered : (((void *)0));
+_class = classSym ? classSym->__anon1.registered : (((void *)0));
 }
-spec->name = __ecereNameSpace__ecere__sys__CopyString(!strcmp(_class->dataTypeString, "char *") ? "char" : _class->dataTypeString);
-spec->symbol = (((void *)0));
+spec->__anon1.__anon1.name = __ecereNameSpace__ecere__sys__CopyString(!strcmp(_class->dataTypeString, "char *") ? "char" : _class->dataTypeString);
+spec->__anon1.__anon1.symbol = (((void *)0));
 }
 else
 {
-spec->name = __ecereNameSpace__ecere__sys__CopyString((((void *)0)));
-spec->symbol = (((void *)0));
+spec->__anon1.__anon1.name = __ecereNameSpace__ecere__sys__CopyString((((void *)0)));
+spec->__anon1.__anon1.symbol = (((void *)0));
 }
 }
 else if(!_class->base)
 {
 spec->type = 0;
-spec->specifier = VOID;
+spec->__anon1.specifier = VOID;
 return 1;
 }
 }
 else
 {
 spec->type = 3;
-spec->id = MkIdentifier("__ecereNameSpace__ecere__com__Instance");
-spec->list = (((void *)0));
-spec->baseSpecs = (((void *)0));
-spec->definitions = (((void *)0));
-spec->ctx = (((void *)0));
-spec->addNameSpace = 0x0;
+spec->__anon1.__anon2.id = MkIdentifier("__ecereNameSpace__ecere__com__Instance");
+spec->__anon1.__anon2.list = (((void *)0));
+spec->__anon1.__anon2.baseSpecs = (((void *)0));
+spec->__anon1.__anon2.definitions = (((void *)0));
+spec->__anon1.__anon2.ctx = (((void *)0));
+spec->__anon1.__anon2.addNameSpace = 0x0;
 }
 if(_class && _class->dataTypeString && !strcmp(_class->dataTypeString, "char *"))
 return 1;
@@ -1212,9 +1212,9 @@ return 2;
 }
 else if(spec->type == 0)
 {
-if(spec->specifier == ANY_OBJECT || spec->specifier == CLASS)
+if(spec->__anon1.specifier == ANY_OBJECT || spec->__anon1.specifier == CLASS)
 {
-spec->specifier = CONST;
+spec->__anon1.specifier = CONST;
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(specs, MkSpecifier(VOID));
 return 1;
 }
@@ -1235,7 +1235,7 @@ if(decl && decl->type == 5)
 if(type == 2)
 ;
 else
-decl->pointer.pointer = MkPointer((((void *)0)), decl->pointer.pointer);
+decl->__anon1.pointer.pointer = MkPointer((((void *)0)), decl->__anon1.pointer.pointer);
 }
 else
 {
@@ -1249,7 +1249,7 @@ decl->declarator = newDecl;
 else
 decl = newDecl;
 decl->type = 5;
-decl->pointer.pointer = MkPointer((((void *)0)), (((void *)0)));
+decl->__anon1.pointer.pointer = MkPointer((((void *)0)), (((void *)0)));
 *declPtr = decl;
 }
 }
@@ -1267,10 +1267,10 @@ static void InstDeclPassSpecifier(struct Specifier * spec, unsigned int byRefTyp
 switch(spec->type)
 {
 case 0:
-if(spec->specifier == TYPED_OBJECT)
+if(spec->__anon1.specifier == TYPED_OBJECT)
 {
 spec->type = 5;
-spec->extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(byRefTypedObject ? "struct __ecereNameSpace__ecere__com__Class * class, void *" : "struct __ecereNameSpace__ecere__com__Class * class, const void *"));
+spec->__anon1.__anon1.extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(byRefTypedObject ? "struct __ecereNameSpace__ecere__com__Class * class, void *" : "struct __ecereNameSpace__ecere__com__Class * class, const void *"));
 }
 break;
 case 1:
@@ -1279,9 +1279,9 @@ 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)
 {
 }
 }
@@ -1290,51 +1290,51 @@ break;
 case 3:
 case 4:
 {
-if(spec->definitions)
+if(spec->__anon1.__anon2.definitions)
 {
 struct ClassDef * def;
 
-for(def = (*spec->definitions).first; def; def = def->next)
-if(def->decl)
-InstDeclPassDeclaration(def->decl);
+for(def = (*spec->__anon1.__anon2.definitions).first; def; def = def->next)
+if(def->__anon1.decl)
+InstDeclPassDeclaration(def->__anon1.decl);
 }
-if(spec->id)
-InstDeclPassIdentifier(spec->id);
+if(spec->__anon1.__anon2.id)
+InstDeclPassIdentifier(spec->__anon1.__anon2.id);
 break;
 }
 case 5:
-if(spec->extDecl && spec->extDecl->type == 0 && spec->extDecl->s)
+if(spec->__anon1.__anon1.extDecl && spec->__anon1.__anon1.extDecl->type == 0 && spec->__anon1.__anon1.extDecl->__anon1.s)
 {
-if(!strcmp(spec->extDecl->s, "dllexport"))
+if(!strcmp(spec->__anon1.__anon1.extDecl->__anon1.s, "dllexport"))
 {
 struct Specifier * prevSpec;
 
-(__ecereNameSpace__ecere__com__eSystem_Delete(spec->extDecl->s), spec->extDecl->s = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete(spec->__anon1.__anon1.extDecl->__anon1.s), spec->__anon1.__anon1.extDecl->__anon1.s = 0);
 for(prevSpec = spec->prev; prevSpec; prevSpec = prevSpec->prev)
-if(prevSpec->type == 0 && prevSpec->specifier == EXTERN)
+if(prevSpec->type == 0 && prevSpec->__anon1.specifier == EXTERN)
 break;
 if(prevSpec)
 {
 if(targetPlatform == 1)
-spec->extDecl->s = __ecereNameSpace__ecere__sys__CopyString("__declspec(dllexport)");
+spec->__anon1.__anon1.extDecl->__anon1.s = __ecereNameSpace__ecere__sys__CopyString("__declspec(dllexport)");
 else
-spec->extDecl->s = __ecereNameSpace__ecere__sys__CopyString("__attribute__ ((visibility(\"default\")))");
+spec->__anon1.__anon1.extDecl->__anon1.s = __ecereNameSpace__ecere__sys__CopyString("__attribute__ ((visibility(\"default\")))");
 }
 else
 {
 if(targetPlatform == 1)
-spec->extDecl->s = __ecereNameSpace__ecere__sys__CopyString("extern __declspec(dllexport)");
+spec->__anon1.__anon1.extDecl->__anon1.s = __ecereNameSpace__ecere__sys__CopyString("extern __declspec(dllexport)");
 else
-spec->extDecl->s = __ecereNameSpace__ecere__sys__CopyString("extern __attribute__ ((visibility(\"default\")))");
+spec->__anon1.__anon1.extDecl->__anon1.s = __ecereNameSpace__ecere__sys__CopyString("extern __attribute__ ((visibility(\"default\")))");
 }
 }
-else if(!strcmp(spec->extDecl->s, "stdcall") || !strcmp(spec->extDecl->s, "_stdcall") || !strcmp(spec->extDecl->s, "__stdcall") || !strcmp(spec->extDecl->s, "__stdcall__"))
+else if(!strcmp(spec->__anon1.__anon1.extDecl->__anon1.s, "stdcall") || !strcmp(spec->__anon1.__anon1.extDecl->__anon1.s, "_stdcall") || !strcmp(spec->__anon1.__anon1.extDecl->__anon1.s, "__stdcall") || !strcmp(spec->__anon1.__anon1.extDecl->__anon1.s, "__stdcall__"))
 {
-(__ecereNameSpace__ecere__com__eSystem_Delete(spec->extDecl->s), spec->extDecl->s = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete(spec->__anon1.__anon1.extDecl->__anon1.s), spec->__anon1.__anon1.extDecl->__anon1.s = 0);
 if(targetPlatform == 1)
-spec->extDecl->s = __ecereNameSpace__ecere__sys__CopyString("__attribute__((__stdcall__))");
+spec->__anon1.__anon1.extDecl->__anon1.s = __ecereNameSpace__ecere__sys__CopyString("__attribute__((__stdcall__))");
 else
-spec->extDecl->s = __ecereNameSpace__ecere__sys__CopyString("");
+spec->__anon1.__anon1.extDecl->__anon1.s = __ecereNameSpace__ecere__sys__CopyString("");
 }
 }
 break;
@@ -1363,8 +1363,8 @@ InstDeclPassDeclarator(decl->declarator);
 break;
 case 1:
 {
-if(decl->identifier)
-InstDeclPassIdentifier(decl->identifier);
+if(decl->__anon1.identifier)
+InstDeclPassIdentifier(decl->__anon1.identifier);
 break;
 }
 case 2:
@@ -1379,13 +1379,13 @@ case 4:
 {
 if(decl->declarator)
 InstDeclPassDeclarator(decl->declarator);
-if(decl->function.parameters)
+if(decl->__anon1.function.parameters)
 {
 struct TypeName * type;
 
 if(decl->declarator)
 InstDeclPassDeclarator(decl->declarator);
-for(type = (*decl->function.parameters).first; type; type = type->next)
+for(type = (*decl->__anon1.function.parameters).first; type; type = type->next)
 {
 unsigned int typedObject = 0x0;
 struct Specifier * spec = (((void *)0));
@@ -1393,7 +1393,7 @@ struct Specifier * spec = (((void *)0));
 if(type->qualifiers)
 {
 spec = (struct Specifier *)(*type->qualifiers).first;
-if(spec && spec->type == 1 && !strcmp(spec->name, "class"))
+if(spec && spec->type == 1 && !strcmp(spec->__anon1.__anon1.name, "class"))
 typedObject = 0x1;
 }
 InstDeclPassTypeName(type, 0x1);
@@ -1401,7 +1401,7 @@ if(typedObject)
 {
 struct TypeName * _class = (_class = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TypeName), _class->qualifiers = MkListOne(MkStructOrUnion(3, MkIdentifier("__ecereNameSpace__ecere__com__Class"), (((void *)0)))), _class->declarator = MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), MkDeclaratorIdentifier(MkIdentifier("class"))), _class);
 
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*decl->function.parameters), spec->prev, _class);
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*decl->__anon1.function.parameters), spec->prev, _class);
 }
 }
 }
@@ -1410,23 +1410,23 @@ break;
 case 5:
 case 6:
 case 7:
-if((decl->type == 6 || decl->type == 7) && decl->extended.extended)
+if((decl->type == 6 || decl->type == 7) && decl->__anon1.extended.extended)
 {
-if(decl->extended.extended->type == 0 && decl->extended.extended->s && !strcmp(decl->extended.extended->s, "dllexport"))
+if(decl->__anon1.extended.extended->type == 0 && decl->__anon1.extended.extended->__anon1.s && !strcmp(decl->__anon1.extended.extended->__anon1.s, "dllexport"))
 {
-(__ecereNameSpace__ecere__com__eSystem_Delete(decl->extended.extended->s), decl->extended.extended->s = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete(decl->__anon1.extended.extended->__anon1.s), decl->__anon1.extended.extended->__anon1.s = 0);
 if(targetPlatform == 1)
-decl->extended.extended->s = __ecereNameSpace__ecere__sys__CopyString("extern __declspec(dllexport)");
+decl->__anon1.extended.extended->__anon1.s = __ecereNameSpace__ecere__sys__CopyString("extern __declspec(dllexport)");
 else
-decl->extended.extended->s = __ecereNameSpace__ecere__sys__CopyString("extern __attribute__ ((visibility(\"default\")))");
+decl->__anon1.extended.extended->__anon1.s = __ecereNameSpace__ecere__sys__CopyString("extern __attribute__ ((visibility(\"default\")))");
 }
-else if(decl->extended.extended->type == 0 && decl->extended.extended->s && (!strcmp(decl->extended.extended->s, "stdcall") || !strcmp(decl->extended.extended->s, "_stdcall") || !strcmp(decl->extended.extended->s, "__stdcall") || !strcmp(decl->extended.extended->s, "__stdcall__")))
+else if(decl->__anon1.extended.extended->type == 0 && decl->__anon1.extended.extended->__anon1.s && (!strcmp(decl->__anon1.extended.extended->__anon1.s, "stdcall") || !strcmp(decl->__anon1.extended.extended->__anon1.s, "_stdcall") || !strcmp(decl->__anon1.extended.extended->__anon1.s, "__stdcall") || !strcmp(decl->__anon1.extended.extended->__anon1.s, "__stdcall__")))
 {
-(__ecereNameSpace__ecere__com__eSystem_Delete(decl->extended.extended->s), decl->extended.extended->s = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete(decl->__anon1.extended.extended->__anon1.s), decl->__anon1.extended.extended->__anon1.s = 0);
 if(targetPlatform == 1)
-decl->extended.extended->s = __ecereNameSpace__ecere__sys__CopyString("__attribute__((__stdcall__))");
+decl->__anon1.extended.extended->__anon1.s = __ecereNameSpace__ecere__sys__CopyString("__attribute__((__stdcall__))");
 else
-decl->extended.extended->s = __ecereNameSpace__ecere__sys__CopyString("");
+decl->__anon1.extended.extended->__anon1.s = __ecereNameSpace__ecere__sys__CopyString("");
 }
 }
 if(decl->declarator)
@@ -1449,9 +1449,9 @@ if((result = ReplaceClassSpec(type->qualifiers, spec, param)))
 ReplaceByInstancePtr(spec, &type->declarator, result);
 else
 {
-struct Symbol * classSym = (spec->type == 1) ? spec->symbol : (((void *)0));
+struct Symbol * classSym = (spec->type == 1) ? spec->__anon1.__anon1.symbol : (((void *)0));
 
-if(type->classObjectType && (!classSym || (classSym && classSym->registered && (classSym->registered->type == 4 || classSym->registered->type == 2 || classSym->registered->type == 3))))
+if(type->classObjectType && (!classSym || (classSym && classSym->__anon1.registered && (classSym->__anon1.registered->type == 4 || classSym->__anon1.registered->type == 2 || classSym->__anon1.registered->type == 3))))
 ReplaceByInstancePtr(spec, &type->declarator, 2);
 }
 InstDeclPassSpecifier(spec, type->declarator && type->declarator->type == 5);
@@ -1504,8 +1504,8 @@ switch(exp->type)
 {
 case 0:
 {
-if(exp->identifier)
-InstDeclPassIdentifier(exp->identifier);
+if(exp->__anon1.__anon1.identifier)
+InstDeclPassIdentifier(exp->__anon1.__anon1.identifier);
 break;
 }
 case 2:
@@ -1513,17 +1513,17 @@ break;
 case 3:
 break;
 case 4:
-if(exp->op.exp1)
-InstDeclPassExpression(exp->op.exp1);
-if(exp->op.exp2)
-InstDeclPassExpression(exp->op.exp2);
+if(exp->__anon1.op.exp1)
+InstDeclPassExpression(exp->__anon1.op.exp1);
+if(exp->__anon1.op.exp2)
+InstDeclPassExpression(exp->__anon1.op.exp2);
 break;
 case 32:
 case 5:
 {
 struct Expression * e;
 
-for(e = (*exp->list).first; e; e = e->next)
+for(e = (*exp->__anon1.list).first; e; e = e->next)
 InstDeclPassExpression(e);
 break;
 }
@@ -1531,8 +1531,8 @@ case 6:
 {
 struct Expression * e;
 
-InstDeclPassExpression(exp->index.exp);
-for(e = (*exp->index.index).first; e; e = e->next)
+InstDeclPassExpression(exp->__anon1.index.exp);
+for(e = (*exp->__anon1.index.index).first; e; e = e->next)
 InstDeclPassExpression(e);
 break;
 }
@@ -1540,39 +1540,39 @@ case 7:
 {
 struct Expression * e;
 
-InstDeclPassExpression(exp->call.exp);
-if(exp->call.arguments)
+InstDeclPassExpression(exp->__anon1.call.exp);
+if(exp->__anon1.call.arguments)
 {
-for(e = (*exp->call.arguments).first; e; e = e->next)
+for(e = (*exp->__anon1.call.arguments).first; e; e = e->next)
 InstDeclPassExpression(e);
 }
 break;
 }
 case 8:
 {
-if(exp->member.exp)
-InstDeclPassExpression(exp->member.exp);
+if(exp->__anon1.member.exp)
+InstDeclPassExpression(exp->__anon1.member.exp);
 break;
 }
 case 9:
 {
-if(exp->member.exp)
-InstDeclPassExpression(exp->member.exp);
+if(exp->__anon1.member.exp)
+InstDeclPassExpression(exp->__anon1.member.exp);
 break;
 }
 case 10:
-InstDeclPassTypeName(exp->typeName, 0x0);
+InstDeclPassTypeName(exp->__anon1.typeName, 0x0);
 break;
 case 11:
 {
 struct Type * type = exp->expType;
 
-if(type && type->kind == 8 && type->_class->registered && type->_class->registered->type == 1)
+if(type && type->kind == 8 && type->__anon1._class->__anon1.registered && type->__anon1._class->__anon1.registered->type == 1)
 {
-struct Expression * castExp = exp->cast.exp;
+struct Expression * castExp = exp->__anon1.cast.exp;
 struct Expression * prev = exp->prev, * next = exp->next;
 
-exp->cast.exp = (((void *)0));
+exp->__anon1.cast.exp = (((void *)0));
 FreeExpContents(exp);
 FreeType(exp->expType);
 FreeType(exp->destType);
@@ -1584,9 +1584,9 @@ InstDeclPassExpression(exp);
 }
 else
 {
-InstDeclPassTypeName(exp->cast.typeName, 0x0);
-if(exp->cast.exp)
-InstDeclPassExpression(exp->cast.exp);
+InstDeclPassTypeName(exp->__anon1.cast.typeName, 0x0);
+if(exp->__anon1.cast.exp)
+InstDeclPassExpression(exp->__anon1.cast.exp);
 }
 break;
 }
@@ -1594,26 +1594,26 @@ case 12:
 {
 struct Expression * e;
 
-InstDeclPassExpression(exp->cond.cond);
-for(e = (*exp->cond.exp).first; e; e = e->next)
+InstDeclPassExpression(exp->__anon1.cond.cond);
+for(e = (*exp->__anon1.cond.exp).first; e; e = e->next)
 InstDeclPassExpression(e);
-InstDeclPassExpression(exp->cond.elseExp);
+InstDeclPassExpression(exp->__anon1.cond.elseExp);
 break;
 }
 case 23:
 {
-InstDeclPassStatement(exp->compound);
+InstDeclPassStatement(exp->__anon1.compound);
 break;
 }
 case 34:
 {
-InstDeclPassExpression(exp->vaArg.exp);
+InstDeclPassExpression(exp->__anon1.vaArg.exp);
 break;
 }
 case 33:
 {
-InstDeclPassTypeName(exp->initializer.typeName, 0x0);
-InstDeclPassInitializer(exp->initializer.initializer);
+InstDeclPassTypeName(exp->__anon1.initializer.typeName, 0x0);
+InstDeclPassInitializer(exp->__anon1.initializer.initializer);
 break;
 }
 }
@@ -1624,14 +1624,14 @@ static void InstDeclPassInitializer(struct Initializer * init)
 switch(init->type)
 {
 case 0:
-if(init->exp)
-InstDeclPassExpression(init->exp);
+if(init->__anon1.exp)
+InstDeclPassExpression(init->__anon1.exp);
 break;
 case 1:
 {
 struct Initializer * i;
 
-for(i = (*init->list).first; i; i = i->next)
+for(i = (*init->__anon1.list).first; i; i = i->next)
 InstDeclPassInitializer(i);
 break;
 }
@@ -1644,32 +1644,32 @@ switch(decl->type)
 {
 case 1:
 {
-if(decl->specifiers)
+if(decl->__anon1.__anon1.specifiers)
 {
 struct Specifier * spec;
 
-for(spec = (*decl->specifiers).first; spec; spec = spec->next)
+for(spec = (*decl->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
 {
 int type;
 
-if((type = ReplaceClassSpec(decl->specifiers, spec, 0x0)))
+if((type = ReplaceClassSpec(decl->__anon1.__anon1.specifiers, spec, 0x0)))
 {
 struct InitDeclarator * d;
 
-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)
 ReplaceByInstancePtr(spec, &d->declarator, type);
 }
 }
 InstDeclPassSpecifier(spec, 0x0);
 }
 }
-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)
 {
 InstDeclPassDeclarator(d->declarator);
 if(d->initializer)
@@ -1680,32 +1680,32 @@ break;
 }
 case 0:
 {
-if(decl->specifiers)
+if(decl->__anon1.__anon1.specifiers)
 {
 struct Specifier * spec;
 
-for(spec = (*decl->specifiers).first; spec; spec = spec->next)
+for(spec = (*decl->__anon1.__anon1.specifiers).first; spec; spec = spec->next)
 {
 int type;
 
-if((type = ReplaceClassSpec(decl->specifiers, spec, 0x0)))
+if((type = ReplaceClassSpec(decl->__anon1.__anon1.specifiers, spec, 0x0)))
 {
-if(decl->declarators)
+if(decl->__anon1.__anon1.declarators)
 {
 struct Declarator * d;
 
-for(d = (*decl->declarators).first; d; d = d->next)
+for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
 ReplaceByInstancePtr(spec, &d, type);
 }
 }
 InstDeclPassSpecifier(spec, 0x0);
 }
 }
-if(decl->declarators)
+if(decl->__anon1.__anon1.declarators)
 {
 struct Declarator * d;
 
-for(d = (*decl->declarators).first; d; d = d->next)
+for(d = (*decl->__anon1.__anon1.declarators).first; d; d = d->next)
 InstDeclPassDeclarator(d);
 }
 break;
@@ -1722,17 +1722,17 @@ static void InstDeclPassStatement(struct Statement * stmt)
 switch(stmt->type)
 {
 case 14:
-if(stmt->decl)
-InstDeclPassDeclaration(stmt->decl);
+if(stmt->__anon1.decl)
+InstDeclPassDeclaration(stmt->__anon1.decl);
 break;
 case 0:
-InstDeclPassStatement(stmt->labeled.stmt);
+InstDeclPassStatement(stmt->__anon1.labeled.stmt);
 break;
 case 1:
-if(stmt->caseStmt.exp)
-InstDeclPassExpression(stmt->caseStmt.exp);
-if(stmt->caseStmt.stmt)
-InstDeclPassStatement(stmt->caseStmt.stmt);
+if(stmt->__anon1.caseStmt.exp)
+InstDeclPassExpression(stmt->__anon1.caseStmt.exp);
+if(stmt->__anon1.caseStmt.stmt)
+InstDeclPassStatement(stmt->__anon1.caseStmt.stmt);
 break;
 case 2:
 {
@@ -1740,16 +1740,16 @@ struct Declaration * decl;
 struct Statement * s;
 struct Context * prevContext = curContext;
 
-if(!stmt->compound.isSwitch)
-curContext = stmt->compound.context;
-if(stmt->compound.declarations)
+if(!stmt->__anon1.compound.isSwitch)
+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)
 InstDeclPassDeclaration(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)
 InstDeclPassStatement(s);
 }
 curContext = prevContext;
@@ -1757,82 +1757,82 @@ break;
 }
 case 3:
 {
-if(stmt->expressions)
+if(stmt->__anon1.expressions)
 {
 struct Expression * exp;
 
-for(exp = (*stmt->expressions).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.expressions).first; exp; exp = exp->next)
 InstDeclPassExpression(exp);
 }
 break;
 }
 case 4:
 {
-if(stmt->ifStmt.exp)
+if(stmt->__anon1.ifStmt.exp)
 {
 struct Expression * exp;
 
-for(exp = (*stmt->ifStmt.exp).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.ifStmt.exp).first; exp; exp = exp->next)
 InstDeclPassExpression(exp);
 }
-if(stmt->ifStmt.stmt)
-InstDeclPassStatement(stmt->ifStmt.stmt);
-if(stmt->ifStmt.elseStmt)
-InstDeclPassStatement(stmt->ifStmt.elseStmt);
+if(stmt->__anon1.ifStmt.stmt)
+InstDeclPassStatement(stmt->__anon1.ifStmt.stmt);
+if(stmt->__anon1.ifStmt.elseStmt)
+InstDeclPassStatement(stmt->__anon1.ifStmt.elseStmt);
 break;
 }
 case 5:
 {
 struct Expression * exp;
 
-if(stmt->switchStmt.exp)
+if(stmt->__anon1.switchStmt.exp)
 {
-for(exp = (*stmt->switchStmt.exp).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.switchStmt.exp).first; exp; exp = exp->next)
 InstDeclPassExpression(exp);
 }
-InstDeclPassStatement(stmt->switchStmt.stmt);
+InstDeclPassStatement(stmt->__anon1.switchStmt.stmt);
 break;
 }
 case 6:
 {
 struct Expression * exp;
 
-if(stmt->whileStmt.exp)
+if(stmt->__anon1.whileStmt.exp)
 {
-for(exp = (*stmt->whileStmt.exp).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.whileStmt.exp).first; exp; exp = exp->next)
 InstDeclPassExpression(exp);
 }
-InstDeclPassStatement(stmt->whileStmt.stmt);
+InstDeclPassStatement(stmt->__anon1.whileStmt.stmt);
 break;
 }
 case 7:
 {
-if(stmt->doWhile.exp)
+if(stmt->__anon1.doWhile.exp)
 {
 struct Expression * exp;
 
-for(exp = (*stmt->doWhile.exp).first; exp; exp = exp->next)
+for(exp = (*stmt->__anon1.doWhile.exp).first; exp; exp = exp->next)
 InstDeclPassExpression(exp);
 }
-if(stmt->doWhile.stmt)
-InstDeclPassStatement(stmt->doWhile.stmt);
+if(stmt->__anon1.doWhile.stmt)
+InstDeclPassStatement(stmt->__anon1.doWhile.stmt);
 break;
 }
 case 8:
 {
 struct Expression * exp;
 
-if(stmt->forStmt.init)
-InstDeclPassStatement(stmt->forStmt.init);
-if(stmt->forStmt.check)
-InstDeclPassStatement(stmt->forStmt.check);
-if(stmt->forStmt.increment)
+if(stmt->__anon1.forStmt.init)
+InstDeclPassStatement(stmt->__anon1.forStmt.init);
+if(stmt->__anon1.forStmt.check)
+InstDeclPassStatement(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)
 InstDeclPassExpression(exp);
 }
-if(stmt->forStmt.stmt)
-InstDeclPassStatement(stmt->forStmt.stmt);
+if(stmt->__anon1.forStmt.stmt)
+InstDeclPassStatement(stmt->__anon1.forStmt.stmt);
 break;
 }
 case 9:
@@ -1845,9 +1845,9 @@ case 12:
 {
 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)
 InstDeclPassExpression(exp);
 }
 break;
@@ -1856,21 +1856,21 @@ 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)
 InstDeclPassExpression(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)
 InstDeclPassExpression(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)
 InstDeclPassExpression(field->expression);
 }
@@ -1893,7 +1893,7 @@ for(external = (*ast).first; external; external = external->next)
 curExternal = external;
 if(external->type == 0)
 {
-struct FunctionDefinition * func = external->function;
+struct FunctionDefinition * func = external->__anon1.function;
 
 if(func->specifiers)
 {
@@ -1914,8 +1914,8 @@ InstDeclPassStatement(func->body);
 }
 else if(external->type == 1)
 {
-if(external->declaration)
-InstDeclPassDeclaration(external->declaration);
+if(external->__anon1.declaration)
+InstDeclPassDeclaration(external->__anon1.declaration);
 }
 }
 }
index eb22362..abadd6b 100644 (file)
@@ -192,7 +192,7 @@ float f;
 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;
@@ -259,7 +259,7 @@ struct
 {
 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;
@@ -418,7 +418,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -428,9 +428,9 @@ 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));
 
 unsigned int parsingType;
index 1614764..d56b89a 100644 (file)
@@ -197,14 +197,14 @@ struct
 {
 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;
@@ -292,7 +292,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -320,7 +320,7 @@ union
 {
 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));
@@ -342,7 +342,7 @@ float f;
 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;
@@ -359,14 +359,14 @@ struct
 {
 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
 {
@@ -445,7 +445,7 @@ 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;
@@ -484,7 +484,7 @@ union
 struct Expression * expression;
 struct Identifier * identifier;
 struct TemplateDatatype * templateDatatype;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
@@ -508,7 +508,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -518,11 +518,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -578,7 +578,7 @@ struct
 {
 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;
@@ -737,7 +737,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -747,9 +747,9 @@ 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));
 
 enum yytokentype
@@ -865,7 +865,7 @@ union
 {
 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;
@@ -903,7 +903,7 @@ struct
 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;
@@ -931,8 +931,8 @@ struct
 {
 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));
@@ -2305,7 +2305,7 @@ if(yyvsp[(1) - (2)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (2)].id->_class->name ? yyvsp[(1) - (2)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (2)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (2)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (2)].id->string);
 _DeclClass(0, name);
@@ -2632,8 +2632,8 @@ break;
 case 38:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
-yyval.exp->call.argLoc.start = (yylsp[(2) - (3)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(3) - (3)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
 yyval.exp->loc = (yyloc);
 ;
 }
@@ -2641,8 +2641,8 @@ break;
 case 39:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
-yyval.exp->call.argLoc.start = (yylsp[(2) - (4)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(4) - (4)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
 yyval.exp->loc = (yyloc);
 ;
 }
@@ -2656,7 +2656,7 @@ yyval.exp->loc = (yyloc);
 break;
 case 41:
 {
-char * constant = yyvsp[(1) - (2)].exp->type == 2 ? yyvsp[(1) - (2)].exp->constant : (((void *)0));
+char * constant = yyvsp[(1) - (2)].exp->type == 2 ? yyvsp[(1) - (2)].exp->__anon1.__anon1.constant : (((void *)0));
 int len = constant ? strlen(constant) : 0;
 
 if(constant && constant[len - 1] == '.')
@@ -3443,7 +3443,7 @@ if(yyvsp[(1) - (4)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (4)].id->_class->name ? yyvsp[(1) - (4)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (4)].id->string);
 _DeclClass(0, name);
@@ -3458,7 +3458,7 @@ FreeIdentifier(yyvsp[(1) - (4)].id);
 break;
 case 171:
 {
-if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->name)
+if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->__anon1.__anon1.name)
 {
 char name[1024];
 
@@ -3564,7 +3564,7 @@ if(yyvsp[(1) - (4)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (4)].id->_class->name ? yyvsp[(1) - (4)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (4)].id->string);
 _DeclClass(0, name);
@@ -3579,7 +3579,7 @@ FreeIdentifier(yyvsp[(1) - (4)].id);
 break;
 case 185:
 {
-if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->name)
+if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->__anon1.__anon1.name)
 {
 char name[1024];
 
@@ -4071,9 +4071,9 @@ yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)),
 break;
 case 268:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, MkIdentifier(yyvsp[(2) - (5)].specifier->name), yyvsp[(4) - (5)].list);
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (5)].specifier);
 ;
 }
@@ -4081,7 +4081,7 @@ break;
 case 269:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].list);
-yyval.specifier->extDeclStruct = yyvsp[(2) - (6)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
 if(declMode)
 DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].id->string);
 ;
@@ -4090,14 +4090,14 @@ break;
 case 270:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, (((void *)0)), yyvsp[(4) - (5)].list);
-yyval.specifier->extDeclStruct = yyvsp[(2) - (5)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
 ;
 }
 break;
 case 271:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(3) - (5)].id, (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (5)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
 if(declMode)
 DeclClass(globalContext->nextID++, yyvsp[(3) - (5)].id->string);
 ;
@@ -4106,16 +4106,16 @@ break;
 case 272:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (4)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
 ;
 }
 break;
 case 273:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, MkIdentifier(yyvsp[(3) - (6)].specifier->name), yyvsp[(5) - (6)].list);
-yyval.specifier->extDeclStruct = yyvsp[(2) - (6)].extDecl;
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, MkIdentifier(yyvsp[(3) - (6)].specifier->__anon1.__anon1.name), yyvsp[(5) - (6)].list);
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(3) - (6)].specifier);
 ;
 }
@@ -4130,9 +4130,9 @@ DeclClass(0, yyvsp[(2) - (2)].id->string);
 break;
 case 275:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->name), (((void *)0)));
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
 if(declMode)
-DeclClass(0, yyvsp[(2) - (2)].specifier->name);
+DeclClass(0, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 ;
 }
@@ -4140,7 +4140,7 @@ break;
 case 276:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (3)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
 if(declMode)
 DeclClass(0, yyvsp[(3) - (3)].id->string);
 ;
@@ -4148,10 +4148,10 @@ DeclClass(0, yyvsp[(3) - (3)].id->string);
 break;
 case 277:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->name), (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (3)].extDecl;
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0)));
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
 if(declMode)
-DeclClass(0, yyvsp[(3) - (3)].specifier->name);
+DeclClass(0, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(3) - (3)].specifier);
 ;
 }
@@ -4210,7 +4210,7 @@ if(yyvsp[(1) - (3)].templateDatatype->specifiers && (*yyvsp[(1) - (3)].templateD
 struct Specifier * spec = (*yyvsp[(1) - (3)].templateDatatype->specifiers).first;
 
 if(spec->type == 1)
-yyval.templateArgument->name = MkIdentifier(spec->name);
+yyval.templateArgument->name = MkIdentifier(spec->__anon1.__anon1.name);
 }
 FreeTemplateDataType(yyvsp[(1) - (3)].templateDatatype);
 yyval.templateArgument->loc = (yyloc);
@@ -4225,7 +4225,7 @@ if(yyvsp[(1) - (3)].templateDatatype->specifiers && (*yyvsp[(1) - (3)].templateD
 struct Specifier * spec = (*yyvsp[(1) - (3)].templateDatatype->specifiers).first;
 
 if(spec->type == 1)
-yyval.templateArgument->name = MkIdentifier(spec->name);
+yyval.templateArgument->name = MkIdentifier(spec->__anon1.__anon1.name);
 }
 FreeTemplateDataType(yyvsp[(1) - (3)].templateDatatype);
 yyval.templateArgument->loc = (yyloc);
@@ -4438,7 +4438,7 @@ break;
 case 318:
 {
 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list, (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 ;
 }
@@ -4446,7 +4446,7 @@ break;
 case 319:
 {
 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, (((void *)0)), (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 ;
 }
@@ -4455,7 +4455,7 @@ case 320:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 ;
 }
 break;
@@ -4463,7 +4463,7 @@ case 321:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 ;
 }
 break;
@@ -4521,7 +4521,7 @@ break;
 case 329:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
-yyval.declarator->structDecl.attrib = yyvsp[(2) - (2)].attrib;
+yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -4543,7 +4543,7 @@ break;
 case 332:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
-yyval.declarator->structDecl.posExp = yyvsp[(5) - (5)].exp;
+yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -4558,9 +4558,9 @@ DeclClass(0, yyvsp[(2) - (2)].id->string);
 break;
 case 334:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->name), (((void *)0)));
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
 if(declMode)
-DeclClass(0, yyvsp[(2) - (2)].specifier->name);
+DeclClass(0, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 ;
 }
@@ -4582,7 +4582,7 @@ break;
 case 337:
 {
 yyval.specifier = MkEnum(yyvsp[(2) - (7)].id, yyvsp[(4) - (7)].list);
-yyval.specifier->definitions = yyvsp[(6) - (7)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
 if(declMode)
 DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].id->string);
 ;
@@ -4590,19 +4590,19 @@ DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].id->string);
 break;
 case 338:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (7)].specifier->name), yyvsp[(4) - (7)].list);
-yyval.specifier->definitions = yyvsp[(6) - (7)].list;
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (7)].specifier->__anon1.__anon1.name), yyvsp[(4) - (7)].list);
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (7)].specifier);
 ;
 }
 break;
 case 339:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->name), yyvsp[(4) - (5)].list);
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (5)].specifier);
 ;
 }
@@ -5192,8 +5192,8 @@ break;
 case 446:
 {
 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
-yyval.stmt->compound.context = PushContext();
-PopContext(yyval.stmt->compound.context);
+yyval.stmt->__anon1.compound.context = PushContext();
+PopContext(yyval.stmt->__anon1.compound.context);
 yyval.stmt->loc = (yyloc);
 ;
 }
@@ -5201,7 +5201,7 @@ break;
 case 447:
 {
 yyval.stmt = yyvsp[(2) - (3)].stmt;
-yyval.stmt->compound.context = yyvsp[(1) - (3)].context;
+yyval.stmt->__anon1.compound.context = yyvsp[(1) - (3)].context;
 PopContext(yyvsp[(1) - (3)].context);
 yyval.stmt->loc = (yyloc);
 ;
index 4c10b60..8b9acc8 100644 (file)
@@ -197,14 +197,14 @@ struct
 {
 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;
@@ -292,7 +292,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -311,7 +311,7 @@ union
 {
 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));
@@ -333,7 +333,7 @@ float f;
 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;
@@ -350,14 +350,14 @@ struct
 {
 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
 {
@@ -436,7 +436,7 @@ 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;
@@ -482,7 +482,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -492,11 +492,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -552,7 +552,7 @@ struct
 {
 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;
@@ -711,7 +711,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -721,9 +721,9 @@ 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));
 
 enum yytokentype
@@ -839,7 +839,7 @@ union
 {
 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;
@@ -877,7 +877,7 @@ struct
 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;
@@ -905,8 +905,8 @@ struct
 {
 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));
@@ -2294,8 +2294,8 @@ break;
 case 24:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
-yyval.exp->call.argLoc.start = (yylsp[(2) - (3)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(3) - (3)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
 yyval.exp->loc = (yyloc);
 ;
 }
@@ -2303,8 +2303,8 @@ break;
 case 25:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
-yyval.exp->call.argLoc.start = (yylsp[(2) - (4)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(4) - (4)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
 yyval.exp->loc = (yyloc);
 ;
 }
@@ -2318,7 +2318,7 @@ yyval.exp->loc = (yyloc);
 break;
 case 27:
 {
-char * constant = yyvsp[(1) - (2)].exp->type == 2 ? yyvsp[(1) - (2)].exp->constant : (((void *)0));
+char * constant = yyvsp[(1) - (2)].exp->type == 2 ? yyvsp[(1) - (2)].exp->__anon1.__anon1.constant : (((void *)0));
 int len = constant ? strlen(constant) : 0;
 
 if(constant && constant[len - 1] == '.')
@@ -3423,9 +3423,9 @@ yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)),
 break;
 case 217:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, MkIdentifier(yyvsp[(2) - (5)].specifier->name), yyvsp[(4) - (5)].list);
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (5)].specifier);
 ;
 }
@@ -3433,7 +3433,7 @@ break;
 case 218:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].list);
-yyval.specifier->extDeclStruct = yyvsp[(2) - (6)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
 if(declMode)
 DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].id->string);
 ;
@@ -3442,14 +3442,14 @@ break;
 case 219:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, (((void *)0)), yyvsp[(4) - (5)].list);
-yyval.specifier->extDeclStruct = yyvsp[(2) - (5)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
 ;
 }
 break;
 case 220:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(3) - (5)].id, (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (5)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
 if(declMode)
 DeclClass(globalContext->nextID++, yyvsp[(3) - (5)].id->string);
 ;
@@ -3458,16 +3458,16 @@ break;
 case 221:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (4)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
 ;
 }
 break;
 case 222:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, MkIdentifier(yyvsp[(3) - (6)].specifier->name), yyvsp[(5) - (6)].list);
-yyval.specifier->extDeclStruct = yyvsp[(2) - (6)].extDecl;
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, MkIdentifier(yyvsp[(3) - (6)].specifier->__anon1.__anon1.name), yyvsp[(5) - (6)].list);
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(3) - (6)].specifier);
 ;
 }
@@ -3482,9 +3482,9 @@ DeclClass(0, yyvsp[(2) - (2)].id->string);
 break;
 case 224:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->name), (((void *)0)));
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
 if(declMode)
-DeclClass(0, yyvsp[(2) - (2)].specifier->name);
+DeclClass(0, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 ;
 }
@@ -3492,7 +3492,7 @@ break;
 case 225:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (3)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
 if(declMode)
 DeclClass(0, yyvsp[(3) - (3)].id->string);
 ;
@@ -3500,10 +3500,10 @@ DeclClass(0, yyvsp[(3) - (3)].id->string);
 break;
 case 226:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->name), (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (3)].extDecl;
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0)));
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
 if(declMode)
-DeclClass(0, yyvsp[(3) - (3)].specifier->name);
+DeclClass(0, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(3) - (3)].specifier);
 ;
 }
@@ -3702,7 +3702,7 @@ break;
 case 254:
 {
 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list, (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 ;
 }
@@ -3710,7 +3710,7 @@ break;
 case 255:
 {
 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, (((void *)0)), (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 ;
 }
@@ -3719,7 +3719,7 @@ case 256:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 ;
 }
 break;
@@ -3727,7 +3727,7 @@ case 257:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 ;
 }
 break;
@@ -3785,7 +3785,7 @@ break;
 case 265:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
-yyval.declarator->structDecl.attrib = yyvsp[(2) - (2)].attrib;
+yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -3807,7 +3807,7 @@ break;
 case 268:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
-yyval.declarator->structDecl.posExp = yyvsp[(5) - (5)].exp;
+yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -3822,9 +3822,9 @@ DeclClass(0, yyvsp[(2) - (2)].id->string);
 break;
 case 270:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->name), (((void *)0)));
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
 if(declMode)
-DeclClass(0, yyvsp[(2) - (2)].specifier->name);
+DeclClass(0, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 ;
 }
@@ -3846,7 +3846,7 @@ break;
 case 273:
 {
 yyval.specifier = MkEnum(yyvsp[(2) - (7)].id, yyvsp[(4) - (7)].list);
-yyval.specifier->definitions = yyvsp[(6) - (7)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
 if(declMode)
 DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].id->string);
 ;
@@ -3854,19 +3854,19 @@ DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].id->string);
 break;
 case 274:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (7)].specifier->name), yyvsp[(4) - (7)].list);
-yyval.specifier->definitions = yyvsp[(6) - (7)].list;
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (7)].specifier->__anon1.__anon1.name), yyvsp[(4) - (7)].list);
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (7)].specifier);
 ;
 }
 break;
 case 275:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->name), yyvsp[(4) - (5)].list);
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (5)].specifier);
 ;
 }
@@ -4396,8 +4396,8 @@ break;
 case 371:
 {
 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
-yyval.stmt->compound.context = PushContext();
-PopContext(yyval.stmt->compound.context);
+yyval.stmt->__anon1.compound.context = PushContext();
+PopContext(yyval.stmt->__anon1.compound.context);
 yyval.stmt->loc = (yyloc);
 ;
 }
@@ -4405,7 +4405,7 @@ break;
 case 372:
 {
 yyval.stmt = yyvsp[(2) - (3)].stmt;
-yyval.stmt->compound.context = yyvsp[(1) - (3)].context;
+yyval.stmt->__anon1.compound.context = yyvsp[(1) - (3)].context;
 PopContext(yyvsp[(1) - (3)].context);
 yyval.stmt->loc = (yyloc);
 ;
index bdc4147..a472b57 100644 (file)
@@ -211,14 +211,14 @@ struct
 {
 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;
@@ -306,7 +306,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -325,7 +325,7 @@ union
 {
 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));
@@ -347,7 +347,7 @@ float f;
 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;
@@ -364,14 +364,14 @@ struct
 {
 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
 {
@@ -450,7 +450,7 @@ 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;
@@ -485,7 +485,7 @@ union
 struct Expression * expression;
 struct Identifier * identifier;
 struct TemplateDatatype * templateDatatype;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
@@ -509,7 +509,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -519,11 +519,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -579,7 +579,7 @@ struct
 {
 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;
@@ -629,7 +629,7 @@ struct Declaration * declaration;
 char *  importString;
 struct Identifier * id;
 struct DBTableDef * table;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 int importType;
 } __attribute__ ((gcc_struct));
 
@@ -656,7 +656,7 @@ union
 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
@@ -665,20 +665,20 @@ struct
 {
 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;
@@ -839,7 +839,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -849,9 +849,9 @@ 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));
 
 enum yytokentype
@@ -975,7 +975,7 @@ union
 {
 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;
@@ -1013,7 +1013,7 @@ struct
 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;
@@ -1041,8 +1041,8 @@ struct
 {
 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));
@@ -3110,7 +3110,7 @@ if(yyvsp[(1) - (2)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (2)].id->_class->name ? yyvsp[(1) - (2)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (2)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (2)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (2)].id->string);
 _DeclClass(0, name);
@@ -3150,7 +3150,7 @@ if(yyvsp[(1) - (2)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (2)].id->_class->name ? yyvsp[(1) - (2)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (2)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (2)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (2)].id->string);
 _DeclClass(0, name);
@@ -3203,7 +3203,7 @@ if(yyvsp[(1) - (2)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (2)].id->_class->name ? yyvsp[(1) - (2)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (2)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (2)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (2)].id->string);
 _DeclClass(0, name);
@@ -3407,7 +3407,7 @@ case 27:
 if(yyvsp[(1) - (3)].classFunction->declarator)
 {
 yyvsp[(1) - (3)].classFunction->declarator = MkStructDeclarator(yyvsp[(1) - (3)].classFunction->declarator, (((void *)0)));
-yyvsp[(1) - (3)].classFunction->declarator->structDecl.attrib = yyvsp[(2) - (3)].attrib;
+yyvsp[(1) - (3)].classFunction->declarator->__anon1.structDecl.attrib = yyvsp[(2) - (3)].attrib;
 }
 ProcessClassFunctionBody(yyvsp[(1) - (3)].classFunction, (((void *)0)));
 yyval.classFunction->loc = (yyloc);
@@ -4385,7 +4385,7 @@ yyvsp[(1) - (3)].prop->issetStmt = yyvsp[(3) - (3)].stmt;
 break;
 case 132:
 {
-yyvsp[(1) - (2)].prop->isWatchable = 0x1;
+yyvsp[(1) - (2)].prop->__anon1.isWatchable = 0x1;
 ;
 }
 break;
@@ -4681,7 +4681,7 @@ break;
 case 176:
 {
 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (1)].list, (((void *)0)), (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
 ;
@@ -4690,7 +4690,7 @@ break;
 case 177:
 {
 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, yyvsp[(2) - (2)].list, (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
 ;
@@ -4699,7 +4699,7 @@ break;
 case 178:
 {
 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].list, (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
 ;
@@ -4708,7 +4708,7 @@ break;
 case 179:
 {
 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(2) - (2)].list, (((void *)0)), (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
 ;
@@ -4718,7 +4718,7 @@ case 180:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (2)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
 ;
 }
@@ -4727,7 +4727,7 @@ case 181:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (2)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->memberAccess = yyvsp[(1) - (2)].declMode;
 ;
 }
@@ -4735,7 +4735,7 @@ break;
 case 182:
 {
 yyval.classDef = MkClassDefClassData(MkStructDeclaration(yyvsp[(2) - (3)].list, yyvsp[(3) - (3)].list, (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 ;
 }
@@ -4757,7 +4757,7 @@ FreeIdentifier(yyvsp[(2) - (2)].id);
 break;
 case 185:
 {
-yyval.classDef = MkClassDefDesigner(yyvsp[(2) - (2)].specifier->name);
+yyval.classDef = MkClassDefDesigner(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 ;
 }
@@ -4772,7 +4772,7 @@ case 187:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (1)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
 ;
 }
@@ -4781,7 +4781,7 @@ case 188:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (1)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
 ;
 }
@@ -4799,7 +4799,7 @@ case 190:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
 yyval.classDef->loc = yyvsp[(1) - (2)].instance->loc;
-yyval.classDef->decl->loc = yyval.classDef->loc;
+yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
 ;
 }
@@ -4808,7 +4808,7 @@ case 191:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
 yyval.classDef->loc = yyvsp[(1) - (2)].instance->loc;
-yyval.classDef->decl->loc = yyval.classDef->loc;
+yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
 yyval.classDef->memberAccess = memberAccessStack[defaultMemberAccess];
 ;
 }
@@ -4827,7 +4827,7 @@ case 193:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (3)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = yyval.classDef->loc;
+yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
 ;
 }
@@ -4836,7 +4836,7 @@ case 194:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(2) - (3)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = yyval.classDef->loc;
+yyval.classDef->__anon1.decl->loc = yyval.classDef->loc;
 yyval.classDef->memberAccess = yyvsp[(1) - (3)].declMode;
 ;
 }
@@ -5076,7 +5076,7 @@ break;
 case 237:
 {
 yyvsp[(1) - (2)].context;
-yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(2) - (2)].specifier->name);
+yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 ++defaultMemberAccess;
@@ -5099,7 +5099,7 @@ break;
 case 239:
 {
 yyvsp[(2) - (3)].context;
-yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (3)].specifier->name);
+yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
 FreeIdentifier(yyvsp[(1) - (3)].id);
 yyval.symbol->nameLoc = (yylsp[(3) - (3)]);
 yyval.symbol->isRemote = 0x1;
@@ -5122,7 +5122,7 @@ break;
 case 241:
 {
 yyvsp[(1) - (5)].context;
-yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->name);
+yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
 yyval.symbol->templateParams = yyvsp[(4) - (5)].list;
 yyval.symbol->nameLoc = (yylsp[(2) - (5)]);
 FreeSpecifier(yyvsp[(2) - (5)].specifier);
@@ -5147,7 +5147,7 @@ break;
 case 243:
 {
 yyvsp[(2) - (6)].context;
-yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->name);
+yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
 yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
 FreeIdentifier(yyvsp[(1) - (6)].id);
 yyval.symbol->nameLoc = (yylsp[(3) - (6)]);
@@ -5216,7 +5216,7 @@ break;
 case 249:
 {
 yyvsp[(1) - (3)].context;
-yyval._class = MkClass(DeclClass(0, yyvsp[(2) - (3)].specifier->name), (((void *)0)), (((void *)0)));
+yyval._class = MkClass(DeclClass(0, yyvsp[(2) - (3)].specifier->__anon1.__anon1.name), (((void *)0)), (((void *)0)));
 FreeSpecifier(yyvsp[(2) - (3)].specifier);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -5419,7 +5419,7 @@ yyval.exp->loc = (yyloc);
 break;
 case 270:
 {
-char * constant = yyvsp[(1) - (2)].exp->constant;
+char * constant = yyvsp[(1) - (2)].exp->__anon1.__anon1.constant;
 int len = strlen(constant);
 
 if(constant[len - 1] == '.')
@@ -5659,8 +5659,8 @@ break;
 case 308:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
-yyval.exp->call.argLoc.start = (yylsp[(2) - (3)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(3) - (3)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
 yyval.exp->loc = (yyloc);
 ;
 }
@@ -5668,8 +5668,8 @@ break;
 case 309:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
-yyval.exp->call.argLoc.start = (yylsp[(2) - (4)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(4) - (4)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
 yyval.exp->loc = (yyloc);
 ;
 }
@@ -5677,8 +5677,8 @@ break;
 case 310:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
-yyval.exp->call.argLoc.start = (yylsp[(2) - (4)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(4) - (4)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
 yyval.exp->loc = (yyloc);
 if((*yyvsp[(3) - (4)].list).last)
 ((struct Expression *)(*yyvsp[(3) - (4)].list).last)->loc.end = (yylsp[(4) - (4)]).start;
@@ -5730,8 +5730,8 @@ break;
 case 317:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
-yyval.exp->call.argLoc.start = (yylsp[(2) - (3)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(3) - (3)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
 yyval.exp->loc = (yyloc);
 ;
 }
@@ -5739,8 +5739,8 @@ break;
 case 318:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
-yyval.exp->call.argLoc.start = (yylsp[(2) - (4)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(4) - (4)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
 yyval.exp->loc = (yyloc);
 ;
 }
@@ -6606,20 +6606,20 @@ case 461:
 {
 yyerror();
 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
-yyval.exp->call.argLoc.start = (yylsp[(2) - (3)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(3) - (3)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
 yyval.exp->loc = (yyloc);
-yyval.exp->call.argLoc.end.charPos++;
+yyval.exp->__anon1.call.argLoc.end.charPos++;
 ;
 }
 break;
 case 462:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
-yyval.exp->call.argLoc.start = (yylsp[(2) - (3)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(3) - (3)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
 yyval.exp->loc = (yyloc);
-yyval.exp->call.argLoc.end.charPos++;
+yyval.exp->__anon1.call.argLoc.end.charPos++;
 ;
 }
 break;
@@ -6634,9 +6634,9 @@ case 464:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, yyvsp[(3) - (3)].list);
 yyval.exp->loc = (yyloc);
-yyval.exp->call.argLoc.start = (yylsp[(2) - (3)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(3) - (3)]).end;
-yyval.exp->call.argLoc.end.charPos++;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
+yyval.exp->__anon1.call.argLoc.end.charPos++;
 ;
 }
 break;
@@ -6826,16 +6826,16 @@ case 498:
 {
 if(yyvsp[(1) - (2)].exp->type == 0)
 {
-if(yyvsp[(1) - (2)].exp->identifier->_class && !yyvsp[(1) - (2)].exp->identifier->_class->name)
+if(yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->_class && !yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->_class->__anon1.__anon1.name)
 {
 char name[1024];
 
 strcpy(name, "::");
-strcat(name, yyvsp[(1) - (2)].exp->identifier->string);
+strcat(name, yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->string);
 _DeclClass(0, name);
 }
 else
-_DeclClass(0, yyvsp[(1) - (2)].exp->identifier->string);
+_DeclClass(0, yyvsp[(1) - (2)].exp->__anon1.__anon1.identifier->string);
 skipErrors = 0x0;
 FreeExpression(yyvsp[(1) - (2)].exp);
 FreeExpression(yyvsp[(2) - (2)].exp);
@@ -7121,7 +7121,7 @@ case 541:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
 yyval.exp->loc = (yyloc);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (4)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
 ;
 }
 break;
@@ -7129,7 +7129,7 @@ case 542:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
 yyval.exp->loc = (yyloc);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (4)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
 ;
 }
 break;
@@ -7137,7 +7137,7 @@ case 543:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
 yyval.exp->loc = (yyloc);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (4)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
 ;
 }
 break;
@@ -7145,7 +7145,7 @@ case 544:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
 yyval.exp->loc = (yyloc);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (4)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
 ;
 }
 break;
@@ -7181,7 +7181,7 @@ case 549:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
 yyval.exp->loc = (yyloc);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (4)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
 ;
 }
 break;
@@ -7189,7 +7189,7 @@ case 550:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
 yyval.exp->loc = (yyloc);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (4)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
 ;
 }
 break;
@@ -7197,7 +7197,7 @@ case 551:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
 yyval.exp->loc = (yyloc);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (4)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
 ;
 }
 break;
@@ -7205,7 +7205,7 @@ case 552:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list, MkExpDummy());
 yyval.exp->loc = (yyloc);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (4)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (4)]);
 ;
 }
 break;
@@ -7270,8 +7270,8 @@ case 561:
 yyerror();
 yyval.exp = MkExpCondition(yyvsp[(1) - (3)].exp, MkListOne(MkExpDummy()), MkExpDummy());
 yyval.exp->loc = (yyloc);
-((struct Expression *)(*yyval.exp->cond.exp).last)->loc = (yylsp[(2) - (3)]);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (3)]);
+((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (3)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (3)]);
 ;
 }
 break;
@@ -7279,8 +7279,8 @@ case 562:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (3)].exp, MkListOne(MkExpDummy()), MkExpDummy());
 yyval.exp->loc = (yyloc);
-((struct Expression *)(*yyval.exp->cond.exp).last)->loc = (yylsp[(2) - (3)]);
-yyval.exp->cond.elseExp->loc = (yylsp[(3) - (3)]);
+((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (3)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(3) - (3)]);
 ;
 }
 break;
@@ -7289,8 +7289,8 @@ case 563:
 yyerror();
 yyval.exp = MkExpCondition(yyvsp[(1) - (2)].exp, MkListOne(MkExpDummy()), MkExpDummy());
 yyval.exp->loc = (yyloc);
-((struct Expression *)(*yyval.exp->cond.exp).last)->loc = (yylsp[(2) - (2)]);
-yyval.exp->cond.elseExp->loc = (yylsp[(2) - (2)]);
+((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (2)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(2) - (2)]);
 ;
 }
 break;
@@ -7298,8 +7298,8 @@ case 564:
 {
 yyval.exp = MkExpCondition(yyvsp[(1) - (2)].exp, MkListOne(MkExpDummy()), MkExpDummy());
 yyval.exp->loc = (yyloc);
-((struct Expression *)(*yyval.exp->cond.exp).last)->loc = (yylsp[(2) - (2)]);
-yyval.exp->cond.elseExp->loc = (yylsp[(2) - (2)]);
+((struct Expression *)(*yyval.exp->__anon1.cond.exp).last)->loc = (yylsp[(2) - (2)]);
+yyval.exp->__anon1.cond.elseExp->loc = (yylsp[(2) - (2)]);
 ;
 }
 break;
@@ -7543,7 +7543,7 @@ defaultMemberAccess--;
 break;
 case 605:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->name), (((void *)0)));
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 ;
@@ -7569,7 +7569,7 @@ defaultMemberAccess--;
 break;
 case 608:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->name), (((void *)0)));
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), (((void *)0)));
 FreeSpecifier(yyvsp[(2) - (4)].specifier);
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
@@ -7626,7 +7626,7 @@ case 614:
 {
 yyval.specifier = MkEnum(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].list);
 yyval.specifier->loc = (yyloc);
-yyval.specifier->definitions = yyvsp[(6) - (6)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 ;
@@ -7636,7 +7636,7 @@ case 615:
 {
 yyval.specifier = MkEnum(yyvsp[(2) - (6)].id, yyvsp[(4) - (6)].list);
 yyval.specifier->loc = (yyloc);
-yyval.specifier->definitions = yyvsp[(6) - (6)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 ;
@@ -7644,7 +7644,7 @@ defaultMemberAccess--;
 break;
 case 616:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->name), yyvsp[(4) - (4)].list);
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), yyvsp[(4) - (4)].list);
 yyval.specifier->loc = (yyloc);
 FreeSpecifier(yyvsp[(2) - (4)].specifier);
 if(defaultMemberAccess > -1)
@@ -7654,7 +7654,7 @@ defaultMemberAccess--;
 break;
 case 617:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->name), yyvsp[(4) - (5)].list);
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
 yyval.specifier->loc = (yyloc);
 FreeSpecifier(yyvsp[(2) - (5)].specifier);
 if(defaultMemberAccess > -1)
@@ -7664,7 +7664,7 @@ defaultMemberAccess--;
 break;
 case 618:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->name), (((void *)0)));
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (4)].specifier->__anon1.__anon1.name), (((void *)0)));
 yyval.specifier->loc = (yyloc);
 FreeSpecifier(yyvsp[(2) - (4)].specifier);
 if(defaultMemberAccess > -1)
@@ -7674,9 +7674,9 @@ defaultMemberAccess--;
 break;
 case 619:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->name), yyvsp[(4) - (6)].list);
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->__anon1.__anon1.name), yyvsp[(4) - (6)].list);
 yyval.specifier->loc = (yyloc);
-yyval.specifier->definitions = yyvsp[(6) - (6)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
 FreeSpecifier(yyvsp[(2) - (6)].specifier);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7685,9 +7685,9 @@ defaultMemberAccess--;
 break;
 case 620:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->name), yyvsp[(4) - (6)].list);
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (6)].specifier->__anon1.__anon1.name), yyvsp[(4) - (6)].list);
 yyval.specifier->loc = (yyloc);
-yyval.specifier->definitions = yyvsp[(6) - (6)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (6)].list;
 FreeSpecifier(yyvsp[(2) - (6)].specifier);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7705,7 +7705,7 @@ defaultMemberAccess--;
 break;
 case 622:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->name), yyvsp[(4) - (5)].list);
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
 yyval.specifier->loc = (yyloc);
 FreeSpecifier(yyvsp[(2) - (5)].specifier);
 if(defaultMemberAccess > -1)
@@ -7723,9 +7723,9 @@ DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(2) - (2)].id->string);
 break;
 case 624:
 {
-yyval.id = MkIdentifier(yyvsp[(2) - (2)].specifier->name);
+yyval.id = MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(2) - (2)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 ;
 }
@@ -7740,7 +7740,7 @@ break;
 case 626:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, (((void *)0)));
-yyval.specifier->baseSpecs = yyvsp[(3) - (5)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7758,7 +7758,7 @@ break;
 case 628:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(5) - (5)].list);
-yyval.specifier->baseSpecs = yyvsp[(3) - (5)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7768,7 +7768,7 @@ break;
 case 629:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, yyvsp[(5) - (6)].list);
-yyval.specifier->baseSpecs = yyvsp[(3) - (6)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7778,7 +7778,7 @@ break;
 case 630:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, (((void *)0)));
-yyval.specifier->baseSpecs = yyvsp[(3) - (5)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (5)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7788,8 +7788,8 @@ break;
 case 631:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
-yyval.specifier->baseSpecs = yyvsp[(3) - (7)].list;
-yyval.specifier->definitions = yyvsp[(7) - (7)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7799,8 +7799,8 @@ break;
 case 632:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
-yyval.specifier->baseSpecs = yyvsp[(3) - (7)].list;
-yyval.specifier->definitions = yyvsp[(7) - (7)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7810,8 +7810,8 @@ break;
 case 633:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (8)].id, yyvsp[(5) - (8)].list);
-yyval.specifier->baseSpecs = yyvsp[(3) - (8)].list;
-yyval.specifier->definitions = yyvsp[(8) - (8)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (8)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(8) - (8)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7821,8 +7821,8 @@ break;
 case 634:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (8)].id, yyvsp[(5) - (8)].list);
-yyval.specifier->baseSpecs = yyvsp[(3) - (8)].list;
-yyval.specifier->definitions = yyvsp[(8) - (8)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (8)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(8) - (8)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7832,8 +7832,8 @@ break;
 case 635:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, (((void *)0)));
-yyval.specifier->baseSpecs = yyvsp[(3) - (7)].list;
-yyval.specifier->definitions = yyvsp[(7) - (7)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7843,8 +7843,8 @@ break;
 case 636:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, (((void *)0)));
-yyval.specifier->baseSpecs = yyvsp[(3) - (7)].list;
-yyval.specifier->definitions = yyvsp[(7) - (7)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(7) - (7)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7899,7 +7899,7 @@ break;
 case 642:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(3) - (5)].list);
-yyval.specifier->definitions = yyvsp[(5) - (5)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(5) - (5)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7909,7 +7909,7 @@ break;
 case 643:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (5)].id, yyvsp[(3) - (5)].list);
-yyval.specifier->definitions = yyvsp[(5) - (5)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(5) - (5)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7919,7 +7919,7 @@ break;
 case 644:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, yyvsp[(5) - (6)].list);
-yyval.specifier->baseSpecs = yyvsp[(3) - (6)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7929,7 +7929,7 @@ break;
 case 645:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (7)].id, yyvsp[(5) - (7)].list);
-yyval.specifier->baseSpecs = yyvsp[(3) - (7)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (7)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -7939,7 +7939,7 @@ break;
 case 646:
 {
 yyval.specifier = MkEnum(yyvsp[(1) - (6)].id, (((void *)0)));
-yyval.specifier->baseSpecs = yyvsp[(3) - (6)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (6)].list;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -8271,7 +8271,7 @@ break;
 case 709:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
-yyval.declarator->structDecl.attrib = yyvsp[(2) - (2)].attrib;
+yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -8293,7 +8293,7 @@ break;
 case 712:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
-yyval.declarator->structDecl.posExp = yyvsp[(5) - (5)].exp;
+yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -8315,7 +8315,7 @@ break;
 case 715:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
-yyval.declarator->structDecl.posExp = yyvsp[(5) - (5)].exp;
+yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -8323,7 +8323,7 @@ break;
 case 716:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
-yyval.declarator->structDecl.posExp = yyvsp[(5) - (5)].exp;
+yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -8331,7 +8331,7 @@ break;
 case 717:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
-yyval.declarator->structDecl.posExp = yyvsp[(5) - (5)].exp;
+yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -8353,15 +8353,15 @@ break;
 case 720:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, yyvsp[(2) - (2)].id, (((void *)0)));
-yyval.specifier->addNameSpace = 0x1;
-yyval.specifier->ctx = PushContext();
+yyval.specifier->__anon1.__anon2.addNameSpace = 0x1;
+yyval.specifier->__anon1.__anon2.ctx = PushContext();
 ;
 }
 break;
 case 721:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->name), (((void *)0)));
-yyval.specifier->ctx = PushContext();
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
+yyval.specifier->__anon1.__anon2.ctx = PushContext();
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 ;
 }
@@ -8369,17 +8369,17 @@ break;
 case 722:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (3)].extDecl;
-yyval.specifier->addNameSpace = 0x1;
-yyval.specifier->ctx = PushContext();
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
+yyval.specifier->__anon1.__anon2.addNameSpace = 0x1;
+yyval.specifier->__anon1.__anon2.ctx = PushContext();
 ;
 }
 break;
 case 723:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->name), (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (3)].extDecl;
-yyval.specifier->ctx = PushContext();
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0)));
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
+yyval.specifier->__anon1.__anon2.ctx = PushContext();
 FreeSpecifier(yyvsp[(3) - (3)].specifier);
 ;
 }
@@ -8413,7 +8413,7 @@ break;
 case 727:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (4)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
 yyval.specifier->loc = (yyloc);
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
@@ -8476,7 +8476,7 @@ break;
 case 734:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(4) - (4)].list);
-yyval.specifier->extDeclStruct = yyvsp[(2) - (4)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 ;
@@ -8485,7 +8485,7 @@ break;
 case 735:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), yyvsp[(4) - (4)].list);
-yyval.specifier->extDeclStruct = yyvsp[(2) - (4)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 ;
@@ -8494,7 +8494,7 @@ break;
 case 736:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (4)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 ;
@@ -8514,14 +8514,14 @@ case 738:
 yyval.specifier = yyvsp[(1) - (1)].specifier;
 if(declMode)
 {
-(yyvsp[(1) - (1)].specifier->addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext->nextID++, yyvsp[(1) - (1)].specifier->id->string);
+(yyvsp[(1) - (1)].specifier->__anon1.__anon2.addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext->nextID++, yyvsp[(1) - (1)].specifier->__anon1.__anon2.id->string);
 }
 ;
 }
 break;
 case 739:
 {
-struct Symbol * symbol = (yyvsp[(1) - (4)].specifier->addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext->nextID++, yyvsp[(1) - (4)].specifier->id->string);
+struct Symbol * symbol = (yyvsp[(1) - (4)].specifier->__anon1.__anon2.addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext->nextID++, yyvsp[(1) - (4)].specifier->__anon1.__anon2.id->string);
 
 yyval.specifier = yyvsp[(1) - (4)].specifier;
 symbol->templateParams = yyvsp[(3) - (4)].list;
@@ -8531,7 +8531,7 @@ break;
 case 740:
 {
 yyval.specifier = yyvsp[(1) - (3)].specifier;
-yyval.specifier->baseSpecs = yyvsp[(3) - (3)].list;
+yyval.specifier->__anon1.__anon2.baseSpecs = yyvsp[(3) - (3)].list;
 SetupBaseSpecs((((void *)0)), yyvsp[(3) - (3)].list);
 ;
 }
@@ -8572,7 +8572,7 @@ break;
 case 745:
 {
 yyval.specifier = yyvsp[(1) - (3)].specifier;
-yyval.specifier->definitions = yyvsp[(3) - (3)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 PopContext(curContext);
@@ -8582,7 +8582,7 @@ break;
 case 746:
 {
 yyval.specifier = yyvsp[(1) - (3)].specifier;
-yyval.specifier->definitions = yyvsp[(3) - (3)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 PopContext(curContext);
@@ -8603,12 +8603,12 @@ case 748:
 PopContext(curContext);
 if(!declMode)
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->id, yyvsp[(3) - (3)].list);
-yyvsp[(1) - (3)].specifier->id = (((void *)0));
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->__anon1.__anon2.id, yyvsp[(3) - (3)].list);
+yyvsp[(1) - (3)].specifier->__anon1.__anon2.id = (((void *)0));
 FreeSpecifier(yyvsp[(1) - (3)].specifier);
 }
 else
-yyval.specifier->definitions = yyvsp[(3) - (3)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 ;
@@ -8619,12 +8619,12 @@ case 749:
 PopContext(curContext);
 if(!declMode)
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->id, yyvsp[(3) - (3)].list);
-yyvsp[(1) - (3)].specifier->id = (((void *)0));
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifier->type, yyvsp[(1) - (3)].specifier->__anon1.__anon2.id, yyvsp[(3) - (3)].list);
+yyvsp[(1) - (3)].specifier->__anon1.__anon2.id = (((void *)0));
 FreeSpecifier(yyvsp[(1) - (3)].specifier);
 }
 else
-yyval.specifier->definitions = yyvsp[(3) - (3)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(3) - (3)].list;
 if(defaultMemberAccess > -1)
 defaultMemberAccess--;
 ;
@@ -9120,7 +9120,7 @@ if(yyvsp[(1) - (4)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (4)].id->_class->name ? yyvsp[(1) - (4)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (4)].id->string);
 _DeclClass(0, name);
@@ -9136,7 +9136,7 @@ break;
 case 819:
 {
 yyval.list = yyvsp[(1) - (5)].list;
-if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->name)
+if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->__anon1.__anon1.name)
 {
 char name[1024];
 
@@ -9221,7 +9221,7 @@ if(yyvsp[(1) - (4)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (4)].id->_class->name ? yyvsp[(1) - (4)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (4)].id->string);
 _DeclClass(0, name);
@@ -9236,7 +9236,7 @@ FreeIdentifier(yyvsp[(1) - (4)].id);
 break;
 case 831:
 {
-if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->name)
+if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->__anon1.__anon1.name)
 {
 char name[1024];
 
@@ -9341,7 +9341,7 @@ if(yyvsp[(1) - (4)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (4)].id->_class->name ? yyvsp[(1) - (4)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (4)].id->string);
 _DeclClass(0, name);
@@ -9356,7 +9356,7 @@ FreeIdentifier(yyvsp[(1) - (4)].id);
 break;
 case 845:
 {
-if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->name)
+if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->__anon1.__anon1.name)
 {
 char name[1024];
 
@@ -9461,7 +9461,7 @@ if(yyvsp[(1) - (4)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (4)].id->_class->name ? yyvsp[(1) - (4)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (4)].id->string);
 _DeclClass(0, name);
@@ -9476,7 +9476,7 @@ FreeIdentifier(yyvsp[(1) - (4)].id);
 break;
 case 859:
 {
-if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->name)
+if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->__anon1.__anon1.name)
 {
 char name[1024];
 
@@ -9542,8 +9542,8 @@ ListAdd(yyvsp[(1) - (3)].list, MkTypeName((((void *)0)), MkDeclaratorIdentifier(
 break;
 case 868:
 {
-char * colon = __ecereFunction___ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (1)].specifier->name, "::", strlen(yyvsp[(1) - (1)].specifier->name), 0x1, 0x0);
-char * s = colon ? colon + 2 : yyvsp[(1) - (1)].specifier->name;
+char * colon = __ecereFunction___ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (1)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (1)].specifier->__anon1.__anon1.name), 0x1, 0x0);
+char * s = colon ? colon + 2 : yyvsp[(1) - (1)].specifier->__anon1.__anon1.name;
 
 yyval.declarator = MkDeclaratorIdentifier(MkIdentifier(s));
 FreeSpecifier(yyvsp[(1) - (1)].specifier);
@@ -9559,8 +9559,8 @@ break;
 case 870:
 {
 struct Declarator * decl;
-char * colon = __ecereFunction___ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->name, "::", strlen(yyvsp[(1) - (4)].specifier->name), 0x1, 0x0);
-char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->name;
+char * colon = __ecereFunction___ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 0x1, 0x0);
+char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
 
 decl = MkDeclaratorIdentifier(MkIdentifier(s));
 FreeSpecifier(yyvsp[(1) - (4)].specifier);
@@ -9571,8 +9571,8 @@ break;
 case 871:
 {
 struct Declarator * decl;
-char * colon = __ecereFunction___ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->name, "::", strlen(yyvsp[(1) - (4)].specifier->name), 0x1, 0x0);
-char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->name;
+char * colon = __ecereFunction___ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 0x1, 0x0);
+char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
 
 decl = MkDeclaratorIdentifier(MkIdentifier(s));
 FreeSpecifier(yyvsp[(1) - (4)].specifier);
@@ -9583,8 +9583,8 @@ break;
 case 872:
 {
 struct Declarator * decl;
-char * colon = __ecereFunction___ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->name, "::", strlen(yyvsp[(1) - (4)].specifier->name), 0x1, 0x0);
-char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->name;
+char * colon = __ecereFunction___ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (4)].specifier->__anon1.__anon1.name), 0x1, 0x0);
+char * s = colon ? colon + 2 : yyvsp[(1) - (4)].specifier->__anon1.__anon1.name;
 
 decl = MkDeclaratorIdentifier(MkIdentifier(s));
 FreeSpecifier(yyvsp[(1) - (4)].specifier);
@@ -9595,8 +9595,8 @@ break;
 case 873:
 {
 struct Declarator * decl;
-char * colon = __ecereFunction___ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->name, "::", strlen(yyvsp[(1) - (3)].specifier->name), 0x1, 0x0);
-char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->name;
+char * colon = __ecereFunction___ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name), 0x1, 0x0);
+char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->__anon1.__anon1.name;
 
 decl = MkDeclaratorIdentifier(MkIdentifier(s));
 FreeSpecifier(yyvsp[(1) - (3)].specifier);
@@ -10563,8 +10563,8 @@ ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
 break;
 case 1024:
 {
-char * colon = __ecereFunction___ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->name, "::", strlen(yyvsp[(1) - (3)].specifier->name), 0x1, 0x0);
-char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->name;
+char * colon = __ecereFunction___ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name, "::", strlen(yyvsp[(1) - (3)].specifier->__anon1.__anon1.name), 0x1, 0x0);
+char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->__anon1.__anon1.name;
 
 yyval.list = MkList();
 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), (((void *)0))));
@@ -11089,9 +11089,9 @@ break;
 case 1112:
 {
 yyval.stmt = MkCaseStmt(MkExpDummy(), yyvsp[(3) - (3)].stmt);
-yyval.stmt->caseStmt.exp->loc = (yylsp[(2) - (3)]);
+yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
 yyval.stmt->loc = (yyloc);
-yyval.stmt->caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
+yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
 ;
 }
 break;
@@ -11144,9 +11144,9 @@ struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
 stmt->loc = (yylsp[(3) - (3)]);
 Compiler_Warning("eC expects all declarations to precede statements in the block (C89 style)\n");
 yyval.stmt = MkCaseStmt(MkExpDummy(), stmt);
-yyval.stmt->caseStmt.exp->loc = (yylsp[(2) - (3)]);
+yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
 yyval.stmt->loc = (yyloc);
-yyval.stmt->caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
+yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
 ;
 }
 break;
@@ -11187,18 +11187,18 @@ break;
 case 1122:
 {
 yyval.stmt = MkCaseStmt(MkExpDummy(), yyvsp[(3) - (3)].stmt);
-yyval.stmt->caseStmt.exp->loc = (yylsp[(2) - (3)]);
+yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
 yyval.stmt->loc = (yyloc);
-yyval.stmt->caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
+yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
 ;
 }
 break;
 case 1123:
 {
 yyval.stmt = MkCaseStmt(MkExpDummy(), (((void *)0)));
-yyval.stmt->caseStmt.exp->loc = (yylsp[(2) - (2)]);
+yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (2)]);
 yyval.stmt->loc = (yyloc);
-yyval.stmt->caseStmt.exp->loc.start = (yylsp[(1) - (2)]).end;
+yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (2)]).end;
 ;
 }
 break;
@@ -11258,9 +11258,9 @@ struct Statement * stmt = MkBadDeclStmt(yyvsp[(3) - (3)].declaration);
 stmt->loc = (yylsp[(3) - (3)]);
 Compiler_Warning("eC expects all declarations to precede statements in the block (C89 style)\n");
 yyval.stmt = MkCaseStmt(MkExpDummy(), stmt);
-yyval.stmt->caseStmt.exp->loc = (yylsp[(2) - (3)]);
+yyval.stmt->__anon1.caseStmt.exp->loc = (yylsp[(2) - (3)]);
 yyval.stmt->loc = (yyloc);
-yyval.stmt->caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
+yyval.stmt->__anon1.caseStmt.exp->loc.start = (yylsp[(1) - (3)]).end;
 ;
 }
 break;
@@ -11616,7 +11616,7 @@ break;
 case 1178:
 {
 yyval.stmt = yyvsp[(2) - (2)].stmt;
-yyval.stmt->compound.context = yyvsp[(1) - (2)].context;
+yyval.stmt->__anon1.compound.context = yyvsp[(1) - (2)].context;
 PopContext(yyvsp[(1) - (2)].context);
 yyval.stmt->loc = (yyloc);
 yyval.stmt->loc.end.charPos++;
@@ -11627,7 +11627,7 @@ break;
 case 1179:
 {
 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
-yyval.stmt->compound.context = yyvsp[(1) - (1)].context;
+yyval.stmt->__anon1.compound.context = yyvsp[(1) - (1)].context;
 PopContext(yyvsp[(1) - (1)].context);
 yyval.stmt->loc = (yyloc);
 yyval.stmt->loc.end.charPos++;
@@ -11638,7 +11638,7 @@ break;
 case 1180:
 {
 yyval.stmt = yyvsp[(2) - (2)].stmt;
-yyval.stmt->compound.context = yyvsp[(1) - (2)].context;
+yyval.stmt->__anon1.compound.context = yyvsp[(1) - (2)].context;
 PopContext(yyvsp[(1) - (2)].context);
 yyval.stmt->loc = (yyloc);
 yyval.stmt->loc.end.charPos++;
@@ -11813,7 +11813,7 @@ break;
 case 1205:
 {
 yyval.stmt = MkForStmt(MkExpressionStmt(yyvsp[(3) - (4)].list), (((void *)0)), (((void *)0)), (((void *)0)));
-yyval.stmt->forStmt.init->loc = (yylsp[(3) - (4)]);
+yyval.stmt->__anon1.forStmt.init->loc = (yylsp[(3) - (4)]);
 yyval.stmt->loc = (yyloc);
 ;
 }
@@ -11829,7 +11829,7 @@ case 1207:
 {
 yyval.stmt = MkForStmt(yyvsp[(3) - (5)].stmt, MkExpressionStmt(yyvsp[(4) - (5)].list), (((void *)0)), (((void *)0)));
 yyval.stmt->loc = (yyloc);
-yyval.stmt->forStmt.check->loc = (yylsp[(4) - (5)]);
+yyval.stmt->__anon1.forStmt.check->loc = (yylsp[(4) - (5)]);
 ;
 }
 break;
@@ -12308,7 +12308,7 @@ yyval.external->loc = (yyloc);
 break;
 case 1267:
 {
-yyval.external = MkExternalNameSpace(MkIdentifier(yyvsp[(2) - (2)].specifier->name));
+yyval.external = MkExternalNameSpace(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name));
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 yyval.external->loc = (yyloc);
 ;
@@ -12481,7 +12481,7 @@ yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (6)].string, symbol, yyvsp[(5) - (6)
 break;
 case 1290:
 {
-struct Symbol * symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->name);
+struct Symbol * symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
 
 FreeSpecifier(yyvsp[(3) - (6)].specifier);
 yyval.dbtableDef = MkDBTableDef(yyvsp[(2) - (6)].string, symbol, yyvsp[(5) - (6)].list);
index ab0b0ba..9bc2a47 100644 (file)
@@ -197,14 +197,14 @@ struct
 {
 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;
@@ -292,7 +292,7 @@ struct __ecereNameSpace__ecere__sys__OldList * filter;
 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;
@@ -320,7 +320,7 @@ union
 {
 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));
@@ -342,7 +342,7 @@ float f;
 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;
@@ -359,14 +359,14 @@ struct
 {
 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
 {
@@ -445,7 +445,7 @@ 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;
@@ -484,7 +484,7 @@ union
 struct Expression * expression;
 struct Identifier * identifier;
 struct TemplateDatatype * templateDatatype;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
@@ -508,7 +508,7 @@ struct ExtDecl * extDecl;
 char *  name;
 struct Symbol * symbol;
 struct __ecereNameSpace__ecere__sys__OldList *  templateArgs;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct
 {
 struct Identifier * id;
@@ -518,11 +518,11 @@ struct __ecereNameSpace__ecere__sys__OldList *  definitions;
 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;
@@ -578,7 +578,7 @@ struct
 {
 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;
@@ -737,7 +737,7 @@ struct
 {
 const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct)) __anon1;
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
@@ -747,9 +747,9 @@ 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));
 
 enum yytokentype
@@ -865,7 +865,7 @@ union
 {
 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;
@@ -903,7 +903,7 @@ struct
 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;
@@ -931,8 +931,8 @@ struct
 {
 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));
@@ -2305,7 +2305,7 @@ if(yyvsp[(1) - (2)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (2)].id->_class->name ? yyvsp[(1) - (2)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (2)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (2)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (2)].id->string);
 _DeclClass(0, name);
@@ -2632,8 +2632,8 @@ break;
 case 38:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (3)].exp, MkList());
-yyval.exp->call.argLoc.start = (yylsp[(2) - (3)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(3) - (3)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (3)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(3) - (3)]).end;
 yyval.exp->loc = (yyloc);
 ;
 }
@@ -2641,8 +2641,8 @@ break;
 case 39:
 {
 yyval.exp = MkExpCall(yyvsp[(1) - (4)].exp, yyvsp[(3) - (4)].list);
-yyval.exp->call.argLoc.start = (yylsp[(2) - (4)]).start;
-yyval.exp->call.argLoc.end = (yylsp[(4) - (4)]).end;
+yyval.exp->__anon1.call.argLoc.start = (yylsp[(2) - (4)]).start;
+yyval.exp->__anon1.call.argLoc.end = (yylsp[(4) - (4)]).end;
 yyval.exp->loc = (yyloc);
 ;
 }
@@ -2656,7 +2656,7 @@ yyval.exp->loc = (yyloc);
 break;
 case 41:
 {
-char * constant = yyvsp[(1) - (2)].exp->type == 2 ? yyvsp[(1) - (2)].exp->constant : (((void *)0));
+char * constant = yyvsp[(1) - (2)].exp->type == 2 ? yyvsp[(1) - (2)].exp->__anon1.__anon1.constant : (((void *)0));
 int len = constant ? strlen(constant) : 0;
 
 if(constant && constant[len - 1] == '.')
@@ -3443,7 +3443,7 @@ if(yyvsp[(1) - (4)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (4)].id->_class->name ? yyvsp[(1) - (4)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (4)].id->string);
 _DeclClass(0, name);
@@ -3458,7 +3458,7 @@ FreeIdentifier(yyvsp[(1) - (4)].id);
 break;
 case 171:
 {
-if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->name)
+if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->__anon1.__anon1.name)
 {
 char name[1024];
 
@@ -3564,7 +3564,7 @@ if(yyvsp[(1) - (4)].id->_class)
 {
 char name[1024];
 
-strcpy(name, yyvsp[(1) - (4)].id->_class->name ? yyvsp[(1) - (4)].id->_class->name : "");
+strcpy(name, yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name ? yyvsp[(1) - (4)].id->_class->__anon1.__anon1.name : "");
 strcat(name, "::");
 strcat(name, yyvsp[(1) - (4)].id->string);
 _DeclClass(0, name);
@@ -3579,7 +3579,7 @@ FreeIdentifier(yyvsp[(1) - (4)].id);
 break;
 case 185:
 {
-if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->name)
+if(yyvsp[(2) - (5)].id->_class && !yyvsp[(2) - (5)].id->_class->__anon1.__anon1.name)
 {
 char name[1024];
 
@@ -4071,9 +4071,9 @@ yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, (((void *)0)),
 break;
 case 268:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, MkIdentifier(yyvsp[(2) - (5)].specifier->name), yyvsp[(4) - (5)].list);
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (5)].specifier);
 ;
 }
@@ -4081,7 +4081,7 @@ break;
 case 269:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, yyvsp[(3) - (6)].id, yyvsp[(5) - (6)].list);
-yyval.specifier->extDeclStruct = yyvsp[(2) - (6)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
 if(declMode)
 DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].id->string);
 ;
@@ -4090,14 +4090,14 @@ break;
 case 270:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, (((void *)0)), yyvsp[(4) - (5)].list);
-yyval.specifier->extDeclStruct = yyvsp[(2) - (5)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
 ;
 }
 break;
 case 271:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (5)].specifierType, yyvsp[(3) - (5)].id, (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (5)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (5)].extDecl;
 if(declMode)
 DeclClass(globalContext->nextID++, yyvsp[(3) - (5)].id->string);
 ;
@@ -4106,16 +4106,16 @@ break;
 case 272:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (4)].specifierType, (((void *)0)), (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (4)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (4)].extDecl;
 ;
 }
 break;
 case 273:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, MkIdentifier(yyvsp[(3) - (6)].specifier->name), yyvsp[(5) - (6)].list);
-yyval.specifier->extDeclStruct = yyvsp[(2) - (6)].extDecl;
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (6)].specifierType, MkIdentifier(yyvsp[(3) - (6)].specifier->__anon1.__anon1.name), yyvsp[(5) - (6)].list);
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (6)].extDecl;
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(3) - (6)].specifier);
 ;
 }
@@ -4130,9 +4130,9 @@ DeclClass(0, yyvsp[(2) - (2)].id->string);
 break;
 case 275:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->name), (((void *)0)));
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (2)].specifierType, MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
 if(declMode)
-DeclClass(0, yyvsp[(2) - (2)].specifier->name);
+DeclClass(0, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 ;
 }
@@ -4140,7 +4140,7 @@ break;
 case 276:
 {
 yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, yyvsp[(3) - (3)].id, (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (3)].extDecl;
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
 if(declMode)
 DeclClass(0, yyvsp[(3) - (3)].id->string);
 ;
@@ -4148,10 +4148,10 @@ DeclClass(0, yyvsp[(3) - (3)].id->string);
 break;
 case 277:
 {
-yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->name), (((void *)0)));
-yyval.specifier->extDeclStruct = yyvsp[(2) - (3)].extDecl;
+yyval.specifier = MkStructOrUnion(yyvsp[(1) - (3)].specifierType, MkIdentifier(yyvsp[(3) - (3)].specifier->__anon1.__anon1.name), (((void *)0)));
+yyval.specifier->__anon1.__anon2.extDeclStruct = yyvsp[(2) - (3)].extDecl;
 if(declMode)
-DeclClass(0, yyvsp[(3) - (3)].specifier->name);
+DeclClass(0, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(3) - (3)].specifier);
 ;
 }
@@ -4210,7 +4210,7 @@ if(yyvsp[(1) - (3)].templateDatatype->specifiers && (*yyvsp[(1) - (3)].templateD
 struct Specifier * spec = (*yyvsp[(1) - (3)].templateDatatype->specifiers).first;
 
 if(spec->type == 1)
-yyval.templateArgument->name = MkIdentifier(spec->name);
+yyval.templateArgument->name = MkIdentifier(spec->__anon1.__anon1.name);
 }
 FreeTemplateDataType(yyvsp[(1) - (3)].templateDatatype);
 yyval.templateArgument->loc = (yyloc);
@@ -4225,7 +4225,7 @@ if(yyvsp[(1) - (3)].templateDatatype->specifiers && (*yyvsp[(1) - (3)].templateD
 struct Specifier * spec = (*yyvsp[(1) - (3)].templateDatatype->specifiers).first;
 
 if(spec->type == 1)
-yyval.templateArgument->name = MkIdentifier(spec->name);
+yyval.templateArgument->name = MkIdentifier(spec->__anon1.__anon1.name);
 }
 FreeTemplateDataType(yyvsp[(1) - (3)].templateDatatype);
 yyval.templateArgument->loc = (yyloc);
@@ -4438,7 +4438,7 @@ break;
 case 318:
 {
 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (3)].list, yyvsp[(2) - (3)].list, (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 ;
 }
@@ -4446,7 +4446,7 @@ break;
 case 319:
 {
 yyval.classDef = MkClassDefDeclaration(MkStructDeclaration(yyvsp[(1) - (2)].list, (((void *)0)), (((void *)0))));
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 yyval.classDef->loc = (yyloc);
 ;
 }
@@ -4455,7 +4455,7 @@ case 320:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 ;
 }
 break;
@@ -4463,7 +4463,7 @@ case 321:
 {
 yyval.classDef = MkClassDefDeclaration(MkDeclarationClassInst(yyvsp[(1) - (2)].instance));
 yyval.classDef->loc = (yyloc);
-yyval.classDef->decl->loc = (yyloc);
+yyval.classDef->__anon1.decl->loc = (yyloc);
 ;
 }
 break;
@@ -4521,7 +4521,7 @@ break;
 case 329:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (2)].declarator, (((void *)0)));
-yyval.declarator->structDecl.attrib = yyvsp[(2) - (2)].attrib;
+yyval.declarator->__anon1.structDecl.attrib = yyvsp[(2) - (2)].attrib;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -4543,7 +4543,7 @@ break;
 case 332:
 {
 yyval.declarator = MkStructDeclarator(yyvsp[(1) - (5)].declarator, yyvsp[(3) - (5)].exp);
-yyval.declarator->structDecl.posExp = yyvsp[(5) - (5)].exp;
+yyval.declarator->__anon1.structDecl.posExp = yyvsp[(5) - (5)].exp;
 yyval.declarator->loc = (yyloc);
 ;
 }
@@ -4558,9 +4558,9 @@ DeclClass(0, yyvsp[(2) - (2)].id->string);
 break;
 case 334:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->name), (((void *)0)));
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (2)].specifier->__anon1.__anon1.name), (((void *)0)));
 if(declMode)
-DeclClass(0, yyvsp[(2) - (2)].specifier->name);
+DeclClass(0, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
 ;
 }
@@ -4582,7 +4582,7 @@ break;
 case 337:
 {
 yyval.specifier = MkEnum(yyvsp[(2) - (7)].id, yyvsp[(4) - (7)].list);
-yyval.specifier->definitions = yyvsp[(6) - (7)].list;
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
 if(declMode)
 DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].id->string);
 ;
@@ -4590,19 +4590,19 @@ DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].id->string);
 break;
 case 338:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (7)].specifier->name), yyvsp[(4) - (7)].list);
-yyval.specifier->definitions = yyvsp[(6) - (7)].list;
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (7)].specifier->__anon1.__anon1.name), yyvsp[(4) - (7)].list);
+yyval.specifier->__anon1.__anon2.definitions = yyvsp[(6) - (7)].list;
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(2) - (7)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (7)].specifier);
 ;
 }
 break;
 case 339:
 {
-yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->name), yyvsp[(4) - (5)].list);
+yyval.specifier = MkEnum(MkIdentifier(yyvsp[(2) - (5)].specifier->__anon1.__anon1.name), yyvsp[(4) - (5)].list);
 if(declMode)
-DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->name);
+DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
 FreeSpecifier(yyvsp[(2) - (5)].specifier);
 ;
 }
@@ -5192,8 +5192,8 @@ break;
 case 446:
 {
 yyval.stmt = MkCompoundStmt((((void *)0)), (((void *)0)));
-yyval.stmt->compound.context = PushContext();
-PopContext(yyval.stmt->compound.context);
+yyval.stmt->__anon1.compound.context = PushContext();
+PopContext(yyval.stmt->__anon1.compound.context);
 yyval.stmt->loc = (yyloc);
 ;
 }
@@ -5201,7 +5201,7 @@ break;
 case 447:
 {
 yyval.stmt = yyvsp[(2) - (3)].stmt;
-yyval.stmt->compound.context = yyvsp[(1) - (3)].context;
+yyval.stmt->__anon1.compound.context = yyvsp[(1) - (3)].context;
 PopContext(yyvsp[(1) - (3)].context);
 yyval.stmt->loc = (yyloc);
 ;
index 5001277..8912d64 100644 (file)
@@ -2528,7 +2528,7 @@ static Type ProcessTypeSpecs(OldList specs, bool assumeEllipsis, bool keepTypeNa
          }
          else if(spec.type == subClassSpecifier)
          {
-            specType.kind = specType.kind = subClassType;
+            specType.kind = subClassType;
             specType._class = spec._class.symbol;
          }
       }
index 0c25f7d..f2931cb 100644 (file)
@@ -489,13 +489,13 @@ public:
          ExtDecl extDecl;
          char * name;
          Symbol symbol;
-         OldList * templateArgs;
+         OldList/*<TemplateArgument>*/ * templateArgs;
       };
       struct
       {
          Identifier id;
-         OldList * list;
-         OldList * baseSpecs;
+         OldList/*<Enumerator>*/ * list;
+         OldList/*<Specifier>*/ * baseSpecs;
          OldList/*<ClassDef>*/ * definitions;
          bool addNameSpace;
          Context ctx;
index ec81363..a458979 100644 (file)
@@ -22,7 +22,6 @@ public void SetBuildingEcereComModule(bool b) { buildingECERECOMModule = b; } pu
 // This will also be called by the instance processer to make the instance methods... (pass 1.5)
 External ProcessClassFunction(Class owningClass, ClassFunction func, OldList defs, External after, bool makeStatic)
 {
-   Identifier id = GetDeclId(func.declarator);
    Type type = null;
    Symbol symbol;
    External external = null;
index 44524b5..5d21a84 100644 (file)
@@ -889,6 +889,7 @@ public int ComputeTypeSize(Type type)
    int alignment;
    uint size;
    DataMember member;
+   int anonID = 1;
    Context context = isMember ? null : SetupTemplatesContext(_class);
    if(addedPadding)
       *addedPadding = false;
@@ -963,12 +964,14 @@ public int ComputeTypeSize(Type type)
             case structMember:
             {
                OldList * specs = MkList(), * list = MkList();
+               char id[100];
+               sprintf(id, "__anon%d", anonID++);
 
                size = 0;
                AddMembers(list, (Class)member, true, &size, topClass, null);
                ListAdd(specs,
                   MkStructOrUnion((member.type == unionMember)?unionSpecifier:structSpecifier, null, list));
-               ListAdd(declarations, MkClassDefDeclaration(MkStructDeclaration(specs, null, null)));
+               ListAdd(declarations, MkClassDefDeclaration(MkStructDeclaration(specs, MkListOne(MkDeclaratorIdentifier(MkIdentifier(id))),null)));
                alignment = member.structAlignment;
 
                if(alignment)
@@ -1053,6 +1056,54 @@ static int DeclareMembers(Class _class, bool isMember)
    return topMember ? topMember.memberID : _class.memberID;
 }
 
+static void IdentifyAnonStructs(OldList/*<ClassDef>*/ *  definitions)
+{
+   ClassDef def;
+   int anonID = 1;
+   for(def = definitions->first; def; def = def.next)
+   {
+      if(def.type == declarationClassDef)
+      {
+         Declaration decl = def.decl;
+         if(decl && decl.specifiers)
+         {
+            Specifier spec;
+            bool isStruct = false;
+            for(spec = decl.specifiers->first; spec; spec = spec.next)
+            {
+               if(spec.type == structSpecifier || spec.type == unionSpecifier)
+               {
+                  if(spec.definitions)
+                     IdentifyAnonStructs(spec.definitions);
+                  isStruct = true;
+               }
+            }
+            if(isStruct)
+            {
+               Declarator d = null;
+               if(decl.declarators)
+               {
+                  for(d = decl.declarators->first; d; d = d.next)
+                  {
+                     Identifier idDecl = GetDeclId(d);
+                     if(idDecl)
+                        break;
+                  }
+               }
+               if(!d)
+               {
+                  char id[100];
+                  sprintf(id, "__anon%d", anonID++);
+                  if(!decl.declarators)
+                     decl.declarators = MkList();
+                  ListAdd(decl.declarators, MkDeclaratorIdentifier(MkIdentifier(id)));
+               }
+            }
+         }
+      }
+   }
+}
+
 void DeclareStruct(const char * name, bool skipNoHead)
 {
    External external = null;
@@ -1207,37 +1258,49 @@ void DeclareStruct(const char * name, bool skipNoHead)
 
       classSym.declaring--;
    }
-   else if(curExternal && curExternal.symbol && curExternal.symbol.idCode < classSym.id)
+   else
    {
-      // TEMPORARY HACK: Pass 3 will move up struct declarations without moving members
-      // Moved this one up because DeclareClass done later will need it
-
-      // TESTING THIS:
-      classSym.declaring++;
-
-      //if(!skipNoHead)
+      if(classSym.structExternal && classSym.structExternal.declaration && classSym.structExternal.declaration.specifiers)
       {
-         if(classSym.registered)
-            DeclareMembers(classSym.registered, false);
+         Specifier spec;
+         for(spec = classSym.structExternal.declaration.specifiers->first; spec; spec = spec.next)
+         {
+            IdentifyAnonStructs(spec.definitions);
+         }
       }
 
-      if(classSym.registered && (classSym.registered.type == structClass || classSym.registered.type == noHeadClass))
+      if(curExternal && curExternal.symbol && curExternal.symbol.idCode < classSym.id)
       {
-         // TODO: Fix this
-         //ast->Move(classSym.structExternal ? classSym.structExternal : classSym.pointerExternal, curExternal.prev);
+         // TEMPORARY HACK: Pass 3 will move up struct declarations without moving members
+         // Moved this one up because DeclareClass done later will need it
 
-         // DANGER
-         if(classSym.structExternal)
-            ast->Move(classSym.structExternal, curExternal.prev);
-         ast->Move(classSym.pointerExternal, curExternal.prev);
+         // TESTING THIS:
+         classSym.declaring++;
 
-         classSym.id = curExternal.symbol.idCode;
-         classSym.idCode = curExternal.symbol.idCode;
-         // external = classSym.pointerExternal;
-         // external = classSym.structExternal ? classSym.structExternal : classSym.pointerExternal;
-      }
+         //if(!skipNoHead)
+         {
+            if(classSym.registered)
+               DeclareMembers(classSym.registered, false);
+         }
 
-      classSym.declaring--;
+         if(classSym.registered && (classSym.registered.type == structClass || classSym.registered.type == noHeadClass))
+         {
+            // TODO: Fix this
+            //ast->Move(classSym.structExternal ? classSym.structExternal : classSym.pointerExternal, curExternal.prev);
+
+            // DANGER
+            if(classSym.structExternal)
+               ast->Move(classSym.structExternal, curExternal.prev);
+            ast->Move(classSym.pointerExternal, curExternal.prev);
+
+            classSym.id = curExternal.symbol.idCode;
+            classSym.idCode = curExternal.symbol.idCode;
+            // external = classSym.pointerExternal;
+            // external = classSym.structExternal ? classSym.structExternal : classSym.pointerExternal;
+         }
+
+         classSym.declaring--;
+      }
    }
    //return external;
 }
index d32569f..bfed7a8 100644 (file)
@@ -1598,6 +1598,7 @@ static bool ProcessBracketInst_DataMember(DataMember parentMember, Instantiation
    Symbol classSym = inst._class.symbol; // FindClass(inst._class.name);
    DataMember dataMember = null;
    bool someMemberSet = false;
+   int anonID = 1;
 
    // For simple classes, ensure all members are initialized
    for(dataMember = parentMember.members.first; dataMember; dataMember = dataMember.next)
@@ -1607,9 +1608,9 @@ static bool ProcessBracketInst_DataMember(DataMember parentMember, Instantiation
 
       if(!dataMember.name && (dataMember.type == unionMember || dataMember.type == structMember))
       {
-         OldList * subList = 0; //(dataMember.type == structMember) ? MkList() : null;
+         OldList * subList = MkList(); //(dataMember.type == structMember) ? MkList() : null;
 
-         if(!ProcessBracketInst_DataMember(dataMember, inst, subList ? subList : list, dataMember.name ? dataMember : namedParentMember, someMemberSet || parentMemberSet))
+         if(!ProcessBracketInst_DataMember(dataMember, inst, subList ? subList : list, dataMember.name ? dataMember : namedParentMember, someMemberSet || parentMemberSet || dataMember.prev))
          {
             if(subList)
                FreeList(subList, FreeInitializer);
@@ -1618,7 +1619,11 @@ static bool ProcessBracketInst_DataMember(DataMember parentMember, Instantiation
          }
          if(subList && subList->count)
          {
-            ListAdd(list, MkInitializerList(subList));
+            Initializer init = MkInitializerList(subList);
+            char id[100];
+            sprintf(id, "__anon%d", anonID);
+            init.id = MkIdentifier(id);
+            ListAdd(list, init);
             someMemberSet = true;
          }
          else
@@ -1627,6 +1632,7 @@ static bool ProcessBracketInst_DataMember(DataMember parentMember, Instantiation
                someMemberSet = true;
             delete subList;
          }
+         anonID++;
       }
       else
       {
@@ -1862,7 +1868,7 @@ static bool ProcessBracketInst_DataMember(DataMember parentMember, Instantiation
       */
    }
    // TESTING THIS NEW CODE FOR ANCHORS...
-   if(parentMember.type == unionMember && !someMemberSet && !parentMemberSet)
+   if(/*parentMember.type == unionMember && */!someMemberSet && !parentMemberSet)
    {
       Symbol classSym;
       Initializer init { loc = yylloc };
@@ -1900,6 +1906,7 @@ static bool ProcessBracketInst(Instantiation inst, OldList list)
    static int recursionCount = 0;
    Symbol classSym = inst._class.symbol; // FindClass(inst._class.name);
    Class _class = null;
+   int anonID = 1;
 
    if(recursionCount > 500) return false;
    recursionCount++;
@@ -1915,7 +1922,7 @@ static bool ProcessBracketInst(Instantiation inst, OldList list)
       {
          if(!dataMember.isProperty && !dataMember.name && (dataMember.type == unionMember || dataMember.type == structMember))
          {
-            OldList * subList = 0 /*(dataMember.type == structMember ? MkList() : null)*/;
+            OldList * subList = MkList(); //(dataMember.type == structMember ? MkList() : null);
 
             if(!ProcessBracketInst_DataMember(dataMember, inst, subList ? subList : list, dataMember, false))
             {
@@ -1925,9 +1932,16 @@ static bool ProcessBracketInst(Instantiation inst, OldList list)
                return false;
             }
             if(dataMember.type == structMember || (subList && subList->count))
-               ListAdd(list, MkInitializerList(subList));
+            {
+               Initializer init = MkInitializerList(subList);
+               char id[100];
+               sprintf(id, "__anon%d", anonID);
+               init.id = MkIdentifier(id);
+               ListAdd(list, init);
+            }
             else
                delete subList;
+            anonID ++;
          }
          else
          {
index 58c55d0..609a948 100644 (file)
@@ -1082,6 +1082,7 @@ static void ProcessExpression(Expression exp)
                   typeName = MkTypeName(qualifiers, declarator);
 
                   ProcessExpressionType(classExp);
+                  ProcessExpression(classExp);
                   args->Insert(null, CopyExpression(classExp));
                   DeclareMethod(eClass_FindMethod(eSystem_FindClass(privateModule, "class"), "OnFree", privateModule), "__ecereVMethodID_class_OnFree");
                   ListAdd(exp.list, MkExpCall(
@@ -1118,7 +1119,12 @@ static void ProcessExpression(Expression exp)
                   Expression classExp = MkExpMember(argExp, MkIdentifier("dataTypeClass"));
                   OldList * args = MkList();
                   Expression derefExp = exp.op.exp1;
-                  Expression sizeExp = MkExpCondition(MkExpBrackets(MkListOne(
+                  Expression sizeExp;
+
+                  ProcessExpressionType(classExp);
+                  ProcessExpression(classExp);
+
+                  sizeExp = MkExpCondition(MkExpBrackets(MkListOne(
                         MkExpOp(
                            MkExpOp(MkExpMember(CopyExpression(classExp), MkIdentifier("type")), EQ_OP, MkExpIdentifier(MkIdentifier("normalClass"))),
                            OR_OP,
@@ -1190,7 +1196,12 @@ static void ProcessExpression(Expression exp)
                if(argExp)
                {
                   Expression classExp = MkExpMember(argExp, MkIdentifier("dataTypeClass"));
-                  Expression sizeExp = MkExpMember(CopyExpression(classExp), MkIdentifier("typeSize"));
+                  Expression sizeExp;
+
+                  ProcessExpressionType(classExp);
+                  ProcessExpression(classExp);
+
+                  sizeExp = MkExpMember(CopyExpression(classExp), MkIdentifier("typeSize"));
 
                   exp.type = bracketsExp;
                   exp.list = MkListOne(
@@ -1328,6 +1339,10 @@ static void ProcessExpression(Expression exp)
                {
                   Expression classExp = MkExpMember(argExp, MkIdentifier("dataTypeClass"));
                   Expression e;
+
+                  ProcessExpressionType(classExp);
+                  ProcessExpression(classExp);
+
                   exp.type = bracketsExp;
                   exp.list = MkListOne(MkExpOp(MkExpCast(MkTypeName(MkListOne(MkSpecifier(CHAR)), MkDeclaratorPointer(MkPointer(null, null), null)),
                                  MkExpOp(null, '&', exp2)), '+',
@@ -1435,7 +1450,12 @@ static void ProcessExpression(Expression exp)
             if(argExp)
             {
                Expression classExp = MkExpMember(argExp, MkIdentifier("dataTypeClass"));
-               Expression sizeExp = MkExpMember(CopyExpression(classExp), MkIdentifier("typeSize"));
+               Expression sizeExp;
+
+               ProcessExpressionType(classExp);
+               ProcessExpression(classExp);
+
+               sizeExp = MkExpMember(CopyExpression(classExp), MkIdentifier("typeSize"));
 
                exp.type = bracketsExp;
                exp.list = MkListOne(
@@ -2393,6 +2413,8 @@ static void ProcessExpression(Expression exp)
             Method method = null;
             Class convertTo = null;
             DataMember member = null;
+            DataMember subMemberStack[256];
+            int subMemberStackPos = 0;
             bool thisPtr = exp.member.thisPtr;
             if(type.kind == subClassType && exp.member.exp.type == classExp)
                _class = eSystem_FindClass(privateModule, "ecere::com::Class");
@@ -2412,9 +2434,9 @@ static void ProcessExpression(Expression exp)
             if(_class && exp.member.memberType == dataMember)
             {
                if(!thisPtr && !exp.member.member.classSym)
-                  member = eClass_FindDataMember(_class, exp.member.member.string, null, null, null);
+                  member = eClass_FindDataMember(_class, exp.member.member.string, null, subMemberStack, &subMemberStackPos);
                if(!member)
-                  member = eClass_FindDataMember(_class, exp.member.member.string, privateModule, null, null);
+                  member = eClass_FindDataMember(_class, exp.member.member.string, privateModule, subMemberStack, &subMemberStackPos);
             }
             else if(_class && exp.member.memberType == propertyMember)
             {
@@ -2426,7 +2448,7 @@ static void ProcessExpression(Expression exp)
                   (exp.usage.usageGet && !prop.Get && !prop.conversion) ||
                   (exp.usage.usageDelete && !prop.Set && !prop.conversion)))
                {
-                  member = eClass_FindDataMember(_class, exp.member.member.string, privateModule, null, null);
+                  member = eClass_FindDataMember(_class, exp.member.member.string, privateModule, subMemberStack, &subMemberStackPos);
                   if(member)
                   {
                      exp.member.memberType = dataMember;
@@ -2710,6 +2732,41 @@ static void ProcessExpression(Expression exp)
             }
             else if(member)
             {
+               if(subMemberStackPos)
+               {
+                  int i;
+                  DataMember parentMember = null;
+                  String s, prefix = null;
+                  for(i = 0; i < subMemberStackPos; i++)
+                  {
+                     DataMember curMember = subMemberStack[i];
+                     DataMember m;
+                     int anonID = 1;
+                     for(m = parentMember ? parentMember.members.first : _class.membersAndProperties.first; m; m = m.next)
+                     {
+                        if(m && !m.isProperty && (m.type == unionMember || m.type == structMember) && !m.name)
+                        {
+                           if(m == curMember)
+                              break;
+                           anonID++;
+                        }
+                     }
+
+                     if(prefix)
+                     {
+                        s = prefix;
+                        prefix = PrintString(prefix, ".__anon", anonID);
+                        delete s;
+                     }
+                     else
+                        prefix = PrintString("__anon", anonID);
+                     parentMember = curMember;
+                  }
+
+                  s = exp.member.member.string;
+                  exp.member.member.string = PrintString(prefix, ".", s);
+                  delete s;
+               }
                // Process this here since it won't be processed at the end...
                if(exp.usage.usageGet)
                {
@@ -2930,6 +2987,9 @@ static void ProcessExpression(Expression exp)
 
                classExp = MkExpMember(argExp, MkIdentifier("dataTypeClass"));
 
+               ProcessExpressionType(classExp);
+               ProcessExpression(classExp);
+
                exp.type = bracketsExp;
                exp.list = MkListOne(
                   MkExpCondition(MkExpBrackets(MkListOne(
@@ -3003,8 +3063,10 @@ static void ProcessExpression(Expression exp)
                exp.type = memberExp; //pointerExp;
                exp.member.exp = argExp;
                exp.member.member = MkIdentifier("dataTypeClass");
+               exp.member.memberType = dataMember;
 
                ProcessExpressionType(argExp);
+               ProcessExpressionType(exp);
                ProcessExpression(exp);
             }
          }
index dfbf4e6..ccfa993 100644 (file)
@@ -227,6 +227,7 @@ public bool ShellOpen(const char * fileName, ...)
 {
    bool result;
    va_list args;
+   va_start(args, fileName);
    result = System_ShellOpen(fileName, args);
    va_end(args);
    return result;