compiler/libec: Updated bootstrap and i18n template
authorJerome St-Louis <jerome@ecere.com>
Mon, 17 Sep 2012 03:59:22 +0000 (23:59 -0400)
committerJerome St-Louis <jerome@ecere.com>
Mon, 17 Sep 2012 03:59:22 +0000 (23:59 -0400)
compiler/bootstrap/libec/bootstrap/freeAst.c
compiler/bootstrap/libec/bootstrap/loadSymbols.c
compiler/bootstrap/libec/bootstrap/pass3.c
compiler/libec/locale/ec.pot

index 05743a9..88192d4 100644 (file)
@@ -1344,14 +1344,12 @@ switch(spec->type)
 {
 case 1:
 (__ecereNameSpace__ecere__com__eSystem_Delete(spec->name), spec->name = 0);
+if(spec->templateArgs)
+FreeList(spec->templateArgs, FreeTemplateArgument);
 break;
 case 5:
 if(spec->extDecl)
 FreeExtDecl(spec->extDecl);
-if(spec->templateArgs)
-{
-FreeList(spec->templateArgs, FreeTemplateArgument);
-}
 break;
 case 2:
 if(spec->id)
@@ -1368,7 +1366,7 @@ FreeIdentifier(spec->id);
 if(spec->definitions)
 FreeList(spec->definitions, FreeClassDef);
 if(spec->baseSpecs)
-;
+FreeList(spec->baseSpecs, FreeSpecifier);
 if(spec->ctx)
 {
 FreeContext(spec->ctx);
index d543333..02a83b4 100644 (file)
@@ -1466,8 +1466,6 @@ for(c = 0; name[c]; c++)
 if(name[c] == '.' || (name[c] == ':' && name[c + 1] == ':'))
 {
 struct __ecereNameSpace__ecere__com__NameSpace * newSpace;
-
-{
 char * spaceName = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (c - start + 1));
 
 strncpy(spaceName, name + start, c - start);
@@ -1486,7 +1484,6 @@ __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&(*nameSpace).nameSpa
 }
 else
 (__ecereNameSpace__ecere__com__eSystem_Delete(spaceName), spaceName = 0);
-}
 nameSpace = newSpace;
 if(name[c] == ':')
 c++;
@@ -1495,7 +1492,7 @@ start = c + 1;
 }
 if(c - start)
 {
-data = (struct GlobalData *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(&(*nameSpace).functions, name);
+data = (struct GlobalData *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(&(*nameSpace).functions, name + start);
 if(!data)
 {
 data = (__ecereTemp1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_GlobalData), ((struct GlobalData *)__ecereTemp1)->fullName = __ecereNameSpace__ecere__sys__CopyString(name), ((struct GlobalData *)__ecereTemp1)->dataTypeString = __ecereNameSpace__ecere__sys__CopyString(line), ((struct GlobalData *)__ecereTemp1)->module = privateModule, ((struct GlobalData *)__ecereTemp1));
index 2bac57b..11f3d42 100644 (file)
@@ -1092,9 +1092,12 @@ name[0] = (char)0;
 FullClassNameCat(name, _class->fullName, 0x0);
 (__ecereNameSpace__ecere__com__eSystem_Delete(spec->name), spec->name = 0);
 spec->type = 3;
+spec->baseSpecs = (((void *)0));
 spec->id = MkIdentifier(name);
 spec->list = (((void *)0));
 spec->definitions = (((void *)0));
+spec->ctx = (((void *)0));
+spec->addNameSpace = 0x0;
 }
 else if(_class && _class->type == 5)
 {
@@ -1103,9 +1106,12 @@ char name[1024] = "";
 FullClassNameCat(name, _class->fullName, 0x0);
 (__ecereNameSpace__ecere__com__eSystem_Delete(spec->name), spec->name = 0);
 spec->type = 3;
+spec->baseSpecs = (((void *)0));
 spec->id = MkIdentifier(name);
 spec->list = (((void *)0));
 spec->definitions = (((void *)0));
+spec->ctx = (((void *)0));
+spec->addNameSpace = 0x0;
 }
 else if(_class)
 {
@@ -1150,7 +1156,10 @@ else
 spec->type = 3;
 spec->id = MkIdentifier("__ecereNameSpace__ecere__com__Instance");
 spec->list = (((void *)0));
+spec->baseSpecs = (((void *)0));
 spec->definitions = (((void *)0));
+spec->ctx = (((void *)0));
+spec->addNameSpace = 0x0;
 }
 if(_class && _class->dataTypeString && !strcmp(_class->dataTypeString, "char *"))
 return 0x1;
index 363036d..f9b4fbc 100644 (file)
@@ -44,7 +44,7 @@ msgstr "Couldn't determine type of array elements\n"
 msgid "Couldn't find member %s to override\n"
 msgstr "Couldn't find member %s to override\n"
 
-#: ./src/loadSymbols.ec:720
+#: ./src/loadSymbols.ec:716
 msgid "Couldn't open %s\n"
 msgstr "Couldn't open %s\n"
 
@@ -126,7 +126,7 @@ msgstr "Public %s making use of a private class\n"
 msgid "Recursion in defined expression %s\n"
 msgstr "Recursion in defined expression %s\n"
 
-#: ./src/loadSymbols.ec:1004
+#: ./src/loadSymbols.ec:1000
 msgid "Redefinition of %s (defining as %s, already defined as %s)\n"
 msgstr "Redefinition of %s (defining as %s, already defined as %s)\n"