#define structSize_Instance (_64BIT ? 24 : 12)
#define structSize_AVLNode (_64BIT ? 40 : 24)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_AVLTree(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::AVLTree", "ecere::com::CustomAVLTree<BT = ecere::com::AVLNode<AT>, KT = AT, T = AT, D = AT>", 0, 0, 0, 0, module, 4, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define arch_PointerSize sizeof(void *)
#define structSize_Instance (_64BIT ? 24 : 12)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_Array(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::Array", "ecere::com::Container", sizeof(struct __ecereNameSpace__ecere__com__Array), 0, 0, __ecereDestructor___ecereNameSpace__ecere__com__Array, module, 4, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define arch_PointerSize sizeof(void *)
#define structSize_Instance (_64BIT ? 24 : 12)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_BTNode(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::TreePrintStyle", 0, 0, 0, 0, 0, module, 4, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define arch_PointerSize sizeof(void *)
#define structSize_Instance (_64BIT ? 24 : 12)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_BinaryTree(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::sys::BinaryTree", 0, sizeof(struct __ecereNameSpace__ecere__sys__BinaryTree), 0, 0, 0, module, 4, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define structSize_Instance (_64BIT ? 24 : 12)
#define structSize_File (_64BIT ? 40 : 20)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_BufferedFile(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::sys::BufferedFile", "ecere::sys::File", sizeof(struct __ecereNameSpace__ecere__sys__BufferedFile), 0, __ecereConstructor___ecereNameSpace__ecere__sys__BufferedFile, __ecereDestructor___ecereNameSpace__ecere__sys__BufferedFile, module, 1, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define arch_PointerSize sizeof(void *)
#define structSize_Instance (_64BIT ? 24 : 12)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_BuiltInContainer(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::com::IteratorPointer", 0, 0, 0, 0, 0, module, 4, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define arch_PointerSize sizeof(void *)
#define structSize_Instance (_64BIT ? 24 : 12)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
}
}
};
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::com::Iterator", 0, sizeof(struct __ecereNameSpace__ecere__com__Iterator), 0, 0, 0, module, 4, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define _STR(x) #x
#define _XSTR(x) _STR(x)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
Tclass = __ecereClass_uint64;
while(0x1)
{
-int result = ((int (*)(void *, void *, void *))(void *)Tclass->_vTbl[__ecereVMethodID_class_OnCompare])(Tclass, ((Tclass->type == 1000 && !Tclass->byValueSystemClass) || Tclass->type == 2 || Tclass->type == 4 || Tclass->type == 3 || Tclass->type == 1) ? (((unsigned char *)&node->key) + __ENDIAN_PAD((Tclass->type == 1) ? sizeof(void *) : Tclass->typeSize)) : (void *)*(uint64 *)(&node->key), ((Tclass->type == 1000 && !Tclass->byValueSystemClass) || Tclass->type == 2 || Tclass->type == 4 || Tclass->type == 3 || Tclass->type == 1) ? (((unsigned char *)&this->key) + __ENDIAN_PAD((Tclass->type == 1) ? sizeof(void *) : Tclass->typeSize)) : (void *)*(uint64 *)(&this->key));
+int result;
+unsigned char * a, * b;
+if((Tclass->type == 1000 && !Tclass->byValueSystemClass) || Tclass->type == 2 || Tclass->type == 4 || Tclass->type == 3 || Tclass->type == 1)
+{
+a = (unsigned char *)&node->key;
+b = (unsigned char *)&this->key;
+a += __ENDIAN_PAD((Tclass->type == 1) ? sizeof(void *) : Tclass->typeSize);
+b += __ENDIAN_PAD((Tclass->type == 1) ? sizeof(void *) : Tclass->typeSize);
+}
+else
+{
+a = (unsigned char *)*(uint64 *)(&node->key);
+b = (unsigned char *)*(uint64 *)(&this->key);
+}
+result = ((int (*)(void *, void *, void *))(void *)Tclass->_vTbl[__ecereVMethodID_class_OnCompare])(Tclass, a, b);
if(!result)
{
return 0x0;
{
while(this)
{
-int result = ((int (*)(void *, void *, void *))(void *)Tclass->_vTbl[__ecereVMethodID_class_OnCompare])(Tclass, ((Tclass->type == 1000 && !Tclass->byValueSystemClass) || Tclass->type == 2 || Tclass->type == 4 || Tclass->type == 3) ? (((unsigned char *)&key) + __ENDIAN_PAD(Tclass->typeSize)) : (void *)key, ((Tclass->type == 1000 && !Tclass->byValueSystemClass) || Tclass->type == 2 || Tclass->type == 4 || Tclass->type == 3 || Tclass->type == 1) ? (((unsigned char *)&this->key) + __ENDIAN_PAD((Tclass->type == 1) ? sizeof(void *) : Tclass->typeSize)) : (void *)*(uint64 *)(&this->key));
+int result;
+unsigned char * a, * b;
+if((Tclass->type == 1000 && !Tclass->byValueSystemClass) || Tclass->type == 2 || Tclass->type == 4 || Tclass->type == 3)
+{
+a = (unsigned char *)&key;
+a += __ENDIAN_PAD(Tclass->typeSize);
+}
+else
+a = (unsigned char *)key;
+if((Tclass->type == 1000 && !Tclass->byValueSystemClass) || Tclass->type == 2 || Tclass->type == 4 || Tclass->type == 3 || Tclass->type == 1)
+{
+b = (unsigned char *)&this->key;
+b += __ENDIAN_PAD((Tclass->type == 1) ? sizeof(void *) : Tclass->typeSize);
+}
+else
+b = (unsigned char *)*(uint64 *)(&this->key);
+result = ((int (*)(void *, void *, void *))(void *)Tclass->_vTbl[__ecereVMethodID_class_OnCompare])(Tclass, a, b);
if(result < 0)
this = this->left;
else if(result > 0)
}
}
};
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::com::AVLNode", "ecere::com::IteratorPointer", sizeof(struct __ecereNameSpace__ecere__com__AVLNode), 0, 0, 0, module, 4, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define arch_PointerSize sizeof(void *)
#define structSize_Instance (_64BIT ? 24 : 12)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_DualPipe(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(2, "ecere::sys::PipeOpenMode", 0, 0, 0, 0, 0, module, 1, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define arch_PointerSize sizeof(void *)
#define structSize_Instance (_64BIT ? 24 : 12)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
int snprintf(char * str, size_t, const char * format, ...);
void __ecereRegisterModule_File(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(3, "ecere::sys::FileSize", "uint", 0, 0, 0, 0, module, 1, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define structSize_Instance (_64BIT ? 24 : 12)
#define structSize_LinkElement (_64BIT ? 16 : 8)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
}
}
};
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::com::LinkElement", 0, sizeof(struct __ecereNameSpace__ecere__com__LinkElement), 0, 0, 0, module, 4, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define structSize_Instance (_64BIT ? 24 : 12)
#define structSize_Link (_64BIT ? 24 : 16)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
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;
+link->data = ((uint64)(value));
return 0x1;
}
link = __extension__ ({
struct __ecereNameSpace__ecere__com__Link * __ecereInstance1 = __ecereNameSpace__ecere__com__eSystem_New0(structSize_Link);
-__ecereInstance1->data = value, __ecereInstance1;
+__ecereInstance1->data = ((uint64)(value)), __ecereInstance1;
});
-((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * after, uint64 value))__ecereClass___ecereNameSpace__ecere__com__LinkList->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Insert])(this, after, (void *)link);
+((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * after, uint64 value))__ecereClass___ecereNameSpace__ecere__com__LinkList->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Insert])(this, after, (uint64)link);
return link;
}
__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].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.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, ((void * )(data))), data = 0);
((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
{
void * item;
-while((item = ((struct __ecereNameSpace__ecere__com__LinkList *)(((char *)this + structSize_Instance)))->first))
+while((item = ((struct __ecereNameSpace__ecere__com__Link *)(((struct __ecereNameSpace__ecere__com__LinkList *)(((char *)this + structSize_Instance)))->first))))
{
uint64 data = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
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);
+})[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, ((void *)(item)));
-(((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 (* )(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, ((void * )(data))), data = 0);
((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
__internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__List->_vTbl;
-})[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, item);
+})[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, ((void *)(item)));
}
}
void __ecereRegisterModule_List(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::com::Link", "ecere::com::ListItem", sizeof(struct __ecereNameSpace__ecere__com__Link), 0, 0, 0, module, 4, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define structSize_Instance (_64BIT ? 24 : 12)
#define structSize_MapNode (_64BIT ? 48 : 32)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_Map(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::com::MapNode", "ecere::com::AVLNode<KT>", sizeof(struct __ecereNameSpace__ecere__com__MapNode), 0, 0, 0, module, 4, 2);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define arch_PointerSize sizeof(void *)
#define structSize_Instance (_64BIT ? 24 : 12)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_OldList(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::sys::Item", 0, sizeof(struct __ecereNameSpace__ecere__sys__Item), 0, 0, 0, module, 4, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define arch_PointerSize sizeof(void *)
#define structSize_Instance (_64BIT ? 24 : 12)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_String(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::sys::DIR_SEP", "(GetRuntimePlatform() == win32) ? '\\\\' : '/'", module, 4);
__ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::sys::DIR_SEPS", "(GetRuntimePlatform() == win32) ? \"\\\\\" : \"/\"", module, 4);
#define structSize_Instance (_64BIT ? 24 : 12)
#define structSize_OldList (_64BIT ? 32 : 20)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
int snprintf(char * str, size_t, const char * format, ...);
void __ecereRegisterModule_System(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::LoggingMode", 0, 0, 0, 0, 0, module, 1, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define arch_PointerSize sizeof(void *)
#define structSize_Instance (_64BIT ? 24 : 12)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_TempFile(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::sys::TempFile", "ecere::sys::File", sizeof(struct __ecereNameSpace__ecere__sys__TempFile), 0, __ecereConstructor___ecereNameSpace__ecere__sys__TempFile, __ecereDestructor___ecereNameSpace__ecere__sys__TempFile, module, 1, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define arch_PointerSize sizeof(void *)
#define structSize_Instance (_64BIT ? 24 : 12)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
int snprintf(char * str, size_t, const char * format, ...);
void __ecereRegisterModule_dataTypes(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXBYTE", "0xff", module, 4);
__ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXWORD", "0xffff", module, 4);
#endif
#include <stdint.h>
#include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_ecere_main(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
}
#define arch_PointerSize sizeof(void *)
#define structSize_Instance (_64BIT ? 24 : 12)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_i18n(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::LoadTranslatedStrings", "void ecere::LoadTranslatedStrings(const String moduleName, const char * name)", __ecereNameSpace__ecere__LoadTranslatedStrings, module, 4);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::UnloadTranslatedStrings", "void ecere::UnloadTranslatedStrings(const String name)", __ecereNameSpace__ecere__UnloadTranslatedStrings, module, 4);
#define structSize_Property (_64BIT ? 152 : 88)
#define structSize_Class (_64BIT ? 624 : 376)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
struct __ecereNameSpace__ecere__sys__BTNode;
size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
int snprintf(char * str, size_t, const char * format, ...);
void __ecereRegisterModule_instance(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::null", "((void *)0)", module, 4);
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(3, "ecere::com::Angle", "double", 0, 0, 0, 0, module, 4, 1);
#endif
#include <stdint.h>
#include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_memory(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MoveBytes", "void ecere::sys::MoveBytes(void * dest, const void * source, uint count)", __ecereNameSpace__ecere__sys__MoveBytes, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopyBytes", "void ecere::sys::CopyBytes(void * dest, const void * source, uint count)", __ecereNameSpace__ecere__sys__CopyBytes, module, 1);
#define structSize_Instance (_64BIT ? 24 : 12)
#define structSize_Module (_64BIT ? 560 : 300)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
struct __ecereNameSpace__ecere__sys__OldList _excludedSymbols =
{
-0, 0, 0, (unsigned int)&((struct Symbol *)(void * )0)->left, 0
+0, 0, 0, (unsigned int)(uintptr_t)&((struct Symbol *)(void * )0)->left, 0
};
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
extern void FullClassNameCat(char * output, const char * className, unsigned int includeTemplateParams);
-extern void MangleClassName(char * className);
-
extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, struct __ecereNameSpace__ecere__com__Instance * module);
extern struct Context * SetupTemplatesContext(struct __ecereNameSpace__ecere__com__Class * _class);
{
struct ModuleImport * module;
struct ModuleInfo * defModule;
-unsigned int nonInst = 0x0, anyMethod = 0x0, anyProp = 0x0, anyFunction = 0x0;
+unsigned int anyMethod = 0x0, anyProp = 0x0, anyFunction = 0x0;
struct ImportedModule * importedModule;
__ecereNameSpace__ecere__sys__GetLastDirectory(fileName, mainModuleName);
struct __ecereNameSpace__ecere__com__Class * regClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, _class->name);
FullClassNameCat(className, _class->name, 0x1);
-MangleClassName(className);
if(_class->itself)
__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "Class __ecereClass_%s;\n", className);
-else
-nonInst = 0x1;
{
{
for(method = _class->methods.first; method; method = method->next)
propName[0] = (char)0;
FullClassNameCat(propName, prop->name, 0x1);
-MangleClassName(propName);
if((!strcmp(_class->name, "float") || !strcmp(_class->name, "double") || module->name) && module->importType != 1)
{
if(prop->hasSet)
char className[1024] = "";
FullClassNameCat(className, _class->name, 0x1);
-MangleClassName(className);
if(_class->itself)
sprintf(classID, "__ecereClass_%s", className);
else
propName[0] = (char)0;
FullClassNameCat(propName, prop->name, 0x1);
-MangleClassName(propName);
__ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, " __ecereProp_%s_%s = _property = eClass_FindProperty(%s, \"%s\", module);\n", className, propName, classID, prop->name);
if((!strcmp(_class->name, "float") || !strcmp(_class->name, "double") || module->name) && module->importType != 1)
{
}
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
DeclareClass(classSym, className);
PrintType(method->dataType->__anon1.__anon2.returnType, type, 0x1, 0x1);
decl = SpecDeclFromString(type, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereResult")));
}
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
DeclareClass(classSym, className);
PrintType(param, type, 0x1, 0x1);
decl = SpecDeclFromString(type, specs, MkDeclaratorIdentifier(MkIdentifier(param->name)));
}
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
DeclareClass(classSym, className);
PrintType(method->dataType->__anon1.__anon2.returnType, type, 0x1, 0x1);
decl = SpecDeclFromString(type, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereResult")));
}
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
DeclareClass(classSym, className);
if(param->kind == 8 && !strcmp(param->__anon1._class->string, "String"))
{
}
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
DeclareClass(classSym, className);
PrintType(method->dataType->__anon1.__anon2.returnType, type, 0x1, 0x1);
decl = SpecDeclFromString(type, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereResult")));
}
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
DeclareClass(classSym, className);
PrintType(param, type, 0x1, 0x1);
decl = SpecDeclFromString(type, specs, MkDeclaratorIdentifier(MkIdentifier(param->name)));
}
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
DeclareClass(classSym, className);
PrintType(method->dataType->__anon1.__anon2.returnType, type, 0x1, 0x1);
decl = SpecDeclFromString(type, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereResult")));
}
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
DeclareClass(classSym, className);
if(param->kind == 8 && !strcmp(param->__anon1._class->string, "String"))
{
extern void SetPrivateModule(struct __ecereNameSpace__ecere__com__Instance * module);
-extern const char * GetSymbolsDir(void);
-
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IteratorPointer;
struct __ecereNameSpace__ecere__com__IteratorPointer;
SetMainModule(mainModule);
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&_imports, mainModule);
{
-const char * symbolsDir = GetSymbolsDir();
struct __ecereNameSpace__ecere__com__Instance * intlStrings = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_ContextStringPair__ecere__com__List_TPL_String___);
struct __ecereNameSpace__ecere__com__MapIterator it = (it.container = (void *)0, it.pointer = (void *)0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(&it, intlStrings), it);
void __ecereRegisterModule_ecs(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ModuleInfo", 0, sizeof(struct ModuleInfo), 0, 0, 0, module, 2, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define structSize_Instance (_64BIT ? 24 : 12)
#define structSize_Module (_64BIT ? 560 : 300)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_ecs_main(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
}
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
-int vsnprintf (char*, size_t, const char*, ...);
+int vsnprintf(char*, size_t, const char*, va_list args);
int snprintf(char *str, size_t, const char *format, ...);
int fseek(FILE *stream, long offset, int whence);
#define structSize_OldLink (_64BIT ? 24 : 12)
#define structSize_NamedLink (_64BIT ? 32 : 16)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
struct External * MkExternalDeclaration(struct Declaration * declaration)
{
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->__anon1.__anon1.specifiers)
{
if(extDecl->type == 0)
{
-char * s = spec->__anon1.__anon1.extDecl->__anon1.s;
-
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->__anon1.__anon1.extDecl->__anon1.s, "__declspec(stdcall)") || !strcmp(spec->__anon1.__anon1.extDecl->__anon1.s, "stdcall"))
if(spec->__anon1.__anon2.list)
{
struct Enumerator * e;
-int nextValue = 0;
for(e = (*spec->__anon1.__anon2.list).first; e; e = e->next)
{
extern void FullClassNameCat(char * output, const char * className, unsigned int includeTemplateParams);
-extern void MangleClassName(char * className);
-
extern void DeclareClass(struct Symbol * classSym, const char * className);
struct Expression * GetTemplateArgExpByName(const char * paramName, struct __ecereNameSpace__ecere__com__Class * curClass, int tplType)
{
char idString[32];
char className[1024];
-struct Expression * classExp;
sprintf(idString, "%d", id);
strcpy(className, "__ecereClass_");
FullClassNameCat(className, _class->fullName, 0x1);
-MangleClassName(className);
DeclareClass(FindClass(_class->fullName), className);
argExp = MkExpIndex((MkExpMember)(MkExpMember(MkExpIdentifier(MkIdentifier("this")), MkIdentifier("_class")), MkIdentifier("templateArgs")), MkListOne(MkExpConstant(idString)));
}
void __ecereRegisterModule_ast(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetDefaultNameSpace", "void SetDefaultNameSpace(const char * s)", SetDefaultNameSpace, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetStrictNameSpaces", "void SetStrictNameSpaces(bool b)", SetStrictNameSpaces, module, 1);
#endif
#include <stdint.h>
#include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_copy(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("CopyIdentifier", "Identifier CopyIdentifier(Identifier id)", CopyIdentifier, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("CopyExpContents", "Expression CopyExpContents(Expression exp)", CopyExpContents, module, 2);
#endif
#include <stdint.h>
#include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_dbpass(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessDBTableDefinitions", "void ProcessDBTableDefinitions(void)", ProcessDBTableDefinitions, module, 1);
}
#endif
#include <stdint.h>
#include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_ec_main(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
}
#define structSize_ExpMember (_64BIT ? 24 : 16)
#define structSize_OpTable (_64BIT ? 280 : 140)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
int snprintf(char * str, size_t, const char * format, ...);
void __ecereRegisterModule_ecdefs(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "TokenType", 0, 0, 0, 0, 0, module, 1, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#endif
#include <stdint.h>
#include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
int snprintf(char * str, size_t, const char * format, ...);
void __ecereRegisterModule_expression(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
}
#endif
#include <stdint.h>
#include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
extern void __ecereNameSpace__ecere__com__eProperty_Watchable(struct __ecereNameSpace__ecere__com__Property * _property);
-extern int printf(const char * , ...);
-
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassProperty;
struct __ecereNameSpace__ecere__com__ClassProperty;
if(propertyDef->__anon1.isWatchable)
__ecereNameSpace__ecere__com__eProperty_Watchable(prop);
}
-else
-printf("");
propertyDef->symbol->__anon1._property = prop;
if(propertyDef->symbol->type)
propertyDef->symbol->type->refCount++;
else if(def->type == 10 && def->__anon1.propertyDef)
{
struct PropertyDef * propertyDef = def->__anon1.propertyDef;
-struct __ecereNameSpace__ecere__com__ClassProperty * prop;
char * dataTypeString = StringFromSpecDecl(propertyDef->specifiers, propertyDef->declarator);
-prop = __ecereNameSpace__ecere__com__eClass_AddClassProperty(regClass, propertyDef->id->string, dataTypeString, inCompiler ? propertyDef->setStmt : (((void *)0)), inCompiler ? propertyDef->getStmt : (((void *)0)));
+__ecereNameSpace__ecere__com__eClass_AddClassProperty(regClass, propertyDef->id->string, dataTypeString, inCompiler ? propertyDef->setStmt : (((void *)0)), inCompiler ? propertyDef->getStmt : (((void *)0)));
(__ecereNameSpace__ecere__com__eSystem_Delete(dataTypeString), dataTypeString = 0);
}
}
}
if(param->type == 1)
{
-__ecereNameSpace__ecere__com__eClass_AddTemplateParameter(regClass, param->identifier->string, 1, (void *)param->__anon1.memberType, &defaultArg);
+__ecereNameSpace__ecere__com__eClass_AddTemplateParameter(regClass, param->identifier->string, 1, (void *)(uintptr_t)param->__anon1.memberType, &defaultArg);
}
else
{
void __ecereRegisterModule_firstPass(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("PrePreProcessClassDefinitions", "void PrePreProcessClassDefinitions(void)", PrePreProcessClassDefinitions, module, 1);
}
#define structSize_Instance (_64BIT ? 24 : 12)
#define structSize_Module (_64BIT ? 560 : 300)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
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);
+FreeList(stmt->__anon1._watch.watches, (stmt->type == 17) ? (void *)FreePropertyWatch : (void *)FreeIdentifier);
break;
}
}
void __ecereRegisterModule_freeAst(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeList", "void FreeList(ecere::sys::OldList list, void (* FreeFunction)(void *))", FreeList, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeType", "void FreeType(Type type)", FreeType, module, 1);
#endif
#include <stdint.h>
#include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
int snprintf(char * str, size_t, const char * format, ...);
break;
case 236:
{
-yyvsp[(1) - (2)].context;
+(void)yyvsp[(1) - (2)].context;
yyval.symbol = DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(2) - (2)].id->string);
FreeIdentifier(yyvsp[(2) - (2)].id);
yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
break;
case 237:
{
-yyvsp[(1) - (2)].context;
+(void)yyvsp[(1) - (2)].context;
yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
FreeSpecifier(yyvsp[(2) - (2)].specifier);
break;
case 238:
{
-yyvsp[(2) - (3)].context;
+(void)yyvsp[(2) - (3)].context;
yyval.symbol = DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(3) - (3)].id->string);
FreeIdentifier(yyvsp[(1) - (3)].id);
FreeIdentifier(yyvsp[(3) - (3)].id);
break;
case 239:
{
-yyvsp[(2) - (3)].context;
+(void)yyvsp[(2) - (3)].context;
yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
FreeIdentifier(yyvsp[(1) - (3)].id);
yyval.symbol->nameLoc = (yylsp[(3) - (3)]);
break;
case 240:
{
-yyvsp[(1) - (5)].context;
+(void)yyvsp[(1) - (5)].context;
yyval.symbol = DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(2) - (5)].id->string);
yyval.symbol->templateParams = yyvsp[(4) - (5)].list;
FreeIdentifier(yyvsp[(2) - (5)].id);
break;
case 241:
{
-yyvsp[(1) - (5)].context;
+(void)yyvsp[(1) - (5)].context;
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)]);
break;
case 242:
{
-yyvsp[(2) - (6)].context;
+(void)yyvsp[(2) - (6)].context;
yyval.symbol = DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(3) - (6)].id->string);
yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
FreeIdentifier(yyvsp[(1) - (6)].id);
break;
case 243:
{
-yyvsp[(2) - (6)].context;
+(void)yyvsp[(2) - (6)].context;
yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
FreeIdentifier(yyvsp[(1) - (6)].id);
break;
case 248:
{
-yyvsp[(1) - (3)].context;
+(void)yyvsp[(1) - (3)].context;
yyval._class = MkClass(DeclClassAddNameSpace(0, yyvsp[(2) - (3)].id->string), (((void *)0)), (((void *)0)));
FreeIdentifier(yyvsp[(2) - (3)].id);
if(defaultMemberAccess > -1)
break;
case 249:
{
-yyvsp[(1) - (3)].context;
+(void)yyvsp[(1) - (3)].context;
yyval._class = MkClass(DeclClass(0, yyvsp[(2) - (3)].specifier->__anon1.__anon1.name), (((void *)0)), (((void *)0)));
FreeSpecifier(yyvsp[(2) - (3)].specifier);
if(defaultMemberAccess > -1)
void __ecereRegisterModule_grammar(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
}
#define arch_PointerSize sizeof(void *)
#define structSize_Instance (_64BIT ? 24 : 12)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
int snprintf(char * str, size_t, const char * format, ...);
extern int yywrap(void);
-static void yyunput(int c, char * buf_ptr);
-
static int input(void);
int commentCPP();
return yy_is_jam ? 0 : yy_current_state;
}
-static void yyunput(int c, register char * yy_bp)
-{
-register char * yy_cp = yy_c_buf_p;
-
-*yy_cp = yy_hold_char;
-if(yy_cp < (*yy_current_buffer).yy_ch_buf + 2)
-{
-register int number_to_move = yy_n_chars + 2;
-register char * dest = &(*yy_current_buffer).yy_ch_buf[(*yy_current_buffer).yy_buf_size + 2];
-register char * source = &(*yy_current_buffer).yy_ch_buf[number_to_move];
-
-while(source > (*yy_current_buffer).yy_ch_buf)
-*--dest = *--source;
-yy_cp += (int)(dest - source);
-yy_bp += (int)(dest - source);
-(*yy_current_buffer).yy_n_chars = yy_n_chars = (*yy_current_buffer).yy_buf_size;
-if(yy_cp < (*yy_current_buffer).yy_ch_buf + 2)
-yy_fatal_error("flex scanner push-back overflow");
-}
-*--yy_cp = (char)c;
-yytext = yy_bp;
-yy_hold_char = *yy_cp;
-yy_c_buf_p = yy_cp;
-}
-
static int input()
{
int c;
free(ptr);
}
-yywrap()
+int yywrap()
{
return (1);
}
int commentCPP()
{
-int c, last = 0;
+int c;
for(; ; )
{
yylloc.end.charPos++;
yylloc.end.pos++;
}
-last = c;
}
yylloc.start = yylloc.end;
return 0;
yy_switch_to_buffer(yy_create_buffer(fileInput, 16384));
yy_start = 1 + 2 * (0);
}
-else
-printf("");
}
}
return 0;
void __ecereRegisterModule_lexer(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "yy_buffer_state", 0, sizeof(struct yy_buffer_state), 0, 0, 0, module, 2, 1);
if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
#define arch_PointerSize sizeof(void *)
#define structSize_Instance (_64BIT ? 24 : 12)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
__ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
if(regClass)
{
-struct __ecereNameSpace__ecere__com__Property * prop = __ecereNameSpace__ecere__com__eClass_AddProperty(regClass, conversion ? (((void *)0)) : name, line[0] ? line : 0, (void *)setStmt, (void *)getStmt, memberAccess);
+struct __ecereNameSpace__ecere__com__Property * prop = __ecereNameSpace__ecere__com__eClass_AddProperty(regClass, conversion ? (((void *)0)) : name, line[0] ? line : 0, (void *)(uintptr_t)setStmt, (void *)(uintptr_t)getStmt, memberAccess);
if(prop)
{
__ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
if(regClass)
{
-__ecereNameSpace__ecere__com__eClass_AddClassProperty(regClass, name, line, (void *)setStmt, (void *)getStmt);
+__ecereNameSpace__ecere__com__eClass_AddClassProperty(regClass, name, line, (void *)(uintptr_t)setStmt, (void *)(uintptr_t)getStmt);
}
}
else if(!strcmp(line, "[Set]"))
void __ecereRegisterModule_loadSymbols(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetGlobalData", "void SetGlobalData(ecere::com::NameSpace * nameSpace)", SetGlobalData, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetInIDE", "void SetInIDE(bool b)", SetInIDE, module, 1);
#endif
#include <stdint.h>
#include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_output(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetMemoryGuard", "void SetMemoryGuard(bool b)", SetMemoryGuard, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetMemoryGuard", "bool GetMemoryGuard(void)", GetMemoryGuard, module, 1);
#define structSize_Instance (_64BIT ? 24 : 12)
#define structSize_Module (_64BIT ? 560 : 300)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
extern struct External * curExternal;
-extern int strncmp(const char * , const char * , size_t n);
-
-void MangleClassName(char * className)
-{
-char output[1024];
-int c, d = 0;
-char ch;
-
-c = 0;
-if(!strncmp(className, "const ", 6))
-c += 6;
-for(; (ch = className[c]); c++)
-{
-if(ch == ' ')
-output[d++] = '_';
-else if(ch == '*')
-{
-output[d++] = '_';
-output[d++] = 'P';
-output[d++] = 'T';
-output[d++] = 'R';
-output[d++] = '_';
-}
-else if(ch == '<')
-{
-if(!strncmp(className + c + 1, "const ", 6))
-c += 6;
-output[d++] = '_';
-output[d++] = 'T';
-output[d++] = 'P';
-output[d++] = 'L';
-output[d++] = '_';
-}
-else if(ch == '=')
-{
-output[d++] = '_';
-output[d++] = 'E';
-output[d++] = 'Q';
-output[d++] = 'U';
-output[d++] = '_';
-}
-else if(ch == '>')
-{
-output[d++] = '_';
-}
-else if(ch == ',')
-{
-if(!strncmp(className + c + 1, "const ", 6))
-c += 6;
-output[d++] = '_';
-}
-else
-output[d++] = ch;
-}
-output[d] = (char)0;
-}
-
extern char * strcat(char * , const char * );
extern size_t strlen(const char * );
+extern int strncmp(const char * , const char * , size_t n);
+
void FullClassNameCat(char * output, const char * className, unsigned int includeTemplateParams)
{
int c;
break;
case 11:
{
-struct Type * type = exp->expType;
-
CheckPublicTypeName(exp->__anon1.cast.typeName, access);
if(exp->__anon1.cast.exp)
CheckPublicExpression(exp->__anon1.cast.exp, access);
char destructorName[1024];
struct __ecereNameSpace__ecere__com__Class * regClass;
struct ClassFunction * destructor = (((void *)0)), * constructor = (((void *)0));
-unsigned int redefinition = 0x0;
unsigned int isUnion = classType == 6;
struct External * external = (((void *)0));
struct ClassDef * def;
}
for(def = definitions->first; def; def = def->next)
{
+yylloc = def->loc;
if(def->type == 2)
{
struct Declaration * decl = def->__anon1.decl;
+yylloc = decl->loc;
if(decl->type == 0)
{
if(inCompiler && classType != 2)
strcpy(className, "__ecereClass_");
FullClassNameCat(className, symbol->string, 0x1);
-MangleClassName(className);
symbol->className = __ecereNameSpace__ecere__sys__CopyString(className);
if(!strstr(sourceFile, ".main.ec"))
ListAdd(specs, MkSpecifier(STATIC));
FullClassNameCat(name, symbol->string, 0x0);
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->__anon1._class && propertyDef->symbol->type->__anon1._class->__anon1.registered && propertyDef->symbol->type->__anon1._class->__anon1.registered->type == 1)
{
FullClassNameCat(name, symbol->string, 0x0);
strcat(name, "_Set_");
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->__anon1.isDBProp)
FullClassNameCat(name, symbol->string, 0x0);
strcat(name, "_IsSet_");
FullClassNameCat(name, propertyDef->id->string, 0x1);
-MangleClassName(name);
params = MkList();
decl = MkDeclaratorFunction(MkDeclaratorIdentifier(MkIdentifier(name)), params);
ListAdd(specifiers, MkSpecifierName("bool"));
FullClassNameCat(name, symbol->string, 0x0);
strcat(name, "_");
FullClassNameCat(name, propertyDef->id->string, 0x1);
-MangleClassName(name);
{
struct __ecereNameSpace__ecere__sys__OldList * list = MkList();
FullClassNameCat(name, symbol->string, 0x0);
strcat(name, "_");
FullClassNameCat(name, propertyDef->id->string, 0x1);
-MangleClassName(name);
ListAdd(list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(name)), (((void *)0))));
decl = MkDeclaration(specifiers, list);
}
FullClassNameCat(name, symbol->string, 0x0);
strcat(name, "_Get_");
strcat(name, propertyDef->id->string);
-MangleClassName(name);
params = MkList();
declId = MkDeclaratorIdentifier(MkIdentifier(name));
{
FullClassNameCat(name, symbol->string, 0x0);
strcat(name, "_Set_");
strcat(name, propertyDef->id->string);
-MangleClassName(name);
params = MkList();
prevCurContext = curContext;
curContext = body->__anon1.compound.context;
void __ecereRegisterModule_pass0(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MangleClassName", "void MangleClassName(char * className)", MangleClassName, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FullClassNameCat", "void FullClassNameCat(char * output, const char * className, bool includeTemplateParams)", FullClassNameCat, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("PreProcessClassDefinitions", "void PreProcessClassDefinitions(void)", PreProcessClassDefinitions, module, 1);
}
#define arch_PointerSize sizeof(void *)
#define structSize_Instance (_64BIT ? 24 : 12)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
extern struct Identifier * MkIdentifier(const char * string);
+extern struct Specifier * MkSpecifierExtended(struct ExtDecl * extDecl);
+
+extern struct ExtDecl * MkExtDeclAttrib(struct Attrib * attr);
+
+extern struct Attrib * MkAttrib(int type, struct __ecereNameSpace__ecere__sys__OldList * attribs);
+
+extern struct Attribute * MkAttribute(char * attr, struct Expression * exp);
+
+extern char * __ecereNameSpace__ecere__sys__CopyString(const char * string);
+
extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
extern char * __ecereNameSpace__ecere__sys__GetLastDirectory(const char * string, char * output);
__ecereInstance1->parent = globalContext, __ecereInstance1;
});
-ListAdd(registerModuleBody->__anon1.compound.declarations, MkDeclaration(MkListOne(MkSpecifierName("ecere::com::Class")), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("class")), (((void *)0))))));
+ListAdd(registerModuleBody->__anon1.compound.declarations, MkDeclaration((specifiers = MkListOne(MkSpecifierName("ecere::com::Class"))), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("class")), (((void *)0))))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*specifiers), MkSpecifierExtended(MkExtDeclAttrib(MkAttrib(ATTRIB, MkListOne(MkAttribute(__ecereNameSpace__ecere__sys__CopyString("unused"), (((void *)0))))))));
specifiers = MkList();
ListAdd(specifiers, MkSpecifier(VOID));
moduleParam = MkTypeName(MkListOne(MkSpecifierName("Module")), MkDeclaratorIdentifier(MkIdentifier("module")));
extern char * strcat(char * , const char * );
-extern void MangleClassName(char * className);
-
extern struct Statement * MkExpressionStmt(struct __ecereNameSpace__ecere__sys__OldList * expressions);
extern struct Expression * MkExpOp(struct Expression * exp1, int op, struct Expression * exp2);
FullClassNameCat(name, regClass->fullName, 0x0);
strcat(name, "_Set_");
FullClassNameCat(name, prop->name, 0x1);
-MangleClassName(name);
ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
}
else
FullClassNameCat(name, regClass->fullName, 0x0);
strcat(name, "_Get_");
FullClassNameCat(name, prop->name, 0x1);
-MangleClassName(name);
ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
}
else
FullClassNameCat(name, regClass->fullName, 0x0);
strcat(name, "_");
FullClassNameCat(name, prop->name, 0x1);
-MangleClassName(name);
stmt = MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier(name)), '=', MkExpCall(MkExpIdentifier(MkIdentifier("eClass_AddProperty")), args))));
ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
}
FullClassNameCat(name, regClass->fullName, 0x0);
strcat(name, "_Set_");
FullClassNameCat(name, prop->name, 0x1);
-MangleClassName(name);
ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
}
else
FullClassNameCat(name, regClass->fullName, 0x0);
strcat(name, "_Get_");
FullClassNameCat(name, prop->name, 0x1);
-MangleClassName(name);
ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
}
else
FullClassNameCat(name, regClass->fullName, 0x0);
strcat(name, "_");
FullClassNameCat(name, prop->name, 0x1);
-MangleClassName(name);
strcpy(nameM, "__ecerePropM_");
FullClassNameCat(nameM, regClass->fullName, 0x0);
strcat(nameM, "_");
FullClassNameCat(nameM, prop->name, 0x1);
-MangleClassName(nameM);
if(prop->dataTypeString)
{
stmt = MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier(nameM)), '=', MkExpCall(MkExpIdentifier(MkIdentifier("eClass_AddProperty")), args))));
FullClassNameCat(name, regClass->fullName, 0x1);
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->__anon1.compound.statements, stmt);
}
FullClassNameCat(name, regClass->fullName, 0x1);
strcat(name, "_");
FullClassNameCat(name, prop->name, 0x0);
-MangleClassName(name);
strcpy(nameM, "__ecerePropM_");
FullClassNameCat(nameM, regClass->fullName, 0x1);
strcat(nameM, "_");
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->__anon1.compound.statements, stmt);
FullClassNameCat(name, regClass->fullName, 0x1);
strcat(name, "_Set_");
strcat(name, classProperty->name);
-MangleClassName(name);
ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
}
else
FullClassNameCat(name, regClass->fullName, 0x1);
strcat(name, "_Get_");
strcat(name, classProperty->name);
-MangleClassName(name);
ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
}
else
void __ecereRegisterModule_pass1(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetBuildingEcereCom", "void SetBuildingEcereCom(bool b)", SetBuildingEcereCom, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetBuildingEcereCom", "bool GetBuildingEcereCom(void)", GetBuildingEcereCom, module, 1);
#define structSize_Module (_64BIT ? 560 : 300)
#define structSize_NamedLink (_64BIT ? 32 : 16)
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators);
-extern void MangleClassName(char * className);
-
extern void DeclareClass(struct Symbol * classSym, const char * className);
void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Move(struct __ecereNameSpace__ecere__sys__OldList * this, void * item, void * prevItem);
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
DeclareClass(classSym, className);
external->symbol = classSym;
classSym->__anon2.__anon1.pointerExternal = external;
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
classSym->__anon2.__anon1.structExternal = external;
DeclareClass(classSym, className);
external->symbol = classSym;
FullClassNameCat(setName, prop->_class->fullName, 0x0);
strcat(setName, "_Set_");
FullClassNameCat(setName, prop->name, 0x1);
-MangleClassName(setName);
strcpy(getName, "__ecereProp_");
FullClassNameCat(getName, prop->_class->fullName, 0x0);
strcat(getName, "_Get_");
FullClassNameCat(getName, prop->name, 0x1);
-MangleClassName(getName);
if(prop->_class->type == 1)
DeclareStruct(prop->_class->fullName, 0x0);
if(!symbol || curExternal->symbol->idCode < symbol->id)
FullClassNameCat(propName, prop->_class->fullName, 0x0);
strcat(propName, "_");
FullClassNameCat(propName, prop->name, 0x1);
-MangleClassName(propName);
{
struct __ecereNameSpace__ecere__sys__OldList * list = MkList();
FullClassNameCat(propName, prop->_class->fullName, 0x0);
strcat(propName, "_");
FullClassNameCat(propName, prop->name, 0x1);
-MangleClassName(propName);
ListAdd(list, MkInitDeclarator(MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), MkDeclaratorIdentifier(MkIdentifier(propName))), (((void *)0))));
}
decl = MkDeclaration(specifiers, list);
{
struct __ecereNameSpace__ecere__com__Class * expClass = type->__anon1._class->__anon1.registered;
struct __ecereNameSpace__ecere__com__Class * cClass = (((void *)0));
-int c;
int paramCount = 0;
int lastParam = -1;
char templateString[1024];
if(!symbol || (!symbol->__anon2.__anon1.pointerExternal && method->type == 1) || symbol->id > (curExternal ? curExternal->symbol->idCode : -1))
{
-unsigned int imported = 0x0;
unsigned int dllImport = 0x0;
if(!method->dataType)
}
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 + structSize_Instance)))->importType != 1)
dllImport = 0x1;
}
unsigned int found = 0x0;
struct __ecereNameSpace__ecere__com__Property * prop = (((void *)0));
struct __ecereNameSpace__ecere__com__DataMember * dataMember = (((void *)0));
-struct __ecereNameSpace__ecere__com__Method * method = (((void *)0));
unsigned int dataMemberOffset;
if(!ident)
{
unsigned short v;
-type->isSigned ? GetShort(value, &v) : GetUShort(value, &v);
+type->isSigned ? GetShort(value, (short *)&v) : GetUShort(value, &v);
part = (uint64)v;
break;
}
{
unsigned int v;
-type->isSigned ? GetInt(value, &v) : GetUInt(value, &v);
+type->isSigned ? GetInt(value, (int *)&v) : GetUInt(value, &v);
part = (uint64)v;
break;
}
{
uint64 v;
-type->isSigned ? GetInt64(value, &v) : GetUInt64(value, &v);
+type->isSigned ? GetInt64(value, (long long *)&v) : GetUInt64(value, &v);
part = v;
break;
}
{
uintptr_t v;
-type->isSigned ? GetIntPtr(value, &v) : GetUIntPtr(value, &v);
+type->isSigned ? GetIntPtr(value, (intptr_t *)&v) : GetUIntPtr(value, &v);
part = (uint64)v;
break;
}
{
size_t v;
-type->isSigned ? GetIntSize(value, &v) : GetUIntSize(value, &v);
+type->isSigned ? GetIntSize(value, (ssize_t *)&v) : GetUIntSize(value, &v);
part = (uint64)v;
break;
}
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->__anon1.i64) : GetOpUIntPtr(op, &op->__anon1.i64);
+result = isSigned ? GetOpIntPtr(op, &op->__anon1.i64) : GetOpUIntPtr(op, &op->__anon1.ui64);
break;
case 23:
if(op->kind == 1 || op->kind == 2 || op->kind == 3 || op->kind == 5 || op->kind == 15 || op->kind == 24)
-result = isSigned ? GetOpIntSize(op, &op->__anon1.ui64) : GetOpUIntSize(op, &op->__anon1.ui64);
+result = isSigned ? GetOpIntSize(op, &op->__anon1.i64) : GetOpUIntSize(op, &op->__anon1.ui64);
break;
}
return result;
}
else if(_class->type == 1)
{
-char * value = (exp->__anon1.member.exp->type == 1) ? exp->__anon1.member.exp->__anon1.instance->data : (((void *)0));
+unsigned char * value = (exp->__anon1.member.exp->type == 1) ? exp->__anon1.member.exp->__anon1.instance->data : (((void *)0));
switch(type->kind)
{
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
DeclareClass(classSym, className);
FreeExpContents(exp);
exp->type = 9;
else if(exp->expType && exp->expType->passAsTemplate && exp->destType && ((unsigned int)((exp->usage & 0x1) >> 0)) && exp->destType->kind != 20 && !exp->destType->passAsTemplate)
{
struct Expression * newExp = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
-struct Statement * compound;
struct Context * context;
*newExp = *exp;
{
if(type->kind == 12 || type->kind == 13 || type->kind == 11 || type->kind == 16)
{
-struct Type * attrType = (((void *)0));
-
if((type->kind == 11 || type->kind == 16) && (!parentType || parentType->kind != 13))
PrintAttribs(type, string);
if(printConst && type->constant && (type->kind == 11 || type->kind == 16))
extern const char * sourceFile;
+unsigned int __ecereProp_Type_Get_specConst(struct Type * this);
+
+extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp_Type_specConst;
+
void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(struct __ecereNameSpace__ecere__sys__OldList * this);
void ProcessExpressionType(struct Expression * exp)
}
case 1:
{
-struct __ecereNameSpace__ecere__com__Class * _class;
-
if(!exp->__anon1.instance->_class)
{
if(exp->destType && exp->destType->kind == 8 && exp->destType->__anon1._class)
if(exp->__anon1.call.arguments)
{
for(e = (*exp->__anon1.call.arguments).first; e; e = e->next)
-{
-struct Type * destType = e->destType;
-
ProcessExpressionType(e);
}
-}
break;
}
case 8:
if(colon)
{
-char className[1024];
-struct __ecereNameSpace__ecere__com__Class * sClass;
-
memcpy(thisClassTypeString, param->defaultArg.__anon1.__anon2.memberString, colon - param->defaultArg.__anon1.__anon2.memberString);
thisClassTypeString[colon - param->defaultArg.__anon1.__anon2.memberString] = '\0';
}
{
struct __ecereNameSpace__ecere__com__Class * expClass = exp->expType->__anon1._class->__anon1.registered;
struct __ecereNameSpace__ecere__com__Class * cClass = (((void *)0));
-int c;
int paramCount = 0;
int lastParam = -1;
char templateString[1024];
if(expClass)
{
struct __ecereNameSpace__ecere__com__Class * cClass = (((void *)0));
-int c;
int p = 0;
int paramCount = 0;
int lastParam = -1;
for(param = cClass->templateParams.first; param; param = param->next)
{
struct __ecereNameSpace__ecere__com__Class * cClassCur = (((void *)0));
-int c;
int cp = 0;
struct __ecereNameSpace__ecere__com__ClassTemplateParameter * paramCur = (((void *)0));
struct __ecereNameSpace__ecere__com__ClassTemplateArgument arg;
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
DeclareClass(classSym, className);
FreeExpContents(exp);
exp->type = 9;
struct Expression * e;
type = ProcessTypeString(typeString, 0x0);
-while(e = (*exp->__anon1.list).first)
+while((e = (*exp->__anon1.list).first))
{
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*exp->__anon1.list), e);
e->destType = type;
{
if(spec->__anon1.__anon2.definitions)
{
-struct ClassDef * def;
struct Symbol * symbol = spec->__anon1.__anon2.id ? FindClass(spec->__anon1.__anon2.id->string) : (((void *)0));
ProcessClass(spec->__anon1.__anon2.definitions, symbol);
FullClassNameCat(propName, prop->_class->fullName, 0x0);
strcat(propName, "_");
FullClassNameCat(propName, prop->name, 0x1);
-MangleClassName(propName);
strcpy(propNameM, "__ecerePropM_");
FullClassNameCat(propNameM, prop->_class->fullName, 0x0);
strcat(propNameM, "_");
FullClassNameCat(propNameM, prop->name, 0x1);
-MangleClassName(propNameM);
if(prop->isWatchable)
{
args = MkList();
builtinCount = (*arrayExp->__anon1.list).count;
type = ProcessTypeString(typeString, 0x0);
-while(e = (*arrayExp->__anon1.list).first)
+while((e = (*arrayExp->__anon1.list).first))
{
__ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*arrayExp->__anon1.list), e);
e->destType = type;
FullClassNameCat(propName, prop->_class->fullName, 0x0);
strcat(propName, "_");
FullClassNameCat(propName, prop->name, 0x1);
-MangleClassName(propName);
ListAdd(args, CopyExpression(object));
ListAdd(args, MkExpIdentifier(MkIdentifier(propName)));
ListAdd(args, watcher ? CopyExpression(watcher) : MkExpIdentifier(MkIdentifier("this")));
}
strcpy(className, "__ecereClass_");
FullClassNameCat(className, _class->fullName, 0x1);
-MangleClassName(className);
structName[0] = (char)0;
FullClassNameCat(structName, _class->fullName, 0x0);
funcDecl = GetFuncDecl(function->declarator);
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
DeclareClass(classSym, className);
}
bytePtr = QBrackets(MkExpCast(QMkType("char", QMkPtrDecl((((void *)0)))), QMkExpId("this")));
}
}
}
+{
+struct External * e = MkExternalDeclaration(MkDeclaration(MkListOne(MkStructOrUnion(3, MkIdentifier("__ecereNameSpace__ecere__com__Instance"), (((void *)0)))), (((void *)0))));
+
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), after, e);
+after = e;
+}
temp->symbol = __extension__ ({
struct Symbol * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol);
void __ecereRegisterModule_pass15(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetYydebug", "void SetYydebug(bool b)", SetYydebug, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetThisClass", "void SetThisClass(ecere::com::Class c)", SetThisClass, module, 1);
#endif
#include <stdint.h>
#include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
extern void FullClassNameCat(char * output, const char * className, unsigned int includeTemplateParams);
-extern void MangleClassName(char * className);
-
static struct Declaration * curDecl;
static int declTempCount;
}
else
FullClassNameCat(className, inst->_class->__anon1.__anon1.name, 0x1);
-MangleClassName(className);
DeclareClass(classSym, className);
newCall = MkExpCall(QMkExpId("ecere::com::eInstance_New"), MkListOne(QMkExpId(className)));
newCall->usage = exp->usage;
}
else
FullClassNameCat(className, inst->_class->__anon1.__anon1.name, 0x1);
-MangleClassName(className);
if(classSym)
DeclareClass(classSym, className);
if(classSym && classSym->__anon1.registered && classSym->__anon1.registered->type == 5 && (classSym->__anon1.registered->templateClass ? classSym->__anon1.registered->templateClass->fixed : classSym->__anon1.registered->fixed))
void __ecereRegisterModule_pass16(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareClass", "void DeclareClass(Symbol classSym, const char * className)", DeclareClass, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessExpressionInstPass", "void ProcessExpressionInstPass(Expression exp)", ProcessExpressionInstPass, module, 2);
#endif
#include <stdint.h>
#include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
extern struct Specifier * MkSpecifierName(const char * name);
-extern void MangleClassName(char * className);
-
extern struct Symbol * FindClass(const char * name);
extern void DeclareClass(struct Symbol * classSym, const char * className);
strcpy(className, "__ecereClass_");
FullClassNameCat(className, _class->fullName, 0x1);
-MangleClassName(className);
if(!_class->symbol)
_class->symbol = FindClass(_class->fullName);
DeclareClass(_class->symbol, className);
_class = _class->templateClass;
strcpy(className, "__ecereClass_");
FullClassNameCat(className, _class->fullName, 0x0);
-MangleClassName(className);
if(!_class->symbol)
_class->symbol = FindClass(_class->fullName);
DeclareClass(_class->symbol, className);
struct Expression * next = exp->next, * prev = exp->prev;
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->__anon1.op.exp2 = (((void *)0));
FreeExpression(derefExp);
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->__anon1.call.exp->expType->__anon1.__anon3.methodClass && !_class && type && type->classObjectType)
strcpy(className, "class");
cl = cl->templateClass;
strcpy(className, "__ecereClass_");
FullClassNameCat(className, cl->fullName, 0x1);
-MangleClassName(className);
if(!cl->symbol)
cl->symbol = FindClass(cl->fullName);
DeclareClass(cl->symbol, className);
{
strcpy(className, "__ecereClass_");
FullClassNameCat(className, cl->fullName, 0x1);
-MangleClassName(className);
if(!cl->symbol)
cl->symbol = FindClass(cl->fullName);
DeclareClass(cl->symbol, className);
{
strcpy(className, "__ecereClass_");
FullClassNameCat(className, _class->fullName, 0x1);
-MangleClassName(className);
if(!_class->symbol)
_class->symbol = FindClass(_class->fullName);
DeclareClass(_class->symbol, className);
strcpy(className, "__ecereClass_");
FullClassNameCat(className, _class->fullName, 0x1);
-MangleClassName(className);
if(!_class->symbol)
_class->symbol = FindClass(_class->fullName);
DeclareClass(_class->symbol, className);
else
{
struct Expression * bytePtr, * e;
-struct Expression * classExp;
struct Expression * checkedExp;
char structName[1024];
char className[1024];
strcpy(className, "__ecereClass_");
FullClassNameCat(className, member->_class->fullName, 0x1);
-MangleClassName(className);
if(!member->_class->symbol)
member->_class->symbol = FindClass(member->_class->fullName);
DeclareClass(member->_class->symbol, className);
strcpy(className, "__ecereClass_");
FullClassNameCat(className, string, 0x1);
-MangleClassName(className);
DeclareClass(classSym, className);
(__ecereNameSpace__ecere__com__eSystem_Delete(string), string = 0);
FreeList(exp->__anon1._classExp.specifiers, FreeSpecifier);
void __ecereRegisterModule_pass2(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetNonBracketsExp", "Expression GetNonBracketsExp(Expression exp)", GetNonBracketsExp, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessMemberAccess", "void ProcessMemberAccess(void)", ProcessMemberAccess, module, 1);
#endif
#include <stdint.h>
#include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
void __ecereRegisterModule_pass3(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("InstDeclPassTypeName", "void InstDeclPassTypeName(TypeName type, bool param)", InstDeclPassTypeName, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessInstanceDeclarations", "void ProcessInstanceDeclarations(void)", ProcessInstanceDeclarations, module, 1);
#endif
#include <stdint.h>
#include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
extern struct Declarator * CopyDeclarator(struct Declarator * declarator);
-extern int printf(const char * , ...);
-
extern void FreeDeclarator(struct Declarator * decl);
struct Declarator * PlugDeclarator(struct Declarator * decl, struct Declarator * baseDecl)
{
for(; base->declarator && base->declarator->type != 1; base = base->declarator)
{
-printf("");
}
}
if(baseDecl)
void __ecereRegisterModule_shortcuts(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetParsingType", "void SetParsingType(bool b)", SetParsingType, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("PlugDeclarator", "Declarator PlugDeclarator(Declarator decl, Declarator baseDecl)", PlugDeclarator, module, 2);
#endif
#include <stdint.h>
#include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
int snprintf(char * str, size_t, const char * format, ...);
void __ecereRegisterModule_type(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
}
void FreeDataDefine(DataDefine data)
{
delete data.name;
- delete data.type;
+ delete data.dataType;
}
void FreeDefinition(Definition definition)
static Context globalContext { };
static OldList defines, imports, precompDefines;
static Module privateModule;
-static OldList _excludedSymbols { offset = (uint)&((Symbol)0).left };
+static OldList _excludedSymbols { offset = (uint)(uintptr)&((Symbol)0).left };
static NameSpace globalData
{
classes.CompareKey = (void *)BinaryTree::CompareString;
{
DataMember member;
Property prop;
- Method method;
if((prop = eClass_FindProperty(regClass, def.id.string, privateModule)))
{
PropertyDefine propDefine;
}
if(param.type == identifier)
{
- eClass_AddTemplateParameter(regClass, param.identifier.string, param.type, (void *)param.memberType, defaultArg);
+ eClass_AddTemplateParameter(regClass, param.identifier.string, param.type, (void *)(uintptr)param.memberType, defaultArg);
}
else
{
}
else if(definition.type == defineDefinition)
{
- DefinedExpression defExp = eSystem_FindDefine(privateModule, definition.name);
Define defineDefine = (Define) definition;
f.Printf(" %s\n", definition.name);
f.Printf(" [Value]\n");
static OldList _defines { };
static OldList _imports { };
-static OldList _excludedSymbols { offset = (uint)&((Symbol)0).left };
+static OldList _excludedSymbols { offset = (uint)(uintptr)&((Symbol)0).left };
static NameSpace globalData
{
classes.CompareKey = (void *)BinaryTree::CompareString;
{
ModuleImport module;
ModuleInfo defModule;
- bool nonInst = false, anyMethod = false, anyProp = false, anyFunction = false;
+ bool /*nonInst = false, */anyMethod = false, anyProp = false, anyFunction = false;
ImportedModule importedModule;
GetLastDirectory(fileName, mainModuleName);
Class regClass = eSystem_FindClass(privateModule, _class.name);
FullClassNameCat(className, _class.name, true);
- MangleClassName(className);
+ //MangleClassName(className);
if(_class.itself)
f.Printf("Class __ecereClass_%s;\n", className);
- else
- nonInst = true;
+ /*else
+ nonInst = true;*/
//if(!_class.isRemote)
{
//if(strcmp(_class.name, "SerialBuffer"))
propName[0] = 0;
FullClassNameCat(propName, prop.name, true);
// strcpy(propName, prop.name);
- MangleClassName(propName);
+ //MangleClassName(propName);
if((!strcmp(_class.name, "float") || !strcmp(_class.name, "double") || module.name) && module.importType != staticImport)
{
char classID[1024];
char className[1024] = "";
FullClassNameCat(className, _class.name, true);
- MangleClassName(className);
+ //MangleClassName(className);
if(_class.itself)
sprintf(classID, "__ecereClass_%s", className);
propName[0] = 0;
FullClassNameCat(propName, prop.name, true);
// strcpy(propName, prop.name);
- MangleClassName(propName);
+ //MangleClassName(propName);
f.Printf(" __ecereProp_%s_%s = _property = eClass_FindProperty(%s, \"%s\", module);\n",
className, propName, classID, prop.name);
}
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
DeclareClass(classSym, className);
PrintType(method.dataType.returnType, type, true, true);
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
DeclareClass(classSym, className);
PrintType(param, type, true, true);
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
DeclareClass(classSym, className);
PrintType(method.dataType.returnType, type, true, true);
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
DeclareClass(classSym, className);
if(param.kind == classType && !strcmp(param._class.string, "String"))
}
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
DeclareClass(classSym, className);
PrintType(method.dataType.returnType, type, true, true);
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
DeclareClass(classSym, className);
PrintType(param, type, true, true);
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
DeclareClass(classSym, className);
PrintType(method.dataType.returnType, type, true, true);
}
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
DeclareClass(classSym, className);
if(param.kind == classType && !strcmp(param._class.string, "String"))
//if(!strcmp(ext, "c"))
{
- const String symbolsDir = GetSymbolsDir();
+ //const String symbolsDir = GetSymbolsDir();
// Only generating .pot files when building from release.* directory for now
//bool outputPot = symbolsDir && SearchString(symbolsDir, 0, "release.", false, false);
Map<ContextStringPair, List<String> > intlStrings { };
size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
int snprintf(char * str, size_t, const char * format, ...);
void __ecereRegisterModule_expression(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
}
size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
int snprintf(char * str, size_t, const char * format, ...);
break;
case 236:
{
-yyvsp[(1) - (2)].context;
+(void)yyvsp[(1) - (2)].context;
yyval.symbol = DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(2) - (2)].id->string);
FreeIdentifier(yyvsp[(2) - (2)].id);
yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
break;
case 237:
{
-yyvsp[(1) - (2)].context;
+(void)yyvsp[(1) - (2)].context;
yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
FreeSpecifier(yyvsp[(2) - (2)].specifier);
break;
case 238:
{
-yyvsp[(2) - (3)].context;
+(void)yyvsp[(2) - (3)].context;
yyval.symbol = DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(3) - (3)].id->string);
FreeIdentifier(yyvsp[(1) - (3)].id);
FreeIdentifier(yyvsp[(3) - (3)].id);
break;
case 239:
{
-yyvsp[(2) - (3)].context;
+(void)yyvsp[(2) - (3)].context;
yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
FreeIdentifier(yyvsp[(1) - (3)].id);
yyval.symbol->nameLoc = (yylsp[(3) - (3)]);
break;
case 240:
{
-yyvsp[(1) - (5)].context;
+(void)yyvsp[(1) - (5)].context;
yyval.symbol = DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(2) - (5)].id->string);
yyval.symbol->templateParams = yyvsp[(4) - (5)].list;
FreeIdentifier(yyvsp[(2) - (5)].id);
break;
case 241:
{
-yyvsp[(1) - (5)].context;
+(void)yyvsp[(1) - (5)].context;
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)]);
break;
case 242:
{
-yyvsp[(2) - (6)].context;
+(void)yyvsp[(2) - (6)].context;
yyval.symbol = DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(3) - (6)].id->string);
yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
FreeIdentifier(yyvsp[(1) - (6)].id);
break;
case 243:
{
-yyvsp[(2) - (6)].context;
+(void)yyvsp[(2) - (6)].context;
yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
FreeIdentifier(yyvsp[(1) - (6)].id);
break;
case 248:
{
-yyvsp[(1) - (3)].context;
+(void)yyvsp[(1) - (3)].context;
yyval._class = MkClass(DeclClassAddNameSpace(0, yyvsp[(2) - (3)].id->string), (((void *)0)), (((void *)0)));
FreeIdentifier(yyvsp[(2) - (3)].id);
if(defaultMemberAccess > -1)
break;
case 249:
{
-yyvsp[(1) - (3)].context;
+(void)yyvsp[(1) - (3)].context;
yyval._class = MkClass(DeclClass(0, yyvsp[(2) - (3)].specifier->__anon1.__anon1.name), (((void *)0)), (((void *)0)));
FreeSpecifier(yyvsp[(2) - (3)].specifier);
if(defaultMemberAccess > -1)
void __ecereRegisterModule_grammar(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
}
size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
int snprintf(char * str, size_t, const char * format, ...);
void __ecereRegisterModule_type(struct __ecereNameSpace__ecere__com__Instance * module)
{
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
}
External MkExternalDeclaration(Declaration declaration)
{
External external { type = declarationExternal, declaration = declaration, symbol = declaration ? declaration.symbol : null };
- InitDeclarator d = (declaration && declaration.declarators) ? declaration.declarators->last : null;
if(declaration && declaration.type == initDeclaration && declaration.specifiers)
{
Specifier spec;
public Symbol FindClass(const char * name)
{
-#ifdef _DEBUG
+#ifdef _TIMINGS
Time startTime = GetTime();
#endif
Symbol cl = null;
ExtDecl extDecl = spec.extDecl;
if(extDecl.type == extDeclString)
{
- String s = spec.extDecl.s;
if(!strcmp(spec.extDecl.s, "__declspec(dllexport)") || !strcmp(spec.extDecl.s, "dllexport"))
specType.dllExport = true;
else if(!strcmp(spec.extDecl.s, "__declspec(stdcall)") || !strcmp(spec.extDecl.s, "stdcall"))
if(spec.list)
{
Enumerator e;
- int nextValue = 0;
for(e = spec.list->first; e; e = e.next)
{
NamedLink i { name = CopyString(e.id.string) };
{
char idString[32];
char className[1024];
- Expression classExp;
sprintf(idString, "%d", id);
strcpy(className, "__ecereClass_");
FullClassNameCat(className, _class.fullName, true);
- MangleClassName(className);
+ //MangleClassName(className);
DeclareClass(FindClass(_class.fullName), className);
argExp = MkExpIndex((/*pointer ? MkExpPointer : */MkExpMember)
filePrefix = "./"; //(GetRuntimePlatform() == win32) ? ".\\" : "./";
// GetSystemPathBuffer(srcFileFixed, srcFile);
GetSlashPathBuffer(srcFileFixed, srcFile);
+
for(s : intlStrings)
{
// TOFIX: (#654) ContextStringPair * pair = &s;
if(propertyDef.isWatchable)
eProperty_Watchable(prop);
}
- else
- // TODO: What happens here?
- printf("");
-
+ // TODO: else: What happens here?
// Testing this... wasn't found anywhere, seems to be useful
// (Determining if it's a conversion property in ProcessClassFunction)
else if(def.type == classPropertyClassDef && def.propertyDef)
{
PropertyDef propertyDef = def.propertyDef;
- ClassProperty prop;
+ //ClassProperty prop;
// Register the property in the list
// MOVED THIS UP HERE BEFORE NEXT BLOCK BECAUSE WE NULL OUT SPECIFIERS/DECLARATORS... OK?
char * dataTypeString = StringFromSpecDecl(propertyDef.specifiers, propertyDef.declarator);
- prop = eClass_AddClassProperty(regClass, propertyDef.id.string, dataTypeString,
+ /*prop = */eClass_AddClassProperty(regClass, propertyDef.id.string, dataTypeString,
inCompiler ? propertyDef.setStmt : null, inCompiler ? propertyDef.getStmt : null);
delete dataTypeString;
}
if(param.type == identifier)
{
- eClass_AddTemplateParameter(regClass, param.identifier.string, identifier, (void *)param.memberType, defaultArg);
+ eClass_AddTemplateParameter(regClass, param.identifier.string, identifier, (void *)(uintptr)param.memberType, defaultArg);
}
else
{
if(stmt._watch.object)
FreeExpression(stmt._watch.object);
if(stmt._watch.watches)
- FreeList(stmt._watch.watches, (stmt.type == watchStmt) ? FreePropertyWatch : FreeIdentifier);
+ FreeList(stmt._watch.watches, (stmt.type == watchStmt) ? (void *)FreePropertyWatch : (void *)FreeIdentifier);
break;
}
}
/* Line 1464 of yacc.c */
#line 1339 "grammar.y"
- { (yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (2)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
+ { (void)(yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (2)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
break;
case 237:
/* Line 1464 of yacc.c */
#line 1341 "grammar.y"
{
- (yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name);
+ (void)(yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name);
(yyval.symbol).nameLoc = (yylsp[(2) - (2)]);
FreeSpecifier((yyvsp[(2) - (2)].specifier));
++defaultMemberAccess;
/* Line 1464 of yacc.c */
#line 1348 "grammar.y"
- { (yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (3)].id).string); FreeIdentifier((yyvsp[(1) - (3)].id)); FreeIdentifier((yyvsp[(3) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
+ { (void)(yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (3)].id).string); FreeIdentifier((yyvsp[(1) - (3)].id)); FreeIdentifier((yyvsp[(3) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
break;
case 239:
/* Line 1464 of yacc.c */
#line 1349 "grammar.y"
- { (yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(3) - (3)].specifier).name); FreeIdentifier((yyvsp[(1) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (3)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
+ { (void)(yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(3) - (3)].specifier).name); FreeIdentifier((yyvsp[(1) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (3)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
break;
case 240:
/* Line 1464 of yacc.c */
#line 1351 "grammar.y"
- { (yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (5)].id).string); (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list); FreeIdentifier((yyvsp[(2) - (5)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (5)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
+ { (void)(yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (5)].id).string); (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list); FreeIdentifier((yyvsp[(2) - (5)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (5)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
break;
case 241:
/* Line 1464 of yacc.c */
#line 1353 "grammar.y"
{
- (yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (5)].specifier).name);
+ (void)(yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (5)].specifier).name);
(yyval.symbol).templateParams = (yyvsp[(4) - (5)].list);
(yyval.symbol).nameLoc = (yylsp[(2) - (5)]);
FreeSpecifier((yyvsp[(2) - (5)].specifier));
/* Line 1464 of yacc.c */
#line 1361 "grammar.y"
- { (yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (6)].id).string); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); FreeIdentifier((yyvsp[(3) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
+ { (void)(yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (6)].id).string); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); FreeIdentifier((yyvsp[(3) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
break;
case 243:
/* Line 1464 of yacc.c */
#line 1362 "grammar.y"
- { (yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(3) - (6)].specifier).name); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (6)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
+ { (void)(yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(3) - (6)].specifier).name); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (6)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
break;
case 244:
/* Line 1464 of yacc.c */
#line 1394 "grammar.y"
{
- (yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClassAddNameSpace(0, (yyvsp[(2) - (3)].id).string), null, null); FreeIdentifier((yyvsp[(2) - (3)].id));
+ (void)(yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClassAddNameSpace(0, (yyvsp[(2) - (3)].id).string), null, null); FreeIdentifier((yyvsp[(2) - (3)].id));
POP_DEFAULT_ACCESS
PopContext(curContext);
;}
/* Line 1464 of yacc.c */
#line 1400 "grammar.y"
{
- (yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClass(0, (yyvsp[(2) - (3)].specifier).name), null, null); FreeSpecifier((yyvsp[(2) - (3)].specifier));
+ (void)(yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClass(0, (yyvsp[(2) - (3)].specifier).name), null, null); FreeSpecifier((yyvsp[(2) - (3)].specifier));
POP_DEFAULT_ACCESS
PopContext(curContext);
;}
};
class_decl:
- class_entry identifier { $1; $$ = DeclClassAddNameSpace(globalContext.nextID++, $2.string); FreeIdentifier($2); $$.nameLoc = @2; memberAccessStack[++defaultMemberAccess] = privateAccess; }
+ class_entry identifier { (void)$1; $$ = DeclClassAddNameSpace(globalContext.nextID++, $2.string); FreeIdentifier($2); $$.nameLoc = @2; memberAccessStack[++defaultMemberAccess] = privateAccess; }
| class_entry base_strict_type
{
- $1; $$ = DeclClass(globalContext.nextID++, $2.name);
+ (void)$1; $$ = DeclClass(globalContext.nextID++, $2.name);
$$.nameLoc = @2;
FreeSpecifier($2);
++defaultMemberAccess;
memberAccessStack[defaultMemberAccess] = privateAccess;
}
- | identifier class_entry identifier { $2; $$ = DeclClassAddNameSpace(globalContext.nextID++, $3.string); FreeIdentifier($1); FreeIdentifier($3); $$.nameLoc = @3; $$.isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; }
- | identifier class_entry base_strict_type { $2; $$ = DeclClass(globalContext.nextID++, $3.name); FreeIdentifier($1); $$.nameLoc = @3; $$.isRemote = true; FreeSpecifier($3); memberAccessStack[++defaultMemberAccess] = privateAccess; }
+ | identifier class_entry identifier { (void)$2; $$ = DeclClassAddNameSpace(globalContext.nextID++, $3.string); FreeIdentifier($1); FreeIdentifier($3); $$.nameLoc = @3; $$.isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; }
+ | identifier class_entry base_strict_type { (void)$2; $$ = DeclClass(globalContext.nextID++, $3.name); FreeIdentifier($1); $$.nameLoc = @3; $$.isRemote = true; FreeSpecifier($3); memberAccessStack[++defaultMemberAccess] = privateAccess; }
- | class_entry identifier '<' template_parameters_list '>' { $1; $$ = DeclClassAddNameSpace(globalContext.nextID++, $2.string); $$.templateParams = $4; FreeIdentifier($2); $$.nameLoc = @2; memberAccessStack[++defaultMemberAccess] = privateAccess; }
+ | class_entry identifier '<' template_parameters_list '>' { (void)$1; $$ = DeclClassAddNameSpace(globalContext.nextID++, $2.string); $$.templateParams = $4; FreeIdentifier($2); $$.nameLoc = @2; memberAccessStack[++defaultMemberAccess] = privateAccess; }
| class_entry base_strict_type '<' template_parameters_list '>'
{
- $1; $$ = DeclClass(globalContext.nextID++, $2.name);
+ (void)$1; $$ = DeclClass(globalContext.nextID++, $2.name);
$$.templateParams = $4;
$$.nameLoc = @2;
FreeSpecifier($2);
++defaultMemberAccess;
memberAccessStack[defaultMemberAccess] = privateAccess;
}
- | identifier class_entry identifier '<' template_parameters_list '>' { $2; $$ = DeclClassAddNameSpace(globalContext.nextID++, $3.string); $$.templateParams = $5; FreeIdentifier($1); FreeIdentifier($3); $$.nameLoc = @3; $$.isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; }
- | identifier class_entry base_strict_type '<' template_parameters_list '>' { $2; $$ = DeclClass(globalContext.nextID++, $3.name); $$.templateParams = $5; FreeIdentifier($1); $$.nameLoc = @3; $$.isRemote = true; FreeSpecifier($3); memberAccessStack[++defaultMemberAccess] = privateAccess; }
+ | identifier class_entry identifier '<' template_parameters_list '>' { (void)$2; $$ = DeclClassAddNameSpace(globalContext.nextID++, $3.string); $$.templateParams = $5; FreeIdentifier($1); FreeIdentifier($3); $$.nameLoc = @3; $$.isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; }
+ | identifier class_entry base_strict_type '<' template_parameters_list '>' { (void)$2; $$ = DeclClass(globalContext.nextID++, $3.name); $$.templateParams = $5; FreeIdentifier($1); $$.nameLoc = @3; $$.isRemote = true; FreeSpecifier($3); memberAccessStack[++defaultMemberAccess] = privateAccess; }
;
class:
| class_entry identifier ';'
{
- $1; $$ = MkClass(DeclClassAddNameSpace(0, $2.string), null, null); FreeIdentifier($2);
+ (void)$1; $$ = MkClass(DeclClassAddNameSpace(0, $2.string), null, null); FreeIdentifier($2);
POP_DEFAULT_ACCESS
PopContext(curContext);
}
| class_entry type ';'
{
- $1; $$ = MkClass(DeclClass(0, $2.name), null, null); FreeSpecifier($2);
+ (void)$1; $$ = MkClass(DeclClass(0, $2.name), null, null); FreeSpecifier($2);
POP_DEFAULT_ACCESS
PopContext(curContext);
}
char *yytext;
#line 1 "lexer.l"
#define INITIAL 0
-#line 11 "lexer.l"
+#define YY_NO_UNPUT 1
+#line 13 "lexer.l"
import "ecdefs"
#define YYLTYPE Location
#define YY_NEVER_INTERACTIVE 1 // Avoid calling isatty on eC File object
#define uint _uint
default:
-#line 1234 "lexer.ec"
+#line 1235 "lexer.ec"
/* Macros after this point can all be overridden by user definitions in
* section 1.
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 61 "lexer.l"
+#line 63 "lexer.l"
expression_yylloc.start = expression_yylloc.end;
-#line 1394 "lexer.ec"
+#line 1395 "lexer.ec"
if ( yy_init )
{
case 1:
YY_RULE_SETUP
-#line 69 "lexer.l"
+#line 71 "lexer.l"
{ preprocessor(); }
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 70 "lexer.l"
+#line 72 "lexer.l"
{ comment(); }
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 71 "lexer.l"
+#line 73 "lexer.l"
{ commentCPP(); }
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 73 "lexer.l"
+#line 75 "lexer.l"
{ return(AUTO); }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 74 "lexer.l"
+#line 76 "lexer.l"
{ return(BREAK); }
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 75 "lexer.l"
+#line 77 "lexer.l"
{ return(CASE); }
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 76 "lexer.l"
+#line 78 "lexer.l"
{ return(CHAR); }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 77 "lexer.l"
+#line 79 "lexer.l"
{ return(CONST); }
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 78 "lexer.l"
+#line 80 "lexer.l"
{ return(CONTINUE); }
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 79 "lexer.l"
+#line 81 "lexer.l"
{ return(DEFAULT); }
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 80 "lexer.l"
+#line 82 "lexer.l"
{ return(DO); }
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 81 "lexer.l"
+#line 83 "lexer.l"
{ return(DOUBLE); }
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 82 "lexer.l"
+#line 84 "lexer.l"
{ return(ELSE); }
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 83 "lexer.l"
+#line 85 "lexer.l"
{ return(ENUM); }
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 84 "lexer.l"
+#line 86 "lexer.l"
{ return(EXTERN); }
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 85 "lexer.l"
+#line 87 "lexer.l"
{ return(FLOAT); }
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 86 "lexer.l"
+#line 88 "lexer.l"
{ return(FOR); }
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 87 "lexer.l"
+#line 89 "lexer.l"
{ return(GOTO); }
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 88 "lexer.l"
+#line 90 "lexer.l"
{ return(IF); }
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 89 "lexer.l"
+#line 91 "lexer.l"
{ return(INT); }
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 90 "lexer.l"
+#line 92 "lexer.l"
{ return(UINT); }
YY_BREAK
/* "uint16" { return(UINT16); } */
/* "bool" { return(BOOL_TOKEN); } */
case 22:
YY_RULE_SETUP
-#line 94 "lexer.l"
+#line 96 "lexer.l"
{ return(LONG); }
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 95 "lexer.l"
+#line 97 "lexer.l"
{ return(REGISTER); }
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 96 "lexer.l"
+#line 98 "lexer.l"
{ return(RETURN); }
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 97 "lexer.l"
+#line 99 "lexer.l"
{ return(SHORT); }
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 98 "lexer.l"
+#line 100 "lexer.l"
{ return(SIGNED); }
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 99 "lexer.l"
+#line 101 "lexer.l"
{ return(SIGNED); }
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 100 "lexer.l"
+#line 102 "lexer.l"
{ return(SIGNED); }
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 101 "lexer.l"
+#line 103 "lexer.l"
{ return(SIZEOF); }
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 102 "lexer.l"
+#line 104 "lexer.l"
{ return(ALIGNOF); }
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 103 "lexer.l"
+#line 105 "lexer.l"
{ return(STATIC); }
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 104 "lexer.l"
+#line 106 "lexer.l"
{ return(THREAD); }
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 105 "lexer.l"
+#line 107 "lexer.l"
{ return(STRUCT); }
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 106 "lexer.l"
+#line 108 "lexer.l"
{ return(SWITCH); }
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 107 "lexer.l"
+#line 109 "lexer.l"
{ return(TYPEDEF); }
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 108 "lexer.l"
+#line 110 "lexer.l"
{ return(UNION); }
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 109 "lexer.l"
+#line 111 "lexer.l"
{ return(UNSIGNED); }
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 110 "lexer.l"
+#line 112 "lexer.l"
{ return(VOID); }
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 111 "lexer.l"
+#line 113 "lexer.l"
{ return(VOLATILE); }
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 112 "lexer.l"
+#line 114 "lexer.l"
{ return(VOLATILE); }
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 113 "lexer.l"
+#line 115 "lexer.l"
{ return(VOLATILE); }
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 114 "lexer.l"
+#line 116 "lexer.l"
{ return(WHILE); }
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 116 "lexer.l"
+#line 118 "lexer.l"
{ return(PROPERTY); }
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 117 "lexer.l"
+#line 119 "lexer.l"
{ return(SETPROP); } // TODO: Don't make this a keyword...
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 118 "lexer.l"
+#line 120 "lexer.l"
{ return(GETPROP); } // TODO: Don't make this a keyword...
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 119 "lexer.l"
+#line 121 "lexer.l"
{ return(ISPROPSET); } // TODO: Don't make this a keyword...
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 120 "lexer.l"
+#line 122 "lexer.l"
{ return(CLASS); }
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 121 "lexer.l"
+#line 123 "lexer.l"
{ return(THISCLASS); }
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 122 "lexer.l"
+#line 124 "lexer.l"
{ return(VIRTUAL); }
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 123 "lexer.l"
+#line 125 "lexer.l"
{ return(DELETE); }
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 124 "lexer.l"
+#line 126 "lexer.l"
{ return(NEWOP); }
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 125 "lexer.l"
+#line 127 "lexer.l"
{ return(NEW0OP); }
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 126 "lexer.l"
+#line 128 "lexer.l"
{ return(RENEW); }
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 127 "lexer.l"
+#line 129 "lexer.l"
{ return(RENEW0); }
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 128 "lexer.l"
+#line 130 "lexer.l"
{ return(IMPORT); }
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 129 "lexer.l"
+#line 131 "lexer.l"
{ return(DEFINE); }
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 130 "lexer.l"
+#line 132 "lexer.l"
{ return(INT64); }
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 131 "lexer.l"
+#line 133 "lexer.l"
{ return(INT64); }
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 132 "lexer.l"
+#line 134 "lexer.l"
{ return(VALIST); }
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 133 "lexer.l"
+#line 135 "lexer.l"
{ return(VAARG); }
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 134 "lexer.l"
+#line 136 "lexer.l"
{ return(BOOL); }
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 135 "lexer.l"
+#line 137 "lexer.l"
{ return(_BOOL); }
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 136 "lexer.l"
+#line 138 "lexer.l"
{ return(_COMPLEX); }
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 137 "lexer.l"
+#line 139 "lexer.l"
{ return(_IMAGINARY); }
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 138 "lexer.l"
+#line 140 "lexer.l"
{ return(EXT_DECL); }
YY_BREAK
/* "__attribute__".?"(("({D}|{L})*"))" { return(EXT_ATTRIB); } */
/* "__attribute".?"((".?({D}|{L})*.?("("({D}|{L})*(.?",".?({D}|{L})*)*.?")")?.?"))" { return(EXT_ATTRIB); }*/
case 66:
YY_RULE_SETUP
-#line 165 "lexer.l"
+#line 167 "lexer.l"
{ return ATTRIB_DEP; }
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 166 "lexer.l"
+#line 168 "lexer.l"
{ return ATTRIB; }
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 167 "lexer.l"
+#line 169 "lexer.l"
{ return __ATTRIB; }
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 169 "lexer.l"
+#line 171 "lexer.l"
{ return(EXT_STORAGE); }
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 170 "lexer.l"
+#line 172 "lexer.l"
{ return(EXT_STORAGE); }
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 171 "lexer.l"
+#line 173 "lexer.l"
{ return(EXT_STORAGE); }
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 172 "lexer.l"
+#line 174 "lexer.l"
{ return(EXT_STORAGE); }
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 173 "lexer.l"
+#line 175 "lexer.l"
{ return(EXT_STORAGE); }
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 174 "lexer.l"
+#line 176 "lexer.l"
{ return(EXT_STORAGE); }
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 175 "lexer.l"
+#line 177 "lexer.l"
{ return(EXT_STORAGE); }
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 176 "lexer.l"
+#line 178 "lexer.l"
{ return(EXT_DECL); }
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 177 "lexer.l"
+#line 179 "lexer.l"
{ return(EXT_DECL); }
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 178 "lexer.l"
+#line 180 "lexer.l"
{ return(EXT_DECL); }
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 179 "lexer.l"
+#line 181 "lexer.l"
{ return(EXT_DECL); }
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 180 "lexer.l"
+#line 182 "lexer.l"
{ return(EXT_DECL); }
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 181 "lexer.l"
+#line 183 "lexer.l"
{ return(EXT_DECL); }
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 182 "lexer.l"
+#line 184 "lexer.l"
{ return(EXT_DECL); }
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 183 "lexer.l"
+#line 185 "lexer.l"
{ return(EXT_DECL); }
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 184 "lexer.l"
+#line 186 "lexer.l"
{ return(PUBLIC); }
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 185 "lexer.l"
+#line 187 "lexer.l"
{ return(PRIVATE); }
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 186 "lexer.l"
+#line 188 "lexer.l"
{ return(TYPED_OBJECT); }
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 187 "lexer.l"
+#line 189 "lexer.l"
{ return(ANY_OBJECT); }
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 188 "lexer.l"
+#line 190 "lexer.l"
{ return(_INCREF); }
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 189 "lexer.l"
+#line 191 "lexer.l"
{ return(EXTENSION); }
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 190 "lexer.l"
+#line 192 "lexer.l"
{ return(EXTENSION); }
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 191 "lexer.l"
+#line 193 "lexer.l"
{ return(ASM); }
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 192 "lexer.l"
+#line 194 "lexer.l"
{ return(ASM); }
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 193 "lexer.l"
+#line 195 "lexer.l"
{ return(ASM); }
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 194 "lexer.l"
+#line 196 "lexer.l"
{ return(TYPEOF); }
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 195 "lexer.l"
+#line 197 "lexer.l"
{ return(WATCH); }
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 196 "lexer.l"
+#line 198 "lexer.l"
{ return(STOPWATCHING); }
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 197 "lexer.l"
+#line 199 "lexer.l"
{ return(FIREWATCHERS); }
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 198 "lexer.l"
+#line 200 "lexer.l"
{ return(WATCHABLE); }
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 199 "lexer.l"
+#line 201 "lexer.l"
{ return(CLASS_DESIGNER); }
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 200 "lexer.l"
+#line 202 "lexer.l"
{ return(CLASS_NO_EXPANSION); }
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 201 "lexer.l"
+#line 203 "lexer.l"
{ return(CLASS_FIXED); }
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 202 "lexer.l"
+#line 204 "lexer.l"
{ return(CLASS_DEFAULT_PROPERTY); }
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 203 "lexer.l"
+#line 205 "lexer.l"
{ return(PROPERTY_CATEGORY); }
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 204 "lexer.l"
+#line 206 "lexer.l"
{ return(CLASS_DATA); }
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 205 "lexer.l"
+#line 207 "lexer.l"
{ return(CLASS_PROPERTY); }
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 206 "lexer.l"
+#line 208 "lexer.l"
{ return(SUBCLASS); }
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 207 "lexer.l"
+#line 209 "lexer.l"
{ return(NAMESPACE); }
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 208 "lexer.l"
+#line 210 "lexer.l"
{ return(DBTABLE); }
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 209 "lexer.l"
+#line 211 "lexer.l"
{ return(DBFIELD); }
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 210 "lexer.l"
+#line 212 "lexer.l"
{ return(DBINDEX); }
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 211 "lexer.l"
+#line 213 "lexer.l"
{ return(DATABASE_OPEN); }
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 213 "lexer.l"
+#line 215 "lexer.l"
{ return(check_type()); } // {L}({L}|{D})* { return(check_type()); } // ("::"|(({IDENT}"::")*)){IDENT} { return(check_type()); } // {L}({L}|{D})* { return(check_type()); }
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 215 "lexer.l"
+#line 217 "lexer.l"
{ return(CONSTANT); }
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 217 "lexer.l"
+#line 219 "lexer.l"
{ return(CONSTANT); }
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 218 "lexer.l"
+#line 220 "lexer.l"
{ return(CONSTANT); }
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 219 "lexer.l"
+#line 221 "lexer.l"
{ return(CONSTANT); }
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 221 "lexer.l"
+#line 223 "lexer.l"
{ return(CONSTANT); }
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 222 "lexer.l"
+#line 224 "lexer.l"
{ return(CONSTANT); }
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 223 "lexer.l"
+#line 225 "lexer.l"
{ return(CONSTANT); }
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 225 "lexer.l"
+#line 227 "lexer.l"
{ return(CONSTANT); }
YY_BREAK
case 121:
YY_RULE_SETUP
-#line 226 "lexer.l"
+#line 228 "lexer.l"
{ return(CONSTANT); }
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 227 "lexer.l"
+#line 229 "lexer.l"
{ return(CONSTANT); }
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 229 "lexer.l"
+#line 231 "lexer.l"
{ return(STRING_LITERAL); }
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 231 "lexer.l"
+#line 233 "lexer.l"
{ return(ELLIPSIS); }
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 232 "lexer.l"
+#line 234 "lexer.l"
{ return(RIGHT_ASSIGN); }
YY_BREAK
case 126:
YY_RULE_SETUP
-#line 233 "lexer.l"
+#line 235 "lexer.l"
{ return(LEFT_ASSIGN); }
YY_BREAK
case 127:
YY_RULE_SETUP
-#line 234 "lexer.l"
+#line 236 "lexer.l"
{ return(ADD_ASSIGN); }
YY_BREAK
case 128:
YY_RULE_SETUP
-#line 235 "lexer.l"
+#line 237 "lexer.l"
{ return(SUB_ASSIGN); }
YY_BREAK
case 129:
YY_RULE_SETUP
-#line 236 "lexer.l"
+#line 238 "lexer.l"
{ return(MUL_ASSIGN); }
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 237 "lexer.l"
+#line 239 "lexer.l"
{ return(DIV_ASSIGN); }
YY_BREAK
case 131:
YY_RULE_SETUP
-#line 238 "lexer.l"
+#line 240 "lexer.l"
{ return(MOD_ASSIGN); }
YY_BREAK
case 132:
YY_RULE_SETUP
-#line 239 "lexer.l"
+#line 241 "lexer.l"
{ return(AND_ASSIGN); }
YY_BREAK
case 133:
YY_RULE_SETUP
-#line 240 "lexer.l"
+#line 242 "lexer.l"
{ return(XOR_ASSIGN); }
YY_BREAK
case 134:
YY_RULE_SETUP
-#line 241 "lexer.l"
+#line 243 "lexer.l"
{ return(OR_ASSIGN); }
YY_BREAK
case 135:
YY_RULE_SETUP
-#line 242 "lexer.l"
+#line 244 "lexer.l"
{ return(RIGHT_OP); }
YY_BREAK
case 136:
YY_RULE_SETUP
-#line 243 "lexer.l"
+#line 245 "lexer.l"
{ return(LEFT_OP); }
YY_BREAK
case 137:
YY_RULE_SETUP
-#line 244 "lexer.l"
+#line 246 "lexer.l"
{ return(INC_OP); }
YY_BREAK
case 138:
YY_RULE_SETUP
-#line 245 "lexer.l"
+#line 247 "lexer.l"
{ return(DEC_OP); }
YY_BREAK
case 139:
YY_RULE_SETUP
-#line 246 "lexer.l"
+#line 248 "lexer.l"
{ return(PTR_OP); }
YY_BREAK
case 140:
YY_RULE_SETUP
-#line 247 "lexer.l"
+#line 249 "lexer.l"
{ return(AND_OP); }
YY_BREAK
case 141:
YY_RULE_SETUP
-#line 248 "lexer.l"
+#line 250 "lexer.l"
{ return(OR_OP); }
YY_BREAK
case 142:
YY_RULE_SETUP
-#line 249 "lexer.l"
+#line 251 "lexer.l"
{ return(LE_OP); }
YY_BREAK
case 143:
YY_RULE_SETUP
-#line 250 "lexer.l"
+#line 252 "lexer.l"
{ return(GE_OP); }
YY_BREAK
case 144:
YY_RULE_SETUP
-#line 251 "lexer.l"
+#line 253 "lexer.l"
{ return(EQ_OP); }
YY_BREAK
case 145:
YY_RULE_SETUP
-#line 252 "lexer.l"
+#line 254 "lexer.l"
{ return(NE_OP); }
YY_BREAK
/* "::" { return(CLASS_OP); } */
case 146:
YY_RULE_SETUP
-#line 254 "lexer.l"
+#line 256 "lexer.l"
{ return(';'); }
YY_BREAK
case 147:
YY_RULE_SETUP
-#line 255 "lexer.l"
+#line 257 "lexer.l"
{ return('{'); }
YY_BREAK
case 148:
YY_RULE_SETUP
-#line 256 "lexer.l"
+#line 258 "lexer.l"
{ return('}'); }
YY_BREAK
case 149:
YY_RULE_SETUP
-#line 257 "lexer.l"
+#line 259 "lexer.l"
{ return(','); }
YY_BREAK
case 150:
YY_RULE_SETUP
-#line 258 "lexer.l"
+#line 260 "lexer.l"
{ return(':'); }
YY_BREAK
case 151:
YY_RULE_SETUP
-#line 259 "lexer.l"
+#line 261 "lexer.l"
{ return('='); }
YY_BREAK
case 152:
YY_RULE_SETUP
-#line 260 "lexer.l"
+#line 262 "lexer.l"
{ return('('); }
YY_BREAK
case 153:
YY_RULE_SETUP
-#line 261 "lexer.l"
+#line 263 "lexer.l"
{ return(')'); }
YY_BREAK
case 154:
YY_RULE_SETUP
-#line 262 "lexer.l"
+#line 264 "lexer.l"
{ return('['); }
YY_BREAK
case 155:
YY_RULE_SETUP
-#line 263 "lexer.l"
+#line 265 "lexer.l"
{ return(']'); }
YY_BREAK
case 156:
YY_RULE_SETUP
-#line 264 "lexer.l"
+#line 266 "lexer.l"
{ return('.'); }
YY_BREAK
case 157:
YY_RULE_SETUP
-#line 265 "lexer.l"
+#line 267 "lexer.l"
{ return('&'); }
YY_BREAK
case 158:
YY_RULE_SETUP
-#line 266 "lexer.l"
+#line 268 "lexer.l"
{ return('!'); }
YY_BREAK
case 159:
YY_RULE_SETUP
-#line 267 "lexer.l"
+#line 269 "lexer.l"
{ return('~'); }
YY_BREAK
case 160:
YY_RULE_SETUP
-#line 268 "lexer.l"
+#line 270 "lexer.l"
{ return('-'); }
YY_BREAK
case 161:
YY_RULE_SETUP
-#line 269 "lexer.l"
+#line 271 "lexer.l"
{ return('+'); }
YY_BREAK
case 162:
YY_RULE_SETUP
-#line 270 "lexer.l"
+#line 272 "lexer.l"
{ return('*'); }
YY_BREAK
case 163:
YY_RULE_SETUP
-#line 271 "lexer.l"
+#line 273 "lexer.l"
{ return('/'); }
YY_BREAK
case 164:
YY_RULE_SETUP
-#line 272 "lexer.l"
+#line 274 "lexer.l"
{ return('%'); }
YY_BREAK
case 165:
YY_RULE_SETUP
-#line 273 "lexer.l"
+#line 275 "lexer.l"
{ return('<'); }
YY_BREAK
case 166:
YY_RULE_SETUP
-#line 274 "lexer.l"
+#line 276 "lexer.l"
{ return('>'); }
YY_BREAK
case 167:
YY_RULE_SETUP
-#line 275 "lexer.l"
+#line 277 "lexer.l"
{ return('^'); }
YY_BREAK
case 168:
YY_RULE_SETUP
-#line 276 "lexer.l"
+#line 278 "lexer.l"
{ return('|'); }
YY_BREAK
case 169:
YY_RULE_SETUP
-#line 277 "lexer.l"
+#line 279 "lexer.l"
{ return('?'); }
YY_BREAK
case 170:
YY_RULE_SETUP
-#line 278 "lexer.l"
+#line 280 "lexer.l"
{ return('$'); }
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 280 "lexer.l"
+#line 282 "lexer.l"
{
while(include_stack_ptr && !fileStack[include_stack_ptr-1])
{
YY_BREAK
case 171:
YY_RULE_SETUP
-#line 306 "lexer.l"
+#line 308 "lexer.l"
{ yylloc.start = yylloc.end; type_yylloc.start = type_yylloc.end; expression_yylloc.start = expression_yylloc.end;}
YY_BREAK
case 172:
YY_RULE_SETUP
-#line 307 "lexer.l"
+#line 309 "lexer.l"
{
yylloc.end.charPos = 1; yylloc.end.line += yyleng; yylloc.start = yylloc.end;
type_yylloc.end.charPos = 1; type_yylloc.end.line += yyleng; type_yylloc.start = type_yylloc.end;
YY_BREAK
case 173:
YY_RULE_SETUP
-#line 312 "lexer.l"
+#line 314 "lexer.l"
{
yylloc.start.charPos++ /*= 3 - (yylloc.start.col % 3)*/; yylloc.end.charPos = yylloc.start.charPos; yylloc.start.pos = yylloc.end.pos;
expression_yylloc.start.charPos++ /*= 3 - (expression_yylloc.start.col % 3)*/; expression_yylloc.end.charPos = expression_yylloc.start.charPos; expression_yylloc.start.pos = expression_yylloc.end.pos;
YY_BREAK
case 174:
YY_RULE_SETUP
-#line 317 "lexer.l"
+#line 319 "lexer.l"
{ yylloc.start = yylloc.end; expression_yylloc.start = expression_yylloc.end; type_yylloc.start = type_yylloc.end; }
YY_BREAK
case 175:
YY_RULE_SETUP
-#line 318 "lexer.l"
+#line 320 "lexer.l"
{
yylloc.start = yylloc.end; expression_yylloc.start = expression_yylloc.end; type_yylloc.start = type_yylloc.end;
if(inCompiler)
YY_BREAK
case 176:
YY_RULE_SETUP
-#line 325 "lexer.l"
+#line 327 "lexer.l"
ECHO;
YY_BREAK
-#line 2423 "lexer.ec"
+#line 2424 "lexer.ec"
case YY_END_OF_BUFFER:
{
return 0;
}
#endif
-#line 325 "lexer.l"
+#line 327 "lexer.l"
private:
-yywrap()
+int yywrap()
{
return(1);
}
int commentCPP()
{
- int c, last = 0;
+ int c; //, last = 0;
for(;;)
{
c = input();
yylloc.end.charPos++;
yylloc.end.pos++;
}
- last = c;
+ //last = c;
}
yylloc.start = yylloc.end;
return 0;
yy_switch_to_buffer( yy_create_buffer( fileInput, YY_BUF_SIZE ) );
BEGIN(INITIAL);
}
- else
- printf("");
}
}
return 0;
IS (u|U|l|L|i|I|j|J)*
IDENT {L}({L}|{D})*
+%option nounput
+
%{
import "ecdefs"
#define YYLTYPE Location
YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
File fileStack[MAX_INCLUDE_DEPTH];
char sourceFileStack[MAX_INCLUDE_DEPTH][MAX_LOCATION];
-public void SetSomeSourceFileStack(char * fileName, int index) { strcpy(sourceFileStack[index], fileName); }
+public void SetSomeSourceFileStack(const char * fileName, int index) { strcpy(sourceFileStack[index], fileName); }
YYLTYPE locStack[MAX_INCLUDE_DEPTH];
AccessMode declModeStack[MAX_INCLUDE_DEPTH];
int include_stack_ptr = 0;
private:
-yywrap()
+int yywrap()
{
return(1);
}
int commentCPP()
{
- int c, last = 0;
+ int c; //, last = 0;
for(;;)
{
c = input();
yylloc.end.charPos++;
yylloc.end.pos++;
}
- last = c;
+ //last = c;
}
yylloc.start = yylloc.end;
return 0;
yy_switch_to_buffer( yy_create_buffer( fileInput, YY_BUF_SIZE ) );
BEGIN(INITIAL);
}
- else
- printf("");
}
}
return 0;
TrimLSpaces(line, line);
if(regClass)
{
- Property prop = eClass_AddProperty(regClass, conversion ? null : name, line[0] ? line : 0, (void *)setStmt, (void *)getStmt, memberAccess);
+ Property prop = eClass_AddProperty(regClass, conversion ? null : name, line[0] ? line : 0, (void *)(uintptr)setStmt, (void *)(uintptr)getStmt, memberAccess);
if(prop)
{
prop.compiled = false;
TrimLSpaces(line, line);
if(regClass)
{
- eClass_AddClassProperty(regClass, name, line, (void *)setStmt, (void *)getStmt);
+ eClass_AddClassProperty(regClass, name, line, (void *)(uintptr)setStmt, (void *)(uintptr)getStmt);
}
}
else if(!strcmp(line, "[Set]"))
extern External curExternal;
-public void MangleClassName(char * className)
+/*public void MangleClassName(char * className)
{
char output[1024];
int c, d = 0;
// ChangeCh(className, ' ', '_');
// ChangeCh(className, '*', '_');
}
-
+*/
public void FullClassNameCat(char * output, const char * className, bool includeTemplateParams)
{
int c;
break;
case castExp:
{
- Type type = exp.expType;
CheckPublicTypeName(exp.cast.typeName, access);
if(exp.cast.exp)
CheckPublicExpression(exp.cast.exp, access);
char destructorName[1024];
Class regClass;
ClassFunction destructor = null, constructor = null;
- bool redefinition = false;
+ //bool redefinition = false;
bool isUnion = classType == unionClass;
External external = null;
}
for(def = definitions.first; def; def = def.next)
{
+ yylloc = def.loc;
if(def.type == declarationClassDef)
{
Declaration decl = def.decl;
+ yylloc = decl.loc;
if(decl.type == structDeclaration)
{
strcpy(className, "__ecereClass_");
FullClassNameCat(className, symbol.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
symbol.className = CopyString(className);
strcat(name, "_Get_");
// strcat(name, propertyDef.id.string);
FullClassNameCat(name, propertyDef.id.string, true);
- MangleClassName(name);
+ //MangleClassName(name);
params = MkList();
strcat(name, "_Set_");
//strcat(name, propertyDef.id.string);
FullClassNameCat(name, propertyDef.id.string, true);
- MangleClassName(name);
+ //MangleClassName(name);
params = MkList();
strcat(name, "_IsSet_");
//strcat(name, propertyDef.id.string);
FullClassNameCat(name, propertyDef.id.string, true);
- MangleClassName(name);
+ //MangleClassName(name);
params = MkList();
strcat(name, "_");
//strcat(name, propertyDef.id.string);
FullClassNameCat(name, propertyDef.id.string, true);
- MangleClassName(name);
+ //MangleClassName(name);
{
OldList * list = MkList();
strcat(name, "_");
//strcat(name, propertyDef.id.string);
FullClassNameCat(name, propertyDef.id.string, true);
- MangleClassName(name);
+ //MangleClassName(name);
ListAdd(list, MkInitDeclarator(/*MkDeclaratorPointer(MkPointer(null, null), */
MkDeclaratorIdentifier(MkIdentifier(name))/*)*/, null));
FullClassNameCat(name, symbol.string, false);
strcat(name, "_Get_");
strcat(name, propertyDef.id.string);
- MangleClassName(name);
+ //MangleClassName(name);
params = MkList();
FullClassNameCat(name, symbol.string, false);
strcat(name, "_Set_");
strcat(name, propertyDef.id.string);
- MangleClassName(name);
+ //MangleClassName(name);
params = MkList();
/*
MkListOne(MkInitDeclarator(MkDeclaratorPointer(MkPointer(null,null), MkDeclaratorIdentifier(MkIdentifier("class"))), null))));
#endif
ListAdd(registerModuleBody.compound.declarations,
- MkDeclaration(MkListOne(MkSpecifierName("ecere::com::Class")),
+ MkDeclaration((specifiers = MkListOne(MkSpecifierName("ecere::com::Class"))),
MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("class")), null))));
+ // Avoid unused warning here
+ specifiers->Add(MkSpecifierExtended(MkExtDeclAttrib(MkAttrib(ATTRIB, MkListOne(MkAttribute(CopyString("unused"), null))))));
specifiers = MkList();
ListAdd(specifiers, MkSpecifier(VOID));
strcat(name, "_Set_");
// strcat(name, prop.name);
FullClassNameCat(name, prop.name, true);
- MangleClassName(name);
+ //MangleClassName(name);
ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
}
else
strcat(name, "_Get_");
// strcat(name, prop.name);
FullClassNameCat(name, prop.name, true);
- MangleClassName(name);
+ //MangleClassName(name);
ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
}
strcat(name, "_");
FullClassNameCat(name, prop.name, true);
// strcat(name, prop.name);
- MangleClassName(name);
+ //MangleClassName(name);
stmt = MkExpressionStmt(MkListOne(
MkExpOp(MkExpIdentifier(MkIdentifier(name)), '=',
strcat(name, "_Set_");
FullClassNameCat(name, prop.name, true);
// strcat(name, prop.name);
- MangleClassName(name);
+ //MangleClassName(name);
ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
}
else
strcat(name, "_Get_");
FullClassNameCat(name, prop.name, true);
// strcat(name, prop.name);
- MangleClassName(name);
+ //MangleClassName(name);
ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
}
else
strcat(name, "_");
FullClassNameCat(name, prop.name, true);
// strcat(name, prop.name);
- MangleClassName(name);
+ //MangleClassName(name);
strcpy(nameM, "__ecerePropM_");
FullClassNameCat(nameM, regClass.fullName, false);
strcat(nameM, "_");
FullClassNameCat(nameM, prop.name, true);
// strcat(nameM, prop.name);
- MangleClassName(nameM);
+ //MangleClassName(nameM);
if(prop.dataTypeString)
{
strcat(name, "_IsSet_");
FullClassNameCat(name, prop.name, false);
// strcat(name, prop.name);
- MangleClassName(name);
+ //MangleClassName(name);
stmt = MkExpressionStmt(MkListOne(
MkExpOp(MkExpMember(MkExpIdentifier(MkIdentifier(nameM)), MkIdentifier("IsSet")), '=',
strcat(name, "_");
FullClassNameCat(name, prop.name, false);
// strcat(name, prop.name);
- MangleClassName(name);
+ //MangleClassName(name);
strcpy(nameM, "__ecerePropM_");
FullClassNameCat(nameM, regClass.fullName, true);
strcat(nameM, "_");
FullClassNameCat(nameM, prop.name, false);
// strcat(nameM, prop.name);
- MangleClassName(nameM);
+ //MangleClassName(nameM);
args = MkListOne(MkExpCondition(MkExpIdentifier(MkIdentifier(nameM)), MkListOne(MkExpIdentifier(MkIdentifier(nameM))), MkExpIdentifier(MkIdentifier(name))));
stmt = MkExpressionStmt(MkListOne(
FullClassNameCat(name, regClass.fullName, true);
strcat(name, "_Set_");
strcat(name, classProperty.name);
- MangleClassName(name);
+ //MangleClassName(name);
ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
}
else
FullClassNameCat(name, regClass.fullName, true);
strcat(name, "_Get_");
strcat(name, classProperty.name);
- MangleClassName(name);
+ //MangleClassName(name);
ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
}
char className[1024];
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
// Testing This
DeclareClass(classSym, className);
char className[1024];
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
// TOFIX: TESTING THIS...
classSym.structExternal = external;
strcat(setName, "_Set_");
// strcat(setName, prop.name);
FullClassNameCat(setName, prop.name, true);
- MangleClassName(setName);
+ //MangleClassName(setName);
strcpy(getName, "__ecereProp_");
FullClassNameCat(getName, prop._class.fullName, false);
// strcat(getName, prop.name);
// To support "char *" property
- MangleClassName(getName);
+ //MangleClassName(getName);
if(prop._class.type == structClass)
DeclareStruct(prop._class.fullName, false);
strcat(propName, "_");
FullClassNameCat(propName, prop.name, true);
// strcat(propName, prop.name);
- MangleClassName(propName);
+ //MangleClassName(propName);
{
OldList * list = MkList();
// strcat(propName, prop.name);
FullClassNameCat(propName, prop.name, true);
- MangleClassName(propName);
+ //MangleClassName(propName);
ListAdd(list, MkInitDeclarator(MkDeclaratorPointer(MkPointer(null, null),
MkDeclaratorIdentifier(MkIdentifier(propName))), null));
{
Class expClass = type._class.registered;
Class cClass = null;
- int c;
int paramCount = 0;
int lastParam = -1;
Symbol symbol = method.symbol;
if(!symbol || (!symbol.pointerExternal && method.type == virtualMethod) || symbol.id > (curExternal ? curExternal.symbol.idCode : -1))
{
- bool imported = false;
+ //bool imported = false;
bool dllImport = false;
if(!method.dataType)
}
if(!method.dataType.dllExport)
{
- imported = true;
+ //imported = true;
if((method._class.module != privateModule || !strcmp(method._class.name, "float") || !strcmp(method._class.name, "double")) && method._class.module.importType != staticImport)
dllImport = true;
}
Property prop = null;
DataMember dataMember = null;
- Method method = null;
uint dataMemberOffset;
if(!ident)
{
case _BoolType:
case charType: { byte v; type.isSigned ? GetChar(value, (char *)&v) : GetUChar(value, &v); part = (uint64)v; break; }
- case shortType: { uint16 v; type.isSigned ? GetShort(value, (uint16 *)&v) : GetUShort(value, &v); part = (uint64)v; break; }
+ case shortType: { uint16 v; type.isSigned ? GetShort(value, (short *)&v) : GetUShort(value, &v); part = (uint64)v; break; }
case intType:
- case longType: { uint v; type.isSigned ? GetInt(value, (uint *)&v) : GetUInt(value, &v); part = (uint64)v; break; }
- case int64Type: { uint64 v; type.isSigned ? GetInt64(value, (uint64 *)&v) : GetUInt64(value, &v); part = (uint64)v; break; }
- case intPtrType: { uintptr v; type.isSigned ? GetIntPtr(value, (uintptr *)&v) : GetUIntPtr(value, &v); part = (uint64)v; break; }
- case intSizeType: { uintsize v; type.isSigned ? GetIntSize(value, (uintsize *)&v) : GetUIntSize(value, &v); part = (uint64)v; break; }
+ case longType: { uint v; type.isSigned ? GetInt(value, (int *)&v) : GetUInt(value, &v); part = (uint64)v; break; }
+ case int64Type: { uint64 v; type.isSigned ? GetInt64(value, (int64 *)&v) : GetUInt64(value, &v); part = (uint64)v; break; }
+ case intPtrType: { uintptr v; type.isSigned ? GetIntPtr(value, (intptr *)&v) : GetUIntPtr(value, &v); part = (uint64)v; break; }
+ case intSizeType: { uintsize v; type.isSigned ? GetIntSize(value, (intsize *)&v) : GetUIntSize(value, &v); part = (uint64)v; break; }
}
bits |= part << bitMember.pos;
}
break;
case intPtrType:
if(op.kind == charType || op.kind == shortType || op.kind == intType || op.kind == longType || op.kind == enumType || op.kind == _BoolType)
- result = isSigned ? GetOpIntPtr(op, &op.i64) : GetOpUIntPtr(op, &op.i64);
+ result = isSigned ? GetOpIntPtr(op, &op.i64) : GetOpUIntPtr(op, &op.ui64);
break;
case intSizeType:
if(op.kind == charType || op.kind == shortType || op.kind == intType || op.kind == longType || op.kind == enumType || op.kind == _BoolType)
- result = isSigned ? GetOpIntSize(op, &op.ui64) : GetOpUIntSize(op, &op.ui64);
+ result = isSigned ? GetOpIntSize(op, &op.i64) : GetOpUIntSize(op, &op.ui64);
break;
}
return result;
}
else if(_class.type == structClass)
{
- char * value = (exp.member.exp.type == instanceExp ) ? exp.member.exp.instance.data : null;
+ byte * value = (exp.member.exp.type == instanceExp ) ? exp.member.exp.instance.data : null;
switch(type.kind)
{
case classType:
char className[1024];
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
DeclareClass(classSym, className);
else if(exp.expType && exp.expType.passAsTemplate && exp.destType && exp.usage.usageGet && exp.destType.kind != templateType && !exp.destType.passAsTemplate)
{
Expression newExp { };
- Statement compound;
Context context;
*newExp = *exp;
if(exp.destType) exp.destType.refCount++;
{
if(type.kind == arrayType || type.kind == pointerType || type.kind == functionType || type.kind == methodType)
{
- Type attrType = null;
if((type.kind == functionType || type.kind == methodType) && (!parentType || parentType.kind != pointerType))
PrintAttribs(type, string);
if(printConst && type.constant && (type.kind == functionType || type.kind == methodType))
}
case instanceExp:
{
- Class _class;
+ // Class _class;
// Symbol classSym;
if(!exp.instance._class)
if(exp.call.arguments)
{
for(e = exp.call.arguments->first; e; e = e.next)
- {
- Type destType = e.destType;
ProcessExpressionType(e);
- }
}
break;
}
char * colon = strstr(param.defaultArg.memberString, "::");
if(colon)
{
- char className[1024];
- Class sClass;
-
memcpy(thisClassTypeString, param.defaultArg.memberString, colon - param.defaultArg.memberString);
thisClassTypeString[colon - param.defaultArg.memberString] = '\0';
}
{
Class expClass = exp.expType._class.registered;
Class cClass = null;
- int c;
int paramCount = 0;
int lastParam = -1;
if(expClass)
{
Class cClass = null;
- int c;
int p = 0;
int paramCount = 0;
int lastParam = -1;
for(param = cClass.templateParams.first; param; param = param.next)
{
Class cClassCur = null;
- int c;
int cp = 0;
ClassTemplateParameter paramCur = null;
ClassTemplateArgument arg;
char className[1024];
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
DeclareClass(classSym, className);
{
Expression e;
type = ProcessTypeString(typeString, false);
- while(e = exp.list->first)
+ while((e = exp.list->first))
{
exp.list->Remove(e);
e.destType = type;
{
if(spec.definitions)
{
- ClassDef def;
+ //ClassDef def;
Symbol symbol = spec.id ? FindClass(spec.id.string) : null;
//if(symbol)
ProcessClass(spec.definitions, symbol);
strcat(propName, "_");
// strcat(propName, prop.name);
FullClassNameCat(propName, prop.name, true);
- MangleClassName(propName);
+ //MangleClassName(propName);
strcpy(propNameM, "__ecerePropM_");
FullClassNameCat(propNameM, prop._class.fullName, false);
strcat(propNameM, "_");
// strcat(propNameM, prop.name);
FullClassNameCat(propNameM, prop.name, true);
- MangleClassName(propNameM);
+ //MangleClassName(propNameM);
if(prop.isWatchable)
{
builtinCount = arrayExp.list->count;
type = ProcessTypeString(typeString, false);
- while(e = arrayExp.list->first)
+ while((e = arrayExp.list->first))
{
arrayExp.list->Remove(e);
e.destType = type;
strcat(propName, "_");
// strcat(propName, prop.name);
FullClassNameCat(propName, prop.name, true);
- MangleClassName(propName);
+ //MangleClassName(propName);
ListAdd(args, CopyExpression(object));
ListAdd(args, MkExpIdentifier(MkIdentifier(propName)));
strcpy(className, "__ecereClass_");
FullClassNameCat(className, _class.fullName, true);
- MangleClassName(className);
+ //MangleClassName(className);
structName[0] = 0;
FullClassNameCat(structName, _class.fullName, false);
char className[1024];
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
// Testing This
DeclareClass(classSym, className);
}
}
+ {
+ // Workaround until we have proper toposort for declarations reordering
+ External e = MkExternalDeclaration(MkDeclaration(MkListOne(MkStructOrUnion(structSpecifier, MkIdentifier("__ecereNameSpace__ecere__com__Instance"), null)), null));
+ ast->Insert(after, e);
+ after = e;
+ }
+
temp.symbol = Symbol { id = -1000, idCode = -1000 };
ast->Insert(after, temp);
curExternal = temp;
strcpy(className, "__ecereClass_");
templateSym = FindClass(classSym.registered.templateClass.fullName);
FullClassNameCat(className, templateSym.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
DeclareClass(templateSym, className);
}*/
else
FullClassNameCat(className, inst._class.name, true);
- MangleClassName(className);
+ //MangleClassName(className);
DeclareClass(classSym, className);
newCall = MkExpCall(QMkExpId("ecere::com::eInstance_New"), MkListOne(QMkExpId(className)));
newCall.usage = exp.usage;
/*{
strcpy(className, "__ecereClass_");
FullClassNameCat(className, classSym.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
DeclareClass(classSym, className);
}*/
}
else
FullClassNameCat(className, inst._class.name, true);
- MangleClassName(className);
+ //MangleClassName(className);
if(classSym)
DeclareClass(classSym, className);
// Need the class itself here...
strcpy(className, "__ecereClass_");
FullClassNameCat(className, _class.fullName, true);
- MangleClassName(className);
+ //MangleClassName(className);
if(!_class.symbol)
_class.symbol = FindClass(_class.fullName);
strcpy(className, "__ecereClass_");
FullClassNameCat(className, exp.expType._class.string, true);
- MangleClassName(className);
+ //MangleClassName(className);
DeclareClass(exp.expType._class, className);
if(_class.templateClass) _class = _class.templateClass;
strcpy(className, "__ecereClass_");
FullClassNameCat(className, _class.fullName, false /*true*/);
- MangleClassName(className);
+ //MangleClassName(className);
if(!_class.symbol)
_class.symbol = FindClass(_class.fullName);
Expression next = exp.next, prev = exp.prev;
Expression derefExp = exp.op.exp2;
Expression refExp = exp.op.exp2.op.exp2;
- Type expType = exp.expType, destType = exp.destType;
derefExp.op.exp2 = null;
FreeExpression(derefExp);
Type type = memberExp ? memberExp.member.exp.expType : null;
Class regClass = (type && type.kind == classType && type._class) ? type._class.registered : null;
char className[1024];
- bool useInstance = false;
if(!exp.call.exp.expType.methodClass && !_class && type && type.classObjectType)
strcpy(className, "class");
// Need the class itself here...
strcpy(className, "__ecereClass_");
FullClassNameCat(className, cl.fullName, true);
- MangleClassName(className);
+ //MangleClassName(className);
if(!cl.symbol)
cl.symbol = FindClass(cl.fullName);
// Need the class itself here...
strcpy(className, "__ecereClass_");
FullClassNameCat(className, cl.fullName, true);
- MangleClassName(className);
+ //MangleClassName(className);
if(!cl.symbol)
cl.symbol = FindClass(cl.fullName);
{
strcpy(className, "__ecereClass_");
FullClassNameCat(className, _class.fullName, true);
- MangleClassName(className);
+ //MangleClassName(className);
if(!_class.symbol)
_class.symbol = FindClass(_class.fullName);
// Need the class itself here...
strcpy(className, "__ecereClass_");
FullClassNameCat(className, _class.fullName, true);
- MangleClassName(className);
+ //MangleClassName(className);
if(!_class.symbol)
_class.symbol = FindClass(_class.fullName);
else
{
Expression bytePtr, e;
- Expression classExp;
Expression checkedExp;
char structName[1024];
char className[1024];
strcpy(className, "__ecereClass_");
FullClassNameCat(className, member._class.fullName, true);
- MangleClassName(className);
+ //MangleClassName(className);
// classExp = QMkExpId(className);
strcpy(className, "__ecereClass_");
FullClassNameCat(className, string, true); // TODO: Verify this
- MangleClassName(className);
+ //MangleClassName(className);
DeclareClass(classSym, className);
delete string;
}
else if(external.type == declarationExternal)
{
- //currentClass = external.function._class;
if(external.declaration)
ProcessDeclaration(external.declaration);
}
else if(external.type == classExternal)
{
ClassDefinition _class = external._class;
- //currentClass = external.symbol.registered;
if(_class.definitions)
{
ClassDef def;
{
for(; base.declarator && base.declarator.type != identifierDeclarator; base = base.declarator)
{
- printf("");
+ //printf("");
}
}
if(baseDecl)
while(true)
{
// *** NEED COMPARISON OPERATOR SUPPORT HERE INVOKING OnCompare, AS WELL AS TYPE INFORMATION PASSED ***
- int result = ((int (*)(void *, void *, void *))(void *)Tclass._vTbl[__ecereVMethodID_class_OnCompare])(Tclass,
- ((Tclass.type == systemClass && !Tclass.byValueSystemClass) || Tclass.type == bitClass || Tclass.type == enumClass || Tclass.type == unitClass || Tclass.type == structClass) ? (((byte *)&(uint64)node.key) + __ENDIAN_PAD((Tclass.type == structClass) ? sizeof(void *) : Tclass.typeSize)) : (void *)node.key,
- ((Tclass.type == systemClass && !Tclass.byValueSystemClass) || Tclass.type == bitClass || Tclass.type == enumClass || Tclass.type == unitClass || Tclass.type == structClass) ? (((byte *)&(uint64)key) + __ENDIAN_PAD((Tclass.type == structClass) ? sizeof(void *) : Tclass.typeSize)) : (void *)key);
+ int result;
+ byte * a, * b;
+ if((Tclass.type == systemClass && !Tclass.byValueSystemClass) || Tclass.type == bitClass || Tclass.type == enumClass || Tclass.type == unitClass || Tclass.type == structClass)
+ {
+ a = (byte *)&node.key;
+ b = (byte *)&key;
+ a += __ENDIAN_PAD((Tclass.type == structClass) ? sizeof(void *) : Tclass.typeSize);
+ b += __ENDIAN_PAD((Tclass.type == structClass) ? sizeof(void *) : Tclass.typeSize);
+ }
+ else
+ {
+ a = (byte *)node.key;
+ b = (byte *)key;
+ }
+
+ result = ((int (*)(void *, void *, void *))(void *)Tclass._vTbl[__ecereVMethodID_class_OnCompare])(Tclass, a, b);
if(!result)
{
return false;
while(this)
{
// *** NEED COMPARISON OPERATOR SUPPORT HERE INVOKING OnCompare, AS WELL AS TYPE INFORMATION PASSED ***
- int result = ((int (*)(void *, void *, void *))(void *)Tclass._vTbl[__ecereVMethodID_class_OnCompare])(Tclass,
- ((Tclass.type == systemClass && !Tclass.byValueSystemClass) || Tclass.type == bitClass || Tclass.type == enumClass || Tclass.type == unitClass) ? (((byte *)&(uint64)key) + __ENDIAN_PAD(Tclass.typeSize)) : (void *)key,
- ((Tclass.type == systemClass && !Tclass.byValueSystemClass) || Tclass.type == bitClass || Tclass.type == enumClass || Tclass.type == unitClass || Tclass.type == structClass) ? (((byte *)&(uint64)this.key) + __ENDIAN_PAD((Tclass.type == structClass) ? sizeof(void *) : Tclass.typeSize)) : (void *)this.key);
+ int result;
+ byte * a, * b;
+ if((Tclass.type == systemClass && !Tclass.byValueSystemClass) || Tclass.type == bitClass || Tclass.type == enumClass || Tclass.type == unitClass)
+ {
+ a = (byte *)&(uint64)key;
+ a += __ENDIAN_PAD(Tclass.typeSize);
+ }
+ else
+ a = (byte *)key;
+
+ if((Tclass.type == systemClass && !Tclass.byValueSystemClass) || Tclass.type == bitClass || Tclass.type == enumClass || Tclass.type == unitClass || Tclass.type == structClass)
+ {
+ b = (byte *)&this.key;
+ b += __ENDIAN_PAD((Tclass.type == structClass) ? sizeof(void *) : Tclass.typeSize);
+ }
+ else
+ b = (byte *)this.key;
+
+ result = ((int (*)(void *, void *, void *))(void *)Tclass._vTbl[__ecereVMethodID_class_OnCompare])(Tclass, a, b);
+
if(result < 0)
this = left;
else if(result > 0)
{
if(app.parsedCommand)
{
- delete app.argv;
+ delete (void *)app.argv;
delete app.parsedCommand;
}
}
if(!hasReturnValue)
{
- size = (uint)&((MethodReturnedPacket)0).args;
+ size = (uint)(uintptr)&((MethodReturnedPacket)0).args;
packet = (MethodReturnedPacket)new0 byte[size];
packet.type = (DCOMPacketType)htoled((DCOMPacketType)dcom_MethodReturned);
packet.size = size;
bool result;
CallAck ack = null;
int callID = nextCallID++;
- unsigned int size = (uint)&((CallMethodPacket)0).args + __ecereBuffer.size; // sizeof(class CallMethodPacket) + __ecereBuffer.size - 1;
+ unsigned int size = (uint)(uintptr)&((CallMethodPacket)0).args + __ecereBuffer.size; // sizeof(class CallMethodPacket) + __ecereBuffer.size - 1;
CallMethodPacket packet = (CallMethodPacket)new0 byte[size];
packet.type = (DCOMPacketType)htoled((DCOMPacketType)dcom_CallMethod);
packet.size = size;
class_no_expansion;
Table prev, next;
Database db;
- OldList listRows { offset = (uint)&((Row)0).prev };
+ OldList listRows { offset = (uint)(uintptr)&((Row)0).prev };
Row cachedIdRow;
public:
virtual const String GetName();
sEntry = wordEntry;
lEntry = wordEntry;
if(!wordEntry.words) wordEntry.words = IdList { };
- wordEntry.words.Add((Id)mainEntry);
+ wordEntry.words.Add((Id)(uintptr)mainEntry);
}
else if(!lEntry)
{
lEntry = wordEntry;
if(!wordEntry.words) wordEntry.words = IdList { };
- wordEntry.words.Add((Id)sEntry);
+ wordEntry.words.Add((Id)(uintptr)sEntry);
}
else
{
if(!wordEntry.words) wordEntry.words = IdList { };
- wordEntry.words.Add((Id)lEntry);
+ wordEntry.words.Add((Id)(uintptr)lEntry);
}
if(!wordEntry.items) wordEntry.items = IdList { };
wordEntry.items.Add(id);
{
int c;
for(c = 0; c<node.words.count; c++)
- node.words.ids[c] = (Id)btnodes[node.words.ids[c] - 1];
+ node.words.ids[c] = (Id)(uintptr)btnodes[node.words.ids[c] - 1];
}
if(node.left)
node = node.left;
channel.Serialize(words.count);
for(c = 0; c < words.count; c++)
{
- uint id = ((WordEntry)words.ids[c]).id;
+ uint id = (uint)((WordEntry)(uintptr)words.ids[c]).id;
channel.Serialize(id);
}
}
{
if(frame.listing.Find())
{
- const char * name = frame.listing.name;
- bool isDirectory = frame.listing.stats.attribs.isDirectory;
bool peek = frame.listing.stats.attribs.isDirectory && OnFolder(frame.listing.path);
if(!frame.listing.stats.attribs.isDirectory)
{
const char * path = frame.listing.path;
- OnFile(frame.listing.path);
+ OnFile(path);
}
else if(peek)
{
{
}
}
-
+/*
static class IteratorThread : Thread
{
void Temp()
//listing = FileListing { dir, extensions = filter.extensions }; // there should be a sorted = true/false
}
}
-
+*/
public class StackFrame
{
int tag;
{
for(s : value)
{
- char temp[MAX_LOCATION];
list.AddString(s);
}
}
{
if(listBox.currentRow == listBox.lastRow)
{
- DataRow r = listBox.lastRow;
- const char * s = r.string;
listBox.currentRow = listBox.AddString("");
}
}
{
for(s : value)
{
- char temp[MAX_LOCATION];
row = list.AddRow();
row.SetData(nameField, s.name);
row.SetData(stringField, s.string);
{
if(listBox.currentRow == listBox.lastRow)
{
- DataRow r = listBox.lastRow;
- const char * s = r.string;
listBox.currentRow = list.AddRow();
//row.SetData(nameField, null);
//row.SetData(stringField, null);
SettingsIOResult result;
IDESettings data = (IDESettings)this.data;
- Platform runtimePlatform = GetRuntimePlatform();
if(portable && moduleLocation[0] && FileExists(moduleLocation).isDirectory)
data.ManagePortablePaths(moduleLocation, false);
data.ForcePathSeparatorStyle(true);
{
HKEY key = null;
uint16 wLanguage[256];
- HRESULT status;
+ DWORD status;
wLanguage[0] = 0;
RegCreateKeyEx(HKEY_CURRENT_USER, "Environment", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, null, &key, &status);
PutGlobalValue("FileOpenLocations", "Files", singleString, ideFileDialogLocation);
PutGlobalValue("FileOpenLocations", "Projects", singleString, ideProjectFileDialogLocation);
- PutGlobalValue("Editing", "UseFreeCaret", integer, (void *)useFreeCaret);
- PutGlobalValue("Editing", "CaretFollowsScrolling", integer, (void *)caretFollowsScrolling);
- PutGlobalValue("Editing", "ShowLineNumbers", integer, (void *)showLineNumbers);
+ PutGlobalValue("Editing", "UseFreeCaret", integer, (void *)(intptr)useFreeCaret);
+ PutGlobalValue("Editing", "CaretFollowsScrolling", integer, (void *)(intptr)caretFollowsScrolling);
+ PutGlobalValue("Editing", "ShowLineNumbers", integer, (void *)(intptr)showLineNumbers);
- PutGlobalValue("Building", "NumParallelJobs", integer, (void *)(compiler.numJobs));
+ PutGlobalValue("Building", "NumParallelJobs", integer, (void *)(intptr)(compiler.numJobs));
PutGlobalValue("View", "DisplayDriver", singleString, displayDriver);
PutGlobalValue("Documentor", "Files", singleString, docDir);
}
}
-#define OPTION(x) ((uint)(&((ProjectOptions)0).x))
+#define OPTION(x) ((uint)(uintptr)(&((ProjectOptions)0).x))
// TOFIX: USING T INSTEAD OF Z HERE CAUSED US SOME CONFLICTS WITH T IN Array TEMPLATES
if(tempStrings)
{
- Array<String> ts = tempStrings;
while(it.Next())
{
String s = it.data;
{
if(path[0] && to[0])
{
- char rest[MAX_FILENAME];
char pathPart[MAX_FILENAME], pathRest[MAX_LOCATION] = "";
char toPart[MAX_FILENAME], toRest[MAX_LOCATION] = "";
SplitDirectory(path, pathPart, pathRest);
String msg = PrintString($"Are you sure you wish to delete the ", config.name, $" configuration?");
if(MessageBox { type = okCancel, text = title, contents = msg }.Modal() == ok)
{
- Iterator<Window> it { configSelector.controls };
+ //Iterator<Window> it { configSelector.controls };
ProjectConfig configToDelete = config;
/*
while(it.Next())
void CreateConfigButtons()
{
- SelectorButton commonButton;
-
// Create Config Buttons
- commonButton = SelectorButton
+ SelectorButton
{
configSelector, master = this, text = $"Common", id = (int64)null; font = { font.faceName, font.size, true };
checked = true;
{
configButton.Activate();
configButton.checked = true;
- ConfigClicked(configButton, 0, 0, (Modifiers)null);
+ ConfigClicked(configButton, 0, 0, 0);
break;
}
}
void LoadSettings()
{
- bool disabled = strlen(((BuildTab)master).selectedPlatformName) > 0;
OptionBox ob;
for(ob = (OptionBox)firstSlave; ob; ob = (OptionBox)ob.nextSlave)
if(eClass_IsDerived(ob._class, class(OptionBox)))
versionCopyright.contents = message;
delete message;
delete shortVersion;
+ return true;
}
Label { this, text = $"Lead Architect and Developer", font = { $"Tahoma", 8.25f, bold = true }, position = { 16, 194 } };
if(chan || !channels)
{
char string[MAX_F_STRING];
- int len;
char * time = PrintNow();
va_list args;
//ide.outputView.debugBox.Logf();
Logf("%s %s:% 5d: %s%s", time, file, line, chan ? channels[channel] : "", chan && channels[channel][0] ? ": " : "");
va_start(args, object);
- len = PrintStdArgsToBuffer(string, sizeof(string), object, args);
+ PrintStdArgsToBuffer(string, sizeof(string), object, args);
Log(string);
va_end(args);
Log("\n");
int d = 0;
bool quoted = false, escaped = false;
char ch;
- for(c = 0; ch = string[c]; c++)
+ for(c = 0; (ch = string[c]); c++)
{
if(quoted)
{
#define _ChangeUserAction(value) ChangeUserAction(__FILE__, __LINE__, value)
void ChangeUserAction(const char * file, int line, DebuggerUserAction value)
{
- bool same = value == userAction;
#if 0
+ bool same = value == userAction;
__dpl2(file, line, _dpct, dplchan::debuggerUserAction, 0, userAction, /*same ? " *** == *** " : */" -> ", value);
#endif
userAction = value;
_dpl2(_dpct, dplchan::debuggerCall, 0, "Debugger::GoToStackFrameLine(", stackLevel, ", ", askForLocation, ")");
if(ide)
{
- char filePath[MAX_LOCATION];
char sourceDir[MAX_LOCATION];
Frame frame;
CodeEditor editor = null;
void HandleExit(char * reason, char * code)
{
- bool returnedExitCode = false;
char verboseExitCode[128];
_dpl2(_dpct, dplchan::debuggerCall, 0, "Debugger::HandleExit(", reason, ", ", code, ")");
bool SourceDirDialog(const char * title, const char * startDir, const char * test, char * sourceDir)
{
bool result;
- bool retry;
String srcDir = null;
_dpl2(_dpct, dplchan::debuggerCall, 0, "Debugger::SourceDirDialog()");
break;
case memberSymbolErrorExp:
{
- Class _class;
Expression memberExp = exp.member.exp;
Identifier memberID = exp.member.member;
Type type = memberExp.expType;
Identifier memberID = exp.member.member;
Type type = memberExp.expType;
Class _class = (type && memberID) ? (memberID && memberID.classSym) ? memberID.classSym.registered : ((type.kind == classType && type._class) ? type._class.registered : null) : null;
- char string[1024];
- string[0] = 0;
if(_class && memberID && memberID.string)
snprintf(watchmsg, sizeof(watchmsg), $"Missing property evaluation for \"%s\" in class \"%s\"", memberID.string, _class.name);
else
char value[4196];
//char temp[MAX_F_STRING * 32];
- ExpressionType evalError = dummyExp;
+ //ExpressionType evalError = dummyExp;
/*if(exp.expType.kind == arrayType)
sprintf(temp, "(char*)0x%x", exp.address);
else
for(start = 0; !done && start + size <= 4096; start += size)
{
- String s = null;
+ byte * s = null;
while(!done && !s)
{
// Try to read 256 bytes at a time, then half if that fails
{
char path[MAX_LOCATION] = "";
char file[MAX_FILENAME] = "";
- bool symbolsLoaded = false;
+ //bool symbolsLoaded = false;
DebugListItem item { };
//_dpl2(_dpct, dplchan::debuggerCall, 0, "Debugger::FGODetectLoadedLibraryForAddedProjectIssues()");
for(token : outTokens)
}
else if(!strcmp(item.name, "symbols-loaded"))
{
- symbolsLoaded = (atoi(item.value) == 1);
+ //symbolsLoaded = (atoi(item.value) == 1);
}
else if(!strcmp(item.name, "shlib-info"))
{
StripQuotes(subItem.value, path);
MakeSystemPath(path);
GetLastDirectory(path, file);
- symbolsLoaded = true;
+ //symbolsLoaded = true;
}
}
}
char * temp;
char loc[MAX_LOCATION];
strcpy(loc, location);
- for(temp = loc; temp = strstr(temp, ":"); temp++)
+ for(temp = loc; (temp = strstr(temp, ":")); temp++)
colon = temp;
if(colon)
{
{
if(lastCommand && lastCommand.outputs.first)
{
- int c;
char * s, * t;
int i, j, outTksCount, subTksCount;
char * outTokens[3200], * subTokens[3200];
// (loc.end.line > line || (loc.end.line == line && loc.end.charPos >= charPos));
return !loc.start.included && loc.start.line <= line && loc.end.line >= line;
}
-
+/*
static bool Inside(Location loc, int line, int charPos)
{
//return !loc.start.included && (loc.start.line < line || (loc.start.line == line && loc.start.charPos < charPos)) &&
// (loc.end.line > line || (loc.end.line == line && loc.end.charPos > charPos));
return !loc.start.included && loc.start.line < line && loc.end.line > line;
-}
+}*/
static bool InsideEndIncl(Location loc, int line, int charPos)
{
if(idResult)
return idResult;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
}
break;
idResult = DebugFindCtxStatement(def.propertyWatch.compound, line, charPos);
if(idResult) return idResult;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
break;
}
case callExp:
{
int arg;
- Type type = exp.call.exp.expType;
-
if(InsideIncl(&exp.call.exp.loc, line, charPos))
{
idResult = DebugFindCtxExpression(exp.call.exp, line, charPos);
{
Identifier idResult;
- Identifier id = GetDeclId(func.declarator);
- Symbol symbol = func.declarator.symbol;
- Type type = symbol.type;
Class oldThisClass = GetThisClass();
Context oldTopContext = GetTopContext();
Identifier idResult = null;
Class oldThisClass = GetThisClass();
Symbol sym = inst._class ? FindClass(inst._class.name) : null;
- bool insideSomething = false;
+ //bool insideSomething = false;
bool insideBrackets;
if(sym)
if(InsideIncl(&init.loc, line, charPos))
{
- if(InsideIncl(&init.loc, line, charPos))
+ /*if(InsideIncl(&init.loc, line, charPos))
if(init.type == methodMembersInit)
- insideSomething = true;
+ insideSomething = true;*/
if(init.type == methodMembersInit && InsideIncl(&init.function.loc, line, charPos))
{
{
Identifier idResult;
- Identifier id = GetDeclId(func.declarator);
Symbol symbol = func.declarator ? func.declarator.symbol : null;
Type type = symbol ? symbol.type : null;
Class oldThisClass = GetThisClass();
result = DebugFindCtxStatement(def.getStmt, line, charPos);
if(result) return result;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
if(def.setStmt && InsideIncl(&def.setStmt.loc, line, charPos))
{
result = DebugFindCtxStatement(def.setStmt, line, charPos);
if(result) return result;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
return null;
}
if(idResult)
return idResult;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
}
break;
if(idResult)
return idResult;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
break;
}
External external;
SetThisClass(null);
+ SetTopContext(GetGlobalContext());
if(ast != null)
{
for(external = ast.first; external; external = external.next)
Property prop = null;
DataMember dataMember = null;
- Method method = null;
uint dataMemberOffset;
if(!ident)
bool op2IsPointer = exp2.expType.kind == pointerType || exp2.expType.kind == arrayType;
bool addressResult = !op1IsPointer || !op2IsPointer;
uint size;
- int op = exp.op.op;
valid = true;
if(op1IsPointer)
size = ComputeTypeSize(exp1.expType.type);
case floatType:
{
float value;
- float (*Get)(float) = (void *) (convertTo ? prop.Set : prop.Get);
+ float (*Get)(float) = (convertTo ? (void *)prop.Set : (void *)prop.Get);
GetFloat(memberExp, &value);
FreeExpContents(exp);
case doubleType:
{
double value;
- double (*Get)(double) = (void *) (convertTo ? prop.Set : prop.Get);
+ double (*Get)(double) = (convertTo ? (void *)prop.Set : (void *)prop.Get);
GetDouble(memberExp, &value);
FreeExpContents(exp);
}
else if(_class.type == structClass)
{
- char * value = (memberExp.type == instanceExp ) ? memberExp.instance.data : null;
+ byte * value = (memberExp.type == instanceExp ) ? memberExp.instance.data : null;
if(value)
memberExp.instance.data = null;
char format;
int size;
Expression expNew;
- TypeKind kind = dummyType;
Type dataType = member.dataType;
if(!dataType)
int size = memberType.size;
Expression expNew;
Type dataType = memberType;
- TypeKind kind = dummyType;
if(dataType.kind == classType && dataType._class.registered &&
(dataType._class.registered.type == enumClass || dataType._class.registered.type == bitClass || dataType._class.registered.type == unitClass))
{
if(convert)
{
- float (*convertFn)(float) = (void *)(useGet ? convert.Get : convert.Set);
+ float (*convertFn)(float) = (useGet ? (void *)convert.Get : (void *)convert.Set);
if(convertFn)
value = convertFn(value);
}
{
if(convert)
{
- double (*convertFn)(double) = (void *)(useGet ? convert.Get : convert.Set);
+ double (*convertFn)(double) = (useGet ? (void *)convert.Get : (void *)convert.Set);
if(convertFn)
value = convertFn(value);
}
#ifdef __WIN32__
static bool CALLBACK EnumWindowsBringToTop(HWND hwnd, LPARAM lParam)
{
- int pid;
+ DWORD pid;
GetWindowThreadProcessId(hwnd, &pid);
if(pid == lParam)
BringWindowToTop(hwnd);
static bool CALLBACK EnumWindowsSetForeground(HWND hwnd, LPARAM lParam)
{
- int pid;
+ DWORD pid;
GetWindowThreadProcessId(hwnd, &pid);
if(pid == lParam)
{
OldList * ast;
Context globalContext { };
- OldList excludedSymbols { offset = (uint)&((Symbol)0).left };
+ OldList excludedSymbols { offset = (uint)(uintptr)&((Symbol)0).left };
OldList defines;
OldList imports;
hide = true;
else
{
- const char * buffer = membersLine.text;
int c;
if(charPos - 1 < membersLoc.start.charPos)
if(editBox.syntaxHighlighting && fileName && ide.projectView)
{
- bool error, bpOnCursor, bpOnTopFrame, breakpointEnabled[128];
+ bool error, bpOnTopFrame, breakpointEnabled[128];
int lineCursor, lineTopFrame, breakpointLines[128];
int count, i, lineH, boxH, scrollY; //, firstLine; firstLine = editBox.firstLine;
Debugger debugger = ide.debugger;
scrollY = editBox.scroll.y;
displaySystem.FontExtent(editBox.font.font, " ", 1, null, &lineH);
- bpOnCursor = bpOnTopFrame = false;
+ bpOnTopFrame = false;
count = debugger.GetMarginIconsLineNumbers(fileName, breakpointLines, breakpointEnabled, 128, &error, &lineCursor, &lineTopFrame);
if(count)
{
if(breakpointLines[i] == lineCursor || breakpointLines[i] == lineTopFrame)
{
bmpRes = breakpointEnabled[i] ? ide.bmpBpHalf : ide.bmpBpHalfDisabled;
- if(breakpointLines[i] == lineCursor)
- bpOnCursor = true;
if(breakpointLines[i] == lineTopFrame)
bpOnTopFrame = true;
}
CodeEditor()
{
CodeObjectType c;
- ProjectView projectView = ide.projectView;
globalData.classes.CompareKey = (void *)BinaryTree::CompareString;
globalData.defines.CompareKey = (void *)BinaryTree::CompareString;
next = _class.next;
- for(;object = _class.instances.first;)
+ while((object = _class.instances.first))
{
if(object.instance)
{
classDefinition = _class;
oClass = classObject;
};
- Symbol symbol;
classes.Add(classObject);
incref instance;
if(selectedName)
{
ObjectInfo check;
- int pos = 0;
for(check = this.oClass.instances.first; check; check = check.next)
{
Window control = (Window)object.instance;
bool prev = false;
bool methodPresent = false;
- Class _class;
bool lastIsMethod = true;
- ObjectInfo classObject = object.oClass;
if(inst)
{
{
int count = 0;
int toDelete = 0;
- int toAdd = 0;
+ //int toAdd = 0;
f.Seek(-1, current);
DeleteJunkBefore(f, position, &position);
toDelete += count - 6;
count = 6;
}
- else
- toAdd = 6 - count;
+ /*else
+ toAdd = 6 - count;*/
break;
}
}
if(!keptMember || !members.next)
{
char ch = 0;
- int count = 0;
if(keptMember && lastKept != members.dataMembers->last)
{
for(classObject = classes.first; classObject; classObject = classObject.next)
{
- Class _class;
ClassDefinition classDef = classObject.classDefinition;
Class regClass = eSystem_FindClass(this.privateModule, ((Specifier)classDef.baseSpecs->first).name);
Instance test;
if(!keptMember)
{
char ch = 0;
- int count = 0;
f.Seek(def.loc.end.pos - position - 1, current);
f.Getc(&ch);
for(_class = whatClass; _class && _class.type != systemClass; _class = _class.base)
{
Method method;
- Property prop;
- DataMember member;
for(method = (Method)_class.methods.first; method; method = (Method)((BTNode)method).next)
{
for(_class = whatClass; _class /*&& _class.type != systemClass*/; _class = _class.base)
{
Method method;
- Property prop;
DataMember member;
for(method = (Method)_class.methods.first; method; method = (Method)((BTNode)method).next)
{
if(type && (type.kind == classType || type.kind == structType || type.kind == unionType))
{
- Class _class;
-
if(type.kind == classType)
{
if(type._class)
for(link = (BTNamedLink)nameSpace.defines.first; link; link = (BTNamedLink)((BTNode)link).next )
{
- DefinedExpression definedExp = link.data;
+ //DefinedExpression definedExp = link.data;
DataRow row = membersList.AddString(link /*definedExp*/.name);
row.icon = icons[typeData];
}
for(link = (BTNamedLink)nameSpace.functions.first; link; link = (BTNamedLink)((BTNode)link).next)
{
- GlobalFunction function = link.data;
+ //GlobalFunction function = link.data;
DataRow row = membersList.AddString(link /*function*/.name);
row.icon = icons[typeMethod];
}
void OverrideVirtualFunction(ClassFunction function, Method method, Class _class, bool isInstance, bool extraIndent)
{
EditBoxStream f { editBox = editBox };
- uint position = 0;
+ int position = 0;
EditLine l1, l2;
int x1,y1,x2,y2;
{
bool didOverride = false;
EditLine line = editBox.line;
- const char * text = line.text;
int lineNum, charPos;
Expression exp = null;
EditLine l1, l2;
void InvokeParameters(bool exact, bool reposition, bool caretMove)
{
- EditLine line = editBox.line;
- const char * text = line.text;
int lineNum, charPos;
- Expression exp = null;
EditLine l1, l2;
int x1,y1, x2,y2;
const char * text = function ? function.declarator.symbol.string : "";
int len = strlen(text);
int start;
- if(!text[0])
- printf("");
surface.TextExtent(name, nameLen, &nameW, null);
surface.TextExtent(text, len, &w, null);
delete attachBtn;
}
- while(compatible = this.compatible.first)
+ while((compatible = this.compatible.first))
{
ClassFunction function = compatible.data;
void AddDefaultMethod(Instance instance, Instance classInstance)
{
Class _class = instance._class;
- int minID = MAXINT;
Method defaultMethod = null;
for( ; _class; _class = _class.base)
import "CodeObject"
-static void UnusedFunction()
+static __attribute__((unused)) void UnusedFunction()
{
- int a;
- Module b;
+ int a = 0;
+ Module b = 0;
a.OnGetString(0,0,0);
a.OnFree();
a.OnCopy(null);
bool NotifySelect(DropBox control, DataRow row, Modifiers keyFlags)
{
- ObjectInfo selected = (ObjectInfo)(row ? row.tag : null);
+ ObjectInfo selected = (ObjectInfo)(row ? (void *)(intptr)row.tag : null);
ToolBox toolBox = ((IDEWorkSpace)parent).toolBox;
if(codeEditor && selected)
if(selected && selected.instance && codeEditor)
{
Class _class;
- int c = 0;
int rowHeight = methods.rowHeight;
propertyValue.userData = (void *)selected.instance;
CodeObject object = control.GetData(methodName);
Menu menu { };
PopupMenu popupMenu;
- MenuItem item;
if(object.overriden == 0)
{
MenuItem { menu, $"Override", o, enter, bold = true, NotifySelect = OverrideMethodSelected };
// Fill up the properties
while(_class != selected.instance._class)
{
- BitMember bitMember = null;
Class lastClass = _class;
Property propIt;
bool ReattachMethodSelected(MenuItem selection, Modifiers mods)
{
ClassFunction function = (ClassFunction)selection.id;
- CodeObject object = methods.GetData(methodName);
codeEditor.ReAttachMethod(attachMethod, function);
return true;
}
bool OverrideMethodSelected(MenuItem selection, Modifiers mods)
{
- ClassFunction function = (ClassFunction)selection.id;
CodeObject object = methods.GetData(methodName);
if(object)
codeEditor.AddMethod(object.method);
bool GotoMethodSelected(MenuItem selection, Modifiers mods)
{
- ClassFunction function = (ClassFunction)selection.id;
CodeObject object = methods.GetData(methodName);
if(object)
codeEditor.GoToMethod(object.method.name);
bool DetachMethodSelected(MenuItem selection, Modifiers mods)
{
- ClassFunction function = (ClassFunction)selection.id;
CodeObject object = methods.GetData(methodName);
if(object)
codeEditor.DetachMethod(object.method, object.function, object.overriden);
bool DeleteMethodSelected(MenuItem selection, Modifiers mods)
{
- ClassFunction function = (ClassFunction)selection.id;
CodeObject object = methods.GetData(methodName);
if(object)
object.deleteBtn.NotifyClicked(this, object.deleteBtn, 0,0,0);
void CreateButtons(CodeObject codeObject, int y, int h, DataRow row)
{
- BitmapResource bitmap;
-
if(codeObject.overriden)
{
if(codeObject.overriden == 1)
}
else
{
- bool freeDataForm = false, freeDataTest = false;
+ //bool freeDataForm = false, freeDataTest = false;
// Because contents property is broken for mutiline EditBox at the moment
if(!strcmp(prop.name, "contents") && !strcmp(prop._class.name, "EditBox") && ((EditBox)object).multiLine)
{
if(this.subMember || this.subProperty)
{
- Class _class;
Instance current = (Instance)((void *(*)(void *))(void *)prop.Get)(object);
propObject = valueData.p = eInstance_New(dataType);
CopyInstanceData(dataType, propObject, current);
extern int __ecereVMethodID___ecereNameSpace__ecere__gui__Window_OnLeftButtonUp;
-static void Dummy()
+static __attribute__((unused)) void Dummy()
{
- Window a;
+ Window a = 0;
a.OnLeftButtonUp(0,0,0);
}
if(idResult)
return idResult;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
}
break;
idResult = FindCtxStatement(def.propertyWatch.compound, line, charPos);
if(idResult) return idResult;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
break;
}
{
Identifier idResult;
- Identifier id = GetDeclId(func.declarator);
- Symbol symbol = func.declarator.symbol;
- Type type = symbol.type;
Class oldThisClass = GetThisClass();
Context oldTopContext = GetTopContext();
{
Identifier idResult;
- Identifier id = GetDeclId(func.declarator);
Symbol symbol = func.declarator ? func.declarator.symbol : null;
Type type = symbol ? symbol.type : null;
Class oldThisClass = GetThisClass();
result = FindCtxStatement(def.getStmt, line, charPos);
if(result) return result;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
if(def.setStmt && Inside(&def.setStmt.loc, line, charPos))
{
result = FindCtxStatement(def.setStmt, line, charPos);
if(result) return result;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
return null;
}
if(idResult)
return idResult;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
}
break;
idResult = FindCtxStatement(def.propertyWatch.compound, line, charPos);
if(idResult) return idResult;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
break;
}
}
}
}
- if(!insideSomething && line > _class.blockStart.start.line || (line == _class.blockStart.start.line && charPos >= _class.blockStart.start.charPos) )
+ if(!insideSomething && (line > _class.blockStart.start.line || (line == _class.blockStart.start.line && charPos >= _class.blockStart.start.charPos)) )
{
insideClass = _class.symbol.registered;
return (void *)-1;
insideClass = null;
ctxInsideExp = null;
SetThisClass(null);
+ SetTopContext(GetGlobalContext());
insideFunction = null;
insideInstance = false;
isAfterEqual = false;
case fireWatchersStmt:
case stopWatchingStmt:
{
- Identifier _watch;
if(stmt._watch.watcher && Inside(&stmt._watch.watcher.loc, line, charPos))
{
expResult = FindExpExpression(stmt._watch.watcher, line, charPos);
if(expResult)
return expResult;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
}
break;
expResult = FindExpStatement(def.propertyWatch.compound, line, charPos);
if(expResult) return expResult;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
break;
}
{
Expression result;
- Identifier id = GetDeclId(func.declarator);
- Symbol symbol = func.declarator.symbol;
- Type type = symbol.type;
Class oldThisClass = GetThisClass();
Context oldTopContext = GetTopContext();
{
Expression result;
- Identifier id = GetDeclId(func.declarator);
Symbol symbol = func.declarator ? func.declarator.symbol : null;
Type type = symbol?symbol.type:null;
Class oldThisClass = GetThisClass();
{
Expression expResult;
External external;
+ SetThisClass(null);
+ SetTopContext(GetGlobalContext());
if(ast != null)
{
for(external = ast.first; external; external = external.next)
(loc.end.line > line || (loc.end.line == line && loc.end.charPos > charPos));
}
-static bool InsideEndIncl(Location loc, int line, int charPos)
+/*static bool InsideEndIncl(Location loc, int line, int charPos)
{
return !loc.start.included && (loc.start.line < line || (loc.start.line == line && loc.start.charPos < charPos)) &&
(loc.end.line > line || (loc.end.line == line && loc.end.charPos >= charPos));
-}
+}*/
Identifier FindParamsIdentifier(Identifier id, int line, int charPos)
{
if(idResult)
return idResult;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
}
break;
idResult = FindParamsStatement(def.propertyWatch.compound, line, charPos);
if(idResult) return idResult;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
break;
}
{
Identifier idResult;
- Identifier id = GetDeclId(func.declarator);
- Symbol symbol = func.declarator.symbol;
- Type type = symbol.type;
Class oldThisClass = GetThisClass();
Context oldTopContext = GetTopContext();
{
Identifier idResult;
- Identifier id = GetDeclId(func.declarator);
Symbol symbol = func.declarator ? func.declarator.symbol : null;
Type type = symbol ? symbol.type : null;
Class oldThisClass = GetThisClass();
result = FindParamsStatement(def.getStmt, line, charPos);
if(result) return result;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
if(def.setStmt && Inside(&def.setStmt.loc, line, charPos))
{
result = FindParamsStatement(def.setStmt, line, charPos);
if(result) return result;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
return null;
}
if(idResult)
return idResult;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
}
break;
idResult = FindParamsStatement(def.propertyWatch.compound, line, charPos);
if(idResult) return idResult;
SetThisClass(oldThisClass);
+ SetTopContext(oldTopContext);
}
break;
}
insideClass = null;
paramsInsideExp = null;
SetThisClass(null);
+ SetTopContext(GetGlobalContext());
paramsID = -1;
functionType = null;
instanceType = null;
char compilerPath[MAX_LOCATION];
compilerPath[0] = '\0';
GetEnvironment(compilerSignatureEnvVars[selectedCompilerType], compilerPath, sizeof(compilerPath));
- if(compilerPath && compilerPath[0] && FileExists(compilerPath).isDirectory)
+ if(compilerPath[0] && FileExists(compilerPath).isDirectory)
{
PathCat(compilerPath, "vsvars32.bat"); // is this file name constant and this file always present?
if(FileExists(compilerPath).isFile)
{
compilerPath[0] = '\0';
GetEnvironment(varName, compilerPath, sizeof(compilerPath));
- if(compilerPath && compilerPath[0] && FileExists(compilerPath).isDirectory)
+ if(compilerPath[0] && FileExists(compilerPath).isDirectory)
{
PathCat(compilerPath, "vsvars32.bat"); // is this file name constant and this file always present?
if(FileExists(compilerPath).isFile)
bool OnPostCreate()
{
- bool disabled;
bool withWorkspace = ide.workspace != null;
DataRow row;
if(!inDirectoryRow)
void SearchStart()
{
- char text[2048];
-
searchThread.active = true;
searchThread.project = null;
searchThread.projectNode = null;
{
searchThread.mode = project;
searchThread.project = (Project)findIn.currentRow.tag;
- searchThread.projectNode = (ProjectNode)(findWherePrjNode.currentRow ? findWherePrjNode.currentRow.tag : null);
+ searchThread.projectNode = (ProjectNode)(findWherePrjNode.currentRow ? (void *)(intptr)findWherePrjNode.currentRow.tag : null);
}
//searchThread.nameMatchCase = nameMatchCase.checked;
//searchThread.nameWholeWord = nameWholeWord.checked;
unsigned int Main()
{
- int frame, treeTop = 0;
+ int frame;
int globalFindCount = 0, filesSearchedCount = 0, filesMatchedCount = 0, dirsMatchedCount = 0;
//double lastTime = GetTime();
SearchStackFrame stack[stackSize];
}
else if(mode == workspace || mode == project)
{
- int len;
- char path[MAX_LOCATION];
bool firtIteration = true;
Project prj = project;
ProjectNode stack[1024];
while(f.GetLine(line, 65536/* should there be a - 1 here? */) && !abortNow)
{
int col = 0;
- char * find = null;
- int inLineFindCount = 0;
if(SearchString(line, 0, contentCriteria, contentMatchCase, contentWholeWord) && !abortNow)
{
int lastLineNum = 0;
bool editorSettingsChanged = false;
bool compilerSettingsChanged = false;
bool projectOptionsChanged = false;
- bool workspaceOptionsChanged = false;
-
if(editorTab.modifiedDocument)
{
if(editorTab.useFreeCaret.checked != ideSettings.useFreeCaret ||
if(compilersTab.modifiedDocument)
{
- Workspace workspace = ide.workspace;
if(strcmp(compilersTab.compilerConfigsDir.path, ideSettings.compilerConfigsDir))
ideSettings.compilerConfigsDir = compilersTab.compilerConfigsDir.path;
ideSettings.compilerConfigs.Free();
if(!ideSettings.defaultCompiler || strcmp(row.string, ideSettings.defaultCompiler))
{
ideSettings.defaultCompiler = row.string;
- workspaceOptionsChanged = true;
}
}
}
projectWindow = ide.CreateProjectView(workspace, filePath);
{
- char extension[MAX_EXTENSION];
Window document = null;
for(document = ide.firstChild; document; document = document.next)
{
{
if(bitmap)
{
- ColorAlpha * palette = bitmap.Quantize(0, 255);
+ //ColorAlpha * palette = bitmap.Quantize(0, 255);
bitmapNotIndexed = { };
bitmapNotIndexed.Copy(bitmap);
bitmapNotIndexed.Convert(null, pixelFormat888, null);
if(activeFrame)
{
bool error;
- int lineCursor, lineTopFrame, activeThread, hitThread;
+ int lineCursor, lineTopFrame;
int lineH, scrollY, boxH;
BitmapResource bmp;
Breakpoint bp = null;
boxH = clientSize.h;
scrollY = editBox.scroll.y;
displaySystem.FontExtent(editBox.font.font, " ", 1, null, &lineH);
- activeThread = debugger.activeThread;
- hitThread = debugger.hitThread;
+ //activeThread = debugger.activeThread;
+ //hitThread = debugger.hitThread;
debugger.GetCallStackCursorLine(&error, &lineCursor, &lineTopFrame);
// TODO: improve bp drawing... it should be visible even if it's not on the activeFrame
if(this)
{
Window child;
- bool inDebugMode = debugger.isActive;
bool callStackVisible = expand ? false : callStackView.visible;
bool threadsVisible = expand ? false : threadsView.visible;
bool watchesVisible = expand ? false : watchesView.visible;
bool running = isDebuggerRunning;
bool stopped = isDebuggerStopped;
bool active = debugger.isActive;
- bool noBreakpointToggle = !project;
bool isNotRunning = unavailable || !running;
bool isNotNotRunning = unavailable || running;
{
for(;;)
{
- Project project;
Workspace workspace = null;
if(FileExists(filePath))
workspace = LoadWorkspace(filePath, null);
else
return null;
- //project = LoadProject(filePath, null);
}
if(workspace)
{
- char absolutePath[MAX_LOCATION];
CreateProjectView(workspace, filePath);
document = projectView;
IDEWorkSpace()
{
// Graphics Driver Menu
- int c;
/*
app.currentSkin.selectionColor = selectionColor;
Menu recentProjects = fileMenu.FindMenu($"Recent Projects");
char * itemPath = new char[MAX_LOCATION];
char * itemName = new char[MAX_LOCATION+4];
- MenuItem item;
recentFiles.Clear();
c = 0;
bool error;
int lineActive, lineUser;
int lineH;
- int scrollY = listBox.scroll.y;
- int boxH = clientSize.h;
+ //int scrollY = listBox.scroll.y;
+ //int boxH = clientSize.h;
displaySystem.FontExtent(listBox.font.font, " ", 1, null, &lineH);
//Window::OnRedraw(surface);
void AddBreakpoint(Breakpoint bp)
{
- char string[32];
DataRow row = listBox.AddRow();
row.tag = (int64)bp;
bp.row = row;
bool loggedALine = false;
int lenMakeCommand = strlen(compiler.makeCommand);
int testLen = 0;
- const char * t, * s;
+ const char * t, * s, * s2;
char moduleName[MAX_FILENAME];
const char * gnuToolchainPrefix = compiler.gnuToolchainPrefix ? compiler.gnuToolchainPrefix : "";
const char * inFileIncludedFrom = strstr(line, stringInFileIncludedFrom);
const char * from = strstr(line, stringFrom);
test.copyLenSingleBlankReplTrim(line, ' ', true, testLen);
- if((t = strstr(line, (s=": recipe for target"))) && (t = strstr(t+strlen(s), (s=" failed"))) && (t+strlen(s))[0] == '\0')
+ if((t = strstr(line, (s=": recipe for target"))) && (t = strstr(t+strlen(s), (s2 = " failed"))) && (t+strlen(s2))[0] == '\0')
; // ignore this new gnu make error but what is it about?
else if(strstr(line, compiler.makeCommand) == line && line[lenMakeCommand] == ':')
{
if(module) module++;
if(module)
{
- byte * tokens[1];
+ char * tokens[1];
char * dashF = strstr(module, "-F ");
if(dashF)
{
{
char fullModuleName[MAX_LOCATION];
FileAttribs found = 0;
- Project foundProject = this;
+ //Project foundProject = this;
if(moduleName[0])
{
char * loc = strstr(moduleName, ":");
found = FileExists(fullModuleName);
if(found)
{
- foundProject = prj;
+ //foundProject = prj;
break;
}
}
found = FileExists(fullModuleName);
if(found)
{
- foundProject = prj;
+ //foundProject = prj;
break;
}
}
{
if(f.GetExitCode() && !numErrors)
{
- bool result = f.GetLine(line, sizeof(line)-1);
+ /*bool result = */f.GetLine(line, sizeof(line)-1);
ide.outputView.buildBox.Logf($"Fatal Error: child process terminated unexpectedly\n");
}
else if(buildType != install)
}
else
{
- int len;
char pushD[MAX_LOCATION];
char cfDir[MAX_LOCATION];
GetIDECompilerConfigsDir(cfDir, true, true);
// Create object dir if it does not exist already
if(!FileExists(objDirExp.dir).isDirectory)
{
- sprintf(command, "%s CF_DIR=\"%s\"%s%s%s%s COMPILER=%s objdir -C \"%s\"%s -f \"%s\"",
+ sprintf(command, "%s CF_DIR=\"%s\"%s%s%s%s%s COMPILER=%s objdir -C \"%s\"%s -f \"%s\"",
compiler.makeCommand, cfDir,
crossCompiling ? " TARGET_PLATFORM=" : "",
targetPlatform,
if(compiler.type.isVC)
{
- bool result = false;
+ //bool result = false;
char oldwd[MAX_LOCATION];
GetWorkingDir(oldwd, sizeof(oldwd));
ChangeWorkingDir(topNode.path);
{
ProcessPipeOutputRaw(f);
delete f;
- result = true;
+ //result = true;
}
ChangeWorkingDir(oldwd);
}
if(compiler.type.isVC)
{
- bool result = false;
+ //bool result = false;
char oldwd[MAX_LOCATION];
GetWorkingDir(oldwd, sizeof(oldwd));
ChangeWorkingDir(topNode.path);
{
ProcessPipeOutputRaw(f);
delete f;
- result = true;
+ //result = true;
}
ChangeWorkingDir(oldwd);
//return result;
char targetDirExpNoSpaces[MAX_LOCATION];
char fixedModuleName[MAX_FILENAME];
char fixedConfigName[MAX_FILENAME];
- int c, len;
+ int c;
int lenObjDirExpNoSpaces, lenTargetDirExpNoSpaces;
// Non-zero if we're building eC code
// We'll have to be careful with this when merging configs where eC files can be excluded in some configs and included in others
if(compilerConfigsDir && compilerConfigsDir[0])
{
strcpy(cfDir, compilerConfigsDir);
- if(cfDir && cfDir[0] && cfDir[strlen(cfDir)-1] != '/')
+ if(cfDir[0] && cfDir[strlen(cfDir)-1] != '/')
strcat(cfDir, "/");
}
else
void GenMakefilePrintMainObjectRule(File f, ProjectConfig config)
{
char extension[MAX_EXTENSION] = "c";
- char modulePath[MAX_LOCATION];
+ //char modulePath[MAX_LOCATION];
char fixedModuleName[MAX_FILENAME];
- DualPipe dep;
- char command[2048];
+ //DualPipe dep;
+ //char command[2048];
char objDirNoSpaces[MAX_LOCATION];
const String objDirExp = GetObjDirExpression(config);
char section[128];
char subSection[128];
char * equal;
- int len;
uint pos;
pos = f.Tell();
Project LegacyAsciiLoadProject(File f, const char * filePath)
{
Project project = null;
- ProjectNode node = null;
+ //ProjectNode node = null;
int pos;
char parentPath[MAX_LOCATION];
char section[128] = "";
child.type = file;
child.icon = NodeIcons::SelectFileIcon(child.name);
parent.files.Add(child);
- node = child;
+ //node = child;
//child = null;
}
else
PathCatSlash(parentPath, child.name);
parent.files.Add(child);
parent = child;
- node = child;
+ //node = child;
//child = null;
}
else if(!strcmpi(section, "Configurations"))
project.filePath = topNodePath;
parentPath[0] = '\0';
parent = project.topNode;
- node = parent;
+ //node = parent;
strcpy(section, "Target");
equal = &buffer[6];
if(equal[0] == ' ')
child.icon = archiveFile;
project.resNode = child;
parent = child;
- node = child;
+ //node = child;
strcpy(subSection, buffer);
}
else
if(!project)
{
JSONParser parser { f = f };
- JSONResult result = parser.GetObject(class(Project), &project);
+ /*JSONResult result = */parser.GetObject(class(Project), &project);
if(project)
{
char insidePath[MAX_LOCATION];
const char * expr = expression;
if(!expr || !expr[0])
{
- char buffer[MAX_LOCATION];
if(ideSettings)
{
if(type == targetDir)
{
int c, d;
const char * configName = config && config.name && config.name[0] ? config.name : "Common";
- const char * projectName = project.name ? project.name : "";
const char * moduleName = project.moduleName ? project.moduleName : "";
const char * compilerName = (compiler && compiler.name) ? compiler.name : defaultCompilerName;
const char * targetPlatformName = compiler && compiler.targetPlatform ? compiler.targetPlatform : "";
static define app = ((GuiApplication)__thisModule);
#endif
-#define OPTION(x) ((uint)(&((ProjectOptions)0).x))
+#define OPTION(x) ((uint)(uintptr)(&((ProjectOptions)0).x))
static void OutputLog(const char * string)
{
// TODO: Check how to fix duplication of following options when configuration is made per-config-per-file
while((node = nodeStack.lastIterator.data))
{
- ProjectConfig config = GetMatchingNodeConfig(prjConfig);
ProjectOptions nodeOptions = node.property::options;
if(nodeOptions && nodeOptions.preprocessorDefinitions)
{
ProjectConfig config = GetMatchingNodeConfig(prjConfig);
ProjectOptions options = property::options;
Array<PlatformOptions> platforms = property::platforms;
- List<ProjectConfig> configurations = property::configurations;
if(parent)
parent.CollectExclusionInfo(output, prjConfig);
void OnDisplay(Surface surface, int x, int y, int width, ProjectView projectView, Alignment alignment, DataDisplayFlags displayFlags)
{
char label[MAX_FILENAME];
- int indent = 16;
int xStart;
int len;
int w, h;
}
bmp = projectView.icons[icon].bitmap;
- xStart = /*indent * indent + */x + (bmp ? (bmp.width + 5) : 0);
+ xStart = x + (bmp ? (bmp.width + 5) : 0);
GetLastDirectory(name, label);
if(!showConfig || projectView.drawingInProjectSettingsDialogHeader)
GetExtension(name, extension);
if(!strcmpi(extension, "ec"))
{
- DualPipe dep;
- char command[2048];
+ //DualPipe dep;
+ //char command[2048];
ReplaceSpaces(moduleName, name);
StripExtension(moduleName);
Map<intptr, int> nodeCFlagsMapping, Map<intptr, int> nodeECFlagsMapping)
{
int ifCount = 0;
- ProjectConfig config = GetMatchingNodeConfig(prjConfig);
Array<Platform> platforms = GetPlatformsArrayFromExclusionInfo(prjConfig);
//ProjectNode child;
//char objDir[MAX_LOCATION];
GetExtension(name, extension);
if(!strcmpi(extension, "ec"))
{
- DualPipe dep;
- char command[2048];
-
ReplaceSpaces(moduleName, name);
StripExtension(moduleName);
Map<intptr, int> nodeCFlagsMapping, Map<intptr, int> nodeECFlagsMapping)
{
int ifCount = 0;
- ProjectConfig config = GetMatchingNodeConfig(prjConfig);
Array<Platform> platforms = GetPlatformsArrayFromExclusionInfo(prjConfig);
//ProjectNode child;
//char objDir[MAX_LOCATION];
GetExtension(name, extension);
if(!strcmpi(extension, "ec"))
{
- DualPipe dep;
- char command[2048];
+ //DualPipe dep;
+ //char command[2048];
ReplaceSpaces(moduleName, name);
StripExtension(moduleName);
Map<intptr, int> nodeCFlagsMapping, Map<intptr, int> nodeECFlagsMapping)
{
int ifCount = 0;
- ProjectConfig config = GetMatchingNodeConfig(prjConfig);
Array<Platform> platforms = GetPlatformsArrayFromExclusionInfo(prjConfig);
//ProjectNode child;
//char objDir[MAX_LOCATION];
!strcmpi(extension, "cpp") || !strcmpi(extension, "cc") || !strcmpi(extension, "cxx") ||
!strcmpi(extension, "m") || !strcmpi(extension, "mm") || !strcmpi(extension, "ec"))
{
- DualPipe dep;
- char command[2048];
+ //DualPipe dep;
+ //char command[2048];
NameCollisionInfo info;
ReplaceSpaces(moduleName, name);
// p Platform
// u Utility (GenericOptionTools)
- int e;
int o;
int priority = 0;
int includeDirsOption = OPTION(includeDirs);
static void CollectPlatformsCommonOptions(Map<Platform, ProjectOptions> byPlatformOptions, ProjectOptions * platformsCommonOptions)
{
- char * s;
- int i;
ProjectOptions first;
ProjectOptions commonOptions;
{
for(p : ide.workspace.projects)
{
- Project pr = p;
prj = project ? project : p;
if((n = prj.topNode.FindByFullPath(documentFileName, false)))
{
bool ProjectPrepareForToolchain(Project project, PrepareMakefileMethod method, bool cleanLog, bool displayCompiler,
CompilerConfig compiler, ProjectConfig config)
{
- bool isReady = true;
- char message[MAX_F_STRING];
- LogBox logBox = ide.outputView.buildBox;
-
ShowOutputBuildLog(cleanLog);
if(displayCompiler)
{
OldLink item;
OldList selectedRows;
- List<ProjectNode> nodes { };
fileList.GetMultiSelection(selectedRows);
for(item = selectedRows.first; item; item = item.next)
{
- OldLink i;
DataRow row = item.data;
ProjectNode node = (ProjectNode)row.tag;
if(node.type == project)
bool Compile(Project project, List<ProjectNode> nodes, bool justPrint, SingleFileCompileMode mode)
{
bool result = true;
- char fileName[MAX_LOCATION];
Window document;
ProjectConfig config = project.config;
bool Clean(Project project, List<ProjectNode> nodes, bool justPrint)
{
bool result = true;
- char fileName[MAX_LOCATION];
Window document;
ProjectConfig config = project.config;
fileList.GetMultiSelection(selectedRows);
for(item = selectedRows.first; item; item = item.next)
{
- OldLink i;
DataRow row = item.data;
ProjectNode node = (ProjectNode)row.tag;
if(!project)
fileList.GetMultiSelection(selectedRows);
for(item = selectedRows.first; item; item = item.next)
{
- OldLink i;
DataRow row = item.data;
ProjectNode node = (ProjectNode)row.tag;
if(!project)
{
char moduleName[MAX_LOCATION], filePath[MAX_LOCATION] = "";
char ext[MAX_EXTENSION] = "";
- char * bracket;
ProjectNode node = null;
if(colon)
{
if(projectNode.files)
{
ProjectNode child;
- while(child = projectNode.files.first)
+ while((child = projectNode.files.first))
DeleteNode(child);
}
fileList.DeleteRow(projectNode.row);
GetLastDirectory(relative, name);
for(p : projects)
{
- if(node = p.topNode.Find(name, false))
+ if((node = p.topNode.Find(name, false)))
{
prj = p;
break;
void UpdateSourceDirsArray(Array<String> dirs)
{
- byte * tokens[256];
- int c, numTokens;
-
sourceDirs.Free();
for(s : dirs)
{
char buffer[65536];
char * equal;
- int len;
Watch wh;
Breakpoint bp;
else if(fromProjectFile)
{
//MessageBox { type = Ok, master = ide, contents = "Worspace load file failed", text = "Worspace Load File Error" }.Modal();
-
- char projectFile[MAX_LOCATION];
+ //char projectFile[MAX_LOCATION];
Project newProject;
//strcpy(projectFile, filePath);
char modulePath[MAX_LOCATION];
char moduleName[MAX_FILENAME];
char relativePath[MAX_LOCATION];
- ProjectConfig config = null;
Array<String> perFilePreprocessorDefs { };
Array<DirPath> perFileIncludeDirs { };