sdk: const correctness
authorJerome St-Louis <jerome@ecere.com>
Wed, 28 May 2014 20:16:19 +0000 (16:16 -0400)
committerJerome St-Louis <jerome@ecere.com>
Thu, 29 May 2014 16:44:47 +0000 (12:44 -0400)
215 files changed:
compiler/bootstrap/ecc/bootstrap/ecc.c
compiler/bootstrap/ecc/bootstrap/ecc.main.c
compiler/bootstrap/ecere/bootstrap/AVLTree.c
compiler/bootstrap/ecere/bootstrap/Array.c
compiler/bootstrap/ecere/bootstrap/BTNode.c
compiler/bootstrap/ecere/bootstrap/BinaryTree.c
compiler/bootstrap/ecere/bootstrap/BufferedFile.c
compiler/bootstrap/ecere/bootstrap/BuiltInContainer.c
compiler/bootstrap/ecere/bootstrap/Container.c
compiler/bootstrap/ecere/bootstrap/CustomAVLTree.c
compiler/bootstrap/ecere/bootstrap/DualPipe.c
compiler/bootstrap/ecere/bootstrap/File.c
compiler/bootstrap/ecere/bootstrap/LinkList.c
compiler/bootstrap/ecere/bootstrap/List.c
compiler/bootstrap/ecere/bootstrap/Map.c
compiler/bootstrap/ecere/bootstrap/OldList.c
compiler/bootstrap/ecere/bootstrap/String.c
compiler/bootstrap/ecere/bootstrap/System.c
compiler/bootstrap/ecere/bootstrap/TempFile.c
compiler/bootstrap/ecere/bootstrap/dataTypes.c
compiler/bootstrap/ecere/bootstrap/ecere.main.c
compiler/bootstrap/ecere/bootstrap/i18n.c
compiler/bootstrap/ecere/bootstrap/instance.c
compiler/bootstrap/ecere/bootstrap/memory.c
compiler/bootstrap/ecp/bootstrap/ecp.c
compiler/bootstrap/ecp/bootstrap/ecp.main.c
compiler/bootstrap/ecs/bootstrap/ecs.c
compiler/bootstrap/ecs/bootstrap/ecs.main.c
compiler/bootstrap/libec/bootstrap/ast.c
compiler/bootstrap/libec/bootstrap/copy.c
compiler/bootstrap/libec/bootstrap/dbpass.c
compiler/bootstrap/libec/bootstrap/ec.main.c
compiler/bootstrap/libec/bootstrap/ecdefs.c
compiler/bootstrap/libec/bootstrap/expression.c
compiler/bootstrap/libec/bootstrap/firstPass.c
compiler/bootstrap/libec/bootstrap/freeAst.c
compiler/bootstrap/libec/bootstrap/grammar.c
compiler/bootstrap/libec/bootstrap/lexer.c
compiler/bootstrap/libec/bootstrap/loadSymbols.c
compiler/bootstrap/libec/bootstrap/output.c
compiler/bootstrap/libec/bootstrap/pass0.c
compiler/bootstrap/libec/bootstrap/pass1.c
compiler/bootstrap/libec/bootstrap/pass15.c
compiler/bootstrap/libec/bootstrap/pass16.c
compiler/bootstrap/libec/bootstrap/pass2.c
compiler/bootstrap/libec/bootstrap/pass3.c
compiler/bootstrap/libec/bootstrap/shortcuts.c
compiler/bootstrap/libec/bootstrap/type.c
compiler/ecc/ecc.ec
compiler/ecp/ecp.ec
compiler/ecs/ecs.ec
compiler/libec/precompiled/expression.c
compiler/libec/precompiled/grammar.c
compiler/libec/precompiled/type.c
compiler/libec/src/ast.ec
compiler/libec/src/dbpass.ec
compiler/libec/src/ecdefs.ec
compiler/libec/src/firstPass.ec
compiler/libec/src/lexer.ec
compiler/libec/src/loadSymbols.ec
compiler/libec/src/pass0.ec
compiler/libec/src/pass1.ec
compiler/libec/src/pass15.ec
compiler/libec/src/pass16.ec
compiler/libec/src/pass2.ec
compiler/libec/src/pass3.ec
compiler/libec/src/shortcuts.ec
documentor/src/Documentor.ec
ear/cmd/ear.ec
ear/extract/extract.ec
ecere/src/com/BTNode.ec
ecere/src/com/BinaryTree.ec
ecere/src/com/OldList.ec
ecere/src/com/String.ec
ecere/src/com/containers/AVLTree.ec
ecere/src/com/containers/Array.ec
ecere/src/com/containers/BuiltInContainer.ec
ecere/src/com/containers/Container.ec
ecere/src/com/containers/CustomAVLTree.ec
ecere/src/com/containers/LinkList.ec
ecere/src/com/containers/List.ec
ecere/src/com/containers/Map.ec
ecere/src/com/dataTypes.ec
ecere/src/com/instance.c
ecere/src/com/instance.ec
ecere/src/gfx/3D/Matrix.ec
ecere/src/gfx/3D/Object.ec
ecere/src/gfx/3D/meshes/SkyBox.ec
ecere/src/gfx/3D/models/Object3DSFormat.ec
ecere/src/gfx/Bitmap.ec
ecere/src/gfx/BitmapResource.ec
ecere/src/gfx/Color.ec
ecere/src/gfx/Display.ec
ecere/src/gfx/DisplaySystem.ec
ecere/src/gfx/FontResource.ec
ecere/src/gfx/Surface.ec
ecere/src/gfx/bitmaps/BMPFormat.ec
ecere/src/gfx/bitmaps/GIFFormat.ec
ecere/src/gfx/bitmaps/JPEGFormat.ec
ecere/src/gfx/bitmaps/PCXFormat.ec
ecere/src/gfx/bitmaps/PNGFormat.ec
ecere/src/gfx/bitmaps/RGBFormat.ec
ecere/src/gfx/drivers/CocoaOpenGLDisplayDriver.ec
ecere/src/gfx/drivers/Direct3D8DisplayDriver.ec
ecere/src/gfx/drivers/Direct3D9DisplayDriver.ec
ecere/src/gfx/drivers/DirectDrawDisplayDriver.ec
ecere/src/gfx/drivers/GDIDisplayDriver.ec
ecere/src/gfx/drivers/LFBDisplayDriver.ec
ecere/src/gfx/drivers/NCursesDisplayDriver.ec
ecere/src/gfx/drivers/OpenGLDisplayDriver.ec
ecere/src/gfx/drivers/Win32BitmapPrinterDisplayDriver.ec
ecere/src/gfx/drivers/Win32ConsoleDisplayDriver.ec
ecere/src/gfx/drivers/Win32PrinterDisplayDriver.ec
ecere/src/gfx/drivers/XDisplayDriver.ec
ecere/src/gui/Anchor.ec
ecere/src/gui/Cursor.ec
ecere/src/gui/FormDesigner.ec
ecere/src/gui/GuiApplication.ec
ecere/src/gui/Interface.ec
ecere/src/gui/Key.ec
ecere/src/gui/Skin.ec
ecere/src/gui/Window.ec
ecere/src/gui/controls/Button.ec
ecere/src/gui/controls/CalendarControl.ec
ecere/src/gui/controls/DataBox.ec
ecere/src/gui/controls/DropBox.ec
ecere/src/gui/controls/EditBox.ec
ecere/src/gui/controls/Label.ec
ecere/src/gui/controls/ListBox.ec
ecere/src/gui/controls/Menu.ec
ecere/src/gui/controls/PathBox.ec
ecere/src/gui/controls/StatusBar.ec
ecere/src/gui/controls/TabControl.ec
ecere/src/gui/controls/ToolTip.ec
ecere/src/gui/dialogs/FileDialog.ec
ecere/src/gui/dialogs/FindDialog.ec
ecere/src/gui/dialogs/MessageBox.ec
ecere/src/gui/dialogs/ReplaceDialog.ec
ecere/src/gui/drivers/AndroidInterface.ec
ecere/src/gui/drivers/NCursesInterface.ec
ecere/src/gui/drivers/Win32ConsoleInterface.ec
ecere/src/gui/drivers/Win32Interface.ec
ecere/src/gui/drivers/XInterface.ec
ecere/src/gui/drivers/cocoa/CocoaDispatch.ec
ecere/src/gui/drivers/cocoa/CocoaEcereBridge.h
ecere/src/gui/drivers/cocoa/CocoaInterface.ec
ecere/src/gui/skins/TVisionSkin.ec
ecere/src/gui/skins/WindowsSkin.ec
ecere/src/gui/typeEdit.ec
ecere/src/net/HTTPFile.ec
ecere/src/net/NetworkClientFile.ec
ecere/src/net/SSLSocket.ec
ecere/src/net/Socket.ec
ecere/src/net/dcom.ec
ecere/src/net/network.ec
ecere/src/sys/Archive.ec
ecere/src/sys/BufferedFile.ec
ecere/src/sys/Condition.ec
ecere/src/sys/Date.ec
ecere/src/sys/DualPipe.c
ecere/src/sys/DualPipe.ec
ecere/src/sys/EARArchive.ec
ecere/src/sys/File.c
ecere/src/sys/File.ec
ecere/src/sys/FileMonitor.ec
ecere/src/sys/GlobalAppSettings.ec
ecere/src/sys/JSON.ec
ecere/src/sys/System.c
ecere/src/sys/System.ec
ecere/src/sys/TempFile.ec
ecere/src/sys/Time.ec
ecere/src/sys/i18n.ec
ecere/src/sys/unicode.ec
ecere/src/sys/units.ec
eda/drivers/sqlite/EDASQLite.ec
eda/libeda/src/DirFilesDataSource.ec
eda/libeda/src/EDA.ec
eda/libeda/src/ers.ec
eda/libeda/src/gui.ec
eda/libeda/src/gui/TableEditor.ec
eda/libeda/src/idList.ec
epj2make/epj2make.ec
extras/FileSystemIterator.ec
extras/gui/controls/StringsBox.ec
extras/html/HTMLView.ec
extras/types/DynamicString.ec
ide/src/IDESettings.ec
ide/src/OldIDESettings.ec
ide/src/ProjectSettings.ec
ide/src/debugger/Debugger.ec
ide/src/debugger/GDBDialog.ec
ide/src/designer/CodeEditor.ec
ide/src/designer/CodeObject.ec
ide/src/designer/Designer.ec
ide/src/designer/Sheet.ec
ide/src/designer/ToolBox.ec
ide/src/designer/findParams.ec
ide/src/dialogs/CompilersDetectionDialog.ec
ide/src/dialogs/FindInFilesDialog.ec
ide/src/dialogs/GlobalSettingsDialog.ec
ide/src/dialogs/NewProjectDialog.ec
ide/src/dialogs/WorkspaceSettings.ec
ide/src/documents/ModelView.ec
ide/src/documents/PictureEdit.ec
ide/src/ide.ec
ide/src/licensing.ec
ide/src/panels/CallStackView.ec
ide/src/panels/OutputView.ec
ide/src/panels/ThreadsView.ec
ide/src/project/Project.ec
ide/src/project/ProjectConfig.ec
ide/src/project/ProjectNode.ec
ide/src/project/ProjectView.ec
ide/src/project/Workspace.ec
ide/src/project/vsSupport.ec

index f54da9b..b9eb5c4 100644 (file)
@@ -80,7 +80,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -90,7 +90,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -117,7 +117,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -352,7 +352,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -373,16 +373,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -394,7 +394,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -406,13 +406,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -437,12 +437,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -472,13 +472,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -506,7 +506,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -520,7 +520,7 @@ struct __ecereNameSpace__ecere__sys__BinaryTree functions;
 
 static struct __ecereNameSpace__ecere__com__NameSpace globalData;
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char *  fileName, int mode);
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(const char *  fileName, int mode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_MethodImport;
 
@@ -553,7 +553,7 @@ struct FunctionImport * next;
 char *  name;
 } __attribute__ ((gcc_struct));
 
-int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, char *  format, ...);
+int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, const char *  format, ...);
 
 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -654,7 +654,7 @@ extern int __ecereNameSpace__ecere__com__GetRuntimePlatform(void);
 
 extern int GetHostBits(void);
 
-extern void SetSymbolsDir(char *  s);
+extern void SetSymbolsDir(const char *  s);
 
 extern int strcmp(const char * , const char * );
 
@@ -668,33 +668,33 @@ extern void SetBuildingEcereCom(unsigned int b);
 
 extern void SetBuildingEcereComModule(unsigned int b);
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
-extern char *  GetOutputFile(void);
+extern const char *  GetOutputFile(void);
 
-extern void SetOutputFile(char *  s);
+extern void SetOutputFile(const char *  s);
 
-extern char *  GetSourceFile(void);
+extern const char *  GetSourceFile(void);
 
-extern void SetSourceFile(char *  s);
+extern void SetSourceFile(const char *  s);
 
-extern void SetI18nModuleName(char *  s);
+extern void SetI18nModuleName(const char *  s);
 
 extern void SetMemoryGuard(unsigned int b);
 
-extern void SetDefaultNameSpace(char *  s);
+extern void SetDefaultNameSpace(const char *  s);
 
 extern void SetStrictNameSpaces(unsigned int b);
 
 extern void SetOutputLineNumbers(unsigned int value);
 
-extern char *  __ecereNameSpace__ecere__sys__PathCat(char *  string, char *  addedPath);
+extern char *  __ecereNameSpace__ecere__sys__PathCat(char *  string, const char *  addedPath);
 
-extern char *  __ecereNameSpace__ecere__sys__ChangeExtension(char *  string, char *  ext, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__ChangeExtension(const char *  string, const char *  ext, char *  output);
 
-extern int printf(char * , ...);
+extern int printf(const char * , ...);
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
 extern void SetGlobalData(struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace);
 
@@ -722,7 +722,7 @@ extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__
 
 extern void SetPrivateModule(struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern struct Type * ProcessTypeString(char *  string, unsigned int staticMethod);
+extern struct Type * ProcessTypeString(const char *  string, unsigned int staticMethod);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_GlobalData;
 
@@ -740,23 +740,23 @@ void *  symbol;
 char *  fullName;
 } __attribute__ ((gcc_struct));
 
-extern int snprintf(char * , size_t, char * , ...);
+extern int snprintf(char * , size_t, const char * , ...);
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpen(unsigned int mode, char *  commandLine);
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpen(unsigned int mode, const char *  commandLine);
 
 extern void SetFileInput(struct __ecereNameSpace__ecere__com__Instance * file);
 
 extern void SetMainModule(struct ModuleImport * moduleImport);
 
-extern char *  __ecereNameSpace__ecere__sys__GetLastDirectory(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__GetLastDirectory(const char *  string, char *  output);
 
 extern unsigned int __ecereNameSpace__ecere__sys__StripExtension(char *  string);
 
 extern void resetScanner(void);
 
-extern char *  GetSymbolsDir(void);
+extern const char *  GetSymbolsDir(void);
 
-extern unsigned int LoadSymbols(char *  fileName, int importType, unsigned int loadDllOnly);
+extern unsigned int LoadSymbols(const char *  fileName, int importType, unsigned int loadDllOnly);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ImportedModule;
 
@@ -778,7 +778,7 @@ extern unsigned int GetEcereImported(void);
 
 extern unsigned int GetBuildingEcereCom(void);
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStrict(struct __ecereNameSpace__ecere__com__Instance * fromModule, char *  name, int importAccess);
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStrict(struct __ecereNameSpace__ecere__com__Instance * fromModule, const char *  name, int importAccess);
 
 extern void ParseEc(void);
 
@@ -786,7 +786,7 @@ extern void CheckDataRedefinitions(void);
 
 extern void SetYydebug(unsigned int b);
 
-extern void SetCurrentNameSpace(char *  s);
+extern void SetCurrentNameSpace(const char *  s);
 
 extern void SetDeclMode(int accessMode);
 
@@ -843,7 +843,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 struct __ecereNameSpace__ecere__com__Application
 {
 int argc;
-char * *  argv;
+const char * *  argv;
 int exitCode;
 unsigned int isGUIApp;
 struct __ecereNameSpace__ecere__sys__OldList allModules;
@@ -851,9 +851,9 @@ char *  parsedCommand;
 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
 } __attribute__ ((gcc_struct));
 
-char *  __ecereProp___ecereNameSpace__ecere__com__Platform_Get_char__PTR_(int this);
+const char *  __ecereProp___ecereNameSpace__ecere__com__Platform_Get_char__PTR_(int this);
 
-int __ecereProp___ecereNameSpace__ecere__com__Platform_Set_char__PTR_(char *  value);
+int __ecereProp___ecereNameSpace__ecere__com__Platform_Set_char__PTR_(const char *  value);
 
 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__Platform_char__PTR_;
 
@@ -894,7 +894,7 @@ int targetBits = GetHostBits();
 SetSymbolsDir("");
 for(c = 1; c < ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argc; c++)
 {
-char * arg = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argv[c];
+const char * arg = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argv[c];
 
 if(arg[0] == '-')
 {
@@ -971,7 +971,7 @@ else if(!strcmp(arg + 1, "isystem") || !strcmp(arg + 1, "isysroot"))
 if(c + 1 < ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argc)
 {
 char * buf;
-char * arg1 = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argv[++c];
+const char * arg1 = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argv[++c];
 int size = cppOptionsLen + 1 + strlen(arg) * 2 + strlen(arg1) * 2 + 1;
 
 cppOptions = __ecereNameSpace__ecere__com__eSystem_Renew(cppOptions, sizeof(char) * (size));
@@ -1170,7 +1170,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = cppOutput
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__DualPipe->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(cppOutput, junk, 1, 4096);
 
-((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
+((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__TempFile->_vTbl;
@@ -1300,7 +1300,7 @@ SetSymbolsDir((((void *)0)));
 OutputIntlStrings();
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
 
@@ -1313,7 +1313,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -1324,7 +1324,7 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
 void __ecereRegisterModule_ecc(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -1341,7 +1341,7 @@ void __ecereUnregisterModule_ecc(struct __ecereNameSpace__ecere__com__Instance *
 
 }
 
-int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char *  a, char *  b);
+int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char *  a, const char *  b);
 
 void __ecereCreateModuleInstances_ecc()
 {
index a414982..5ddcb2f 100644 (file)
@@ -80,7 +80,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -90,7 +90,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -117,7 +117,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -259,7 +259,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -280,16 +280,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -301,7 +301,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -313,13 +313,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -344,12 +344,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -379,13 +379,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -522,15 +522,15 @@ void __ecereDestroyModuleInstances_ecc();
 
 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com____ecere_COM_Initialize(unsigned int guiApp, int argc, char *  argv[]);
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStatic(struct __ecereNameSpace__ecere__com__Instance * fromModule, char *  name, int importAccess, unsigned int (*  Load)(struct __ecereNameSpace__ecere__com__Instance * module), unsigned int (*  Unload)(struct __ecereNameSpace__ecere__com__Instance * module));
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStatic(struct __ecereNameSpace__ecere__com__Instance * fromModule, const char *  name, int importAccess, unsigned int (*  Load)(struct __ecereNameSpace__ecere__com__Instance * module), unsigned int (*  Unload)(struct __ecereNameSpace__ecere__com__Instance * module));
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern void __ecereNameSpace__ecere__LoadTranslatedStrings(char * moduleName, char *  name);
+extern void __ecereNameSpace__ecere__LoadTranslatedStrings(const char * moduleName, const char *  name);
 
 extern void __ecereNameSpace__ecere__com__eInstance_Evolve(struct __ecereNameSpace__ecere__com__Instance **  instancePtr, struct __ecereNameSpace__ecere__com__Class * _class);
 
@@ -538,7 +538,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -561,7 +561,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -570,14 +570,14 @@ struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 } __attribute__ ((gcc_struct));
 
-extern void __ecereNameSpace__ecere__UnloadTranslatedStrings(char * name);
+extern void __ecereNameSpace__ecere__UnloadTranslatedStrings(const char * name);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Application;
 
 struct __ecereNameSpace__ecere__com__Application
 {
 int argc;
-char * *  argv;
+const char * *  argv;
 int exitCode;
 unsigned int isGUIApp;
 struct __ecereNameSpace__ecere__sys__OldList allModules;
index dd83d2c..96891e9 100644 (file)
@@ -82,7 +82,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -103,16 +103,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -124,7 +124,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -136,9 +136,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -146,12 +146,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -162,7 +162,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -170,7 +170,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -195,12 +195,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -216,7 +216,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -226,7 +226,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -269,13 +269,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -314,7 +314,7 @@ int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Add;
 
 unsigned int __ecereMethod___ecereNameSpace__ecere__com__AVLTree_SetData(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__AVLNode * node, uint64 value)
 {
-if(!((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__extension__ ({
+if(!((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__AVLTree->_vTbl;
@@ -371,31 +371,31 @@ struct __ecereNameSpace__ecere__com__AVLNode * root;
 int count;
 } __attribute__ ((gcc_struct));
 
-struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__ecere__com__AVLNode_Find(struct __ecereNameSpace__ecere__com__AVLNode * this, struct __ecereNameSpace__ecere__com__Class * Tclass, uint64 key);
+struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__ecere__com__AVLNode_Find(struct __ecereNameSpace__ecere__com__AVLNode * this, struct __ecereNameSpace__ecere__com__Class * Tclass, const uint64 key);
 
-struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__ecere__com__AVLTree_Find(struct __ecereNameSpace__ecere__com__Instance * this, uint64 key)
+struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__ecere__com__AVLTree_Find(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 key)
 {
 struct __ecereNameSpace__ecere__com__AVLNode * root = ((struct __ecereNameSpace__ecere__com__AVLNode *)((struct __ecereNameSpace__ecere__com__CustomAVLTree *)(((char *)this + structSize_Instance)))->root);
 
 return root ? __ecereMethod___ecereNameSpace__ecere__com__AVLNode_Find(root, ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass, key) : (((void *)0));
 }
 
-struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__ecere__com__AVLNode_FindAll(struct __ecereNameSpace__ecere__com__AVLNode * this, uint64 key);
+struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__ecere__com__AVLNode_FindAll(struct __ecereNameSpace__ecere__com__AVLNode * this, const uint64 key);
 
-struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__ecere__com__AVLTree_FindAll(struct __ecereNameSpace__ecere__com__Instance * this, uint64 key)
+struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__ecere__com__AVLTree_FindAll(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 key)
 {
 struct __ecereNameSpace__ecere__com__AVLNode * root = ((struct __ecereNameSpace__ecere__com__AVLNode *)((struct __ecereNameSpace__ecere__com__CustomAVLTree *)(((char *)this + structSize_Instance)))->root);
 
 return root ? __ecereMethod___ecereNameSpace__ecere__com__AVLNode_FindAll(root, key) : (((void *)0));
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -418,7 +418,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -429,13 +429,13 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter;
 
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter;
 
-extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, int type, void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
+extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, int type, const void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
 
 extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(struct __ecereNameSpace__ecere__com__Class * base);
 
index 9b33e57..3534a46 100644 (file)
@@ -81,7 +81,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -102,16 +102,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -123,7 +123,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -135,9 +135,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -145,12 +145,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -161,7 +161,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -169,7 +169,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -194,12 +194,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -215,7 +215,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -225,7 +225,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -268,13 +268,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -356,7 +356,7 @@ uint64 * item = (uint64 *)ip;
 return 0x1;
 }
 
-struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Array_GetAtPosition(struct __ecereNameSpace__ecere__com__Instance * this, uint64 pos, unsigned int create)
+struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Array_GetAtPosition(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 pos, unsigned int create)
 {
 struct __ecereNameSpace__ecere__com__Array * __ecerePointer___ecereNameSpace__ecere__com__Array = (struct __ecereNameSpace__ecere__com__Array *)(this ? (((char *)this) + structSize_Instance) : 0);
 
@@ -575,13 +575,13 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, item);
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -604,7 +604,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -615,11 +615,11 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt, int declMode);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
 
 void __ecereRegisterModule_Array(struct __ecereNameSpace__ecere__com__Instance * module)
 {
index 9098e39..cd36c2d 100644 (file)
@@ -86,7 +86,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -107,16 +107,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -128,7 +128,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -140,9 +140,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -150,12 +150,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -166,7 +166,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -174,7 +174,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -199,12 +199,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -220,7 +220,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -230,7 +230,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -273,13 +273,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -298,7 +298,7 @@ extern int vsprintf(char * , const char * , __builtin_va_list);
 
 extern size_t strlen(const char * );
 
-void __ecereNameSpace__ecere__sys__strcatf(char * string, char * format, ...)
+void __ecereNameSpace__ecere__sys__strcatf(char * string, const char * format, ...)
 {
 va_list args;
 
@@ -315,7 +315,7 @@ static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSp
 
 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__BTNode_balanceFactor, * __ecerePropM___ecereNameSpace__ecere__sys__BTNode_balanceFactor;
 
-void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * data);
+void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * data);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_bool;
 
@@ -554,14 +554,14 @@ return this;
 
 extern int strcmp(const char * , const char * );
 
-struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindString(struct __ecereNameSpace__ecere__sys__BTNode * this, char * key)
+struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindString(struct __ecereNameSpace__ecere__sys__BTNode * this, const char * key)
 {
 while(this)
 {
 int result;
 
 if(key && this->key)
-result = strcmp(key, (char *)this->key);
+result = strcmp(key, (const char *)this->key);
 else if(key && !this->key)
 result = 1;
 else if(!key && this->key)
@@ -580,7 +580,7 @@ return this;
 
 extern int strncmp(const char * , const char * , size_t n);
 
-struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindPrefix(struct __ecereNameSpace__ecere__sys__BTNode * this, char * key)
+struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindPrefix(struct __ecereNameSpace__ecere__sys__BTNode * this, const char * key)
 {
 struct __ecereNameSpace__ecere__sys__BTNode * subString = (((void *)0));
 int len = key ? strlen(key) : 0;
@@ -590,7 +590,7 @@ while(this)
 int result;
 
 if(key && this->key)
-result = strcmp(key, (char *)this->key);
+result = strcmp(key, (const char *)this->key);
 else if(key && !this->key)
 result = 1;
 else if(!key && this->key)
@@ -599,7 +599,7 @@ else
 result = 0;
 if(result < 0)
 {
-if(!strncmp(key, (char *)this->key, len))
+if(!strncmp(key, (const char *)this->key, len))
 subString = this;
 this = this->left;
 }
@@ -941,7 +941,7 @@ return output;
 return (((void *)0));
 }
 
-extern int sprintf(char * , char * , ...);
+extern int sprintf(char * , const char * , ...);
 
 void __ecereMethod___ecereNameSpace__ecere__sys__BTNode_PrintDepth(struct __ecereNameSpace__ecere__sys__BTNode * this, char * output, int wantedDepth, int curDepth, int maxDepth, unsigned int last)
 {
@@ -974,7 +974,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__BTNode_PrintDepth((this ? this->righ
 }
 }
 
-extern int printf(char * , ...);
+extern int printf(const char * , ...);
 
 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__BTNode_Check(struct __ecereNameSpace__ecere__sys__BTNode * this, struct __ecereNameSpace__ecere__sys__BinaryTree * tree)
 {
@@ -1084,13 +1084,13 @@ else
 (*this) = (((void *)0));
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -1113,7 +1113,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -1124,19 +1124,19 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, char *  string, int value);
+extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, const char *  string, int value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt, int declMode);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
 
 void __ecereRegisterModule_BTNode(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -1149,14 +1149,14 @@ __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "inOrder", 0);
 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "postOrder", 1);
 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "preOrder", 2);
 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "depthOrder", 3);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::strcatf", "void ecere::sys::strcatf(char * string, char * format, ...)", __ecereNameSpace__ecere__sys__strcatf, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::strcatf", "void ecere::sys::strcatf(char * string, const char * format, ...)", __ecereNameSpace__ecere__sys__strcatf, module, 4);
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::sys::BTNode", 0, sizeof(struct __ecereNameSpace__ecere__sys__BTNode), 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)
 __ecereClass___ecereNameSpace__ecere__sys__BTNode = class;
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnSerialize", 0, __ecereMethod___ecereNameSpace__ecere__sys__BTNode_OnSerialize, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnUnserialize", 0, __ecereMethod___ecereNameSpace__ecere__sys__BTNode_OnUnserialize, 1);
-__ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindPrefix", "ecere::sys::BTNode FindPrefix(char * key)", __ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindPrefix, 1);
-__ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindString", "ecere::sys::BTNode FindString(char * key)", __ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindString, 1);
+__ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindPrefix", "ecere::sys::BTNode FindPrefix(const char * key)", __ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindPrefix, 1);
+__ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindString", "ecere::sys::BTNode FindString(const char * key)", __ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindString, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "key", "uintptr", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "parent", "ecere::sys::BTNode", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "left", "ecere::sys::BTNode", arch_PointerSize, arch_PointerSize, 1);
index bcce822..b670b1c 100644 (file)
@@ -88,7 +88,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -109,16 +109,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -130,7 +130,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -142,9 +142,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -152,12 +152,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -168,7 +168,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -176,7 +176,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -201,12 +201,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -222,7 +222,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -232,7 +232,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -275,13 +275,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -298,7 +298,7 @@ static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSp
 
 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__sys__BinaryTree_last, * __ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_last;
 
-void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * data);
+void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * data);
 
 void __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnSerialize(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__sys__BinaryTree * this, struct __ecereNameSpace__ecere__com__Instance * channel)
 {
@@ -324,7 +324,7 @@ return (a > b) ? 1 : ((a < b) ? -1 : 0);
 
 extern int strcmp(const char * , const char * );
 
-int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char * a, char * b)
+int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char * a, const char * b)
 {
 return (a && b) ? strcmp(a, b) : -1;
 }
@@ -371,16 +371,16 @@ this->CompareKey = __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Compar
 return this->root ? __ecereMethod___ecereNameSpace__ecere__sys__BTNode_Find(this->root, this, key) : (((void *)0));
 }
 
-struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindString(struct __ecereNameSpace__ecere__sys__BTNode * this, char *  key);
+struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindString(struct __ecereNameSpace__ecere__sys__BTNode * this, const char *  key);
 
-struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char * key)
+struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char * key)
 {
 return this->root ? __ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindString(this->root, key) : (((void *)0));
 }
 
-struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindPrefix(struct __ecereNameSpace__ecere__sys__BTNode * this, char *  key);
+struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindPrefix(struct __ecereNameSpace__ecere__sys__BTNode * this, const char *  key);
 
-struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char * key)
+struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char * key)
 {
 return this->root ? __ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindPrefix(this->root, key) : (((void *)0));
 }
@@ -475,13 +475,13 @@ __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Unserialize(channel, __ece
 (*this).count = root ? __ecereProp___ecereNameSpace__ecere__sys__BTNode_Get_count((*this).root) : 0;
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -504,7 +504,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -515,11 +515,11 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt, int declMode);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
 
 void __ecereRegisterModule_BinaryTree(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -533,12 +533,12 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnUnserialize", 0, __ecer
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Add", "bool Add(ecere::sys::BTNode node)", __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Check", "bool Check()", __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Check, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "CompareInt", "int CompareInt(uintptr a, uintptr b)", __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt, 1);
-__ecereNameSpace__ecere__com__eClass_AddMethod(class, "CompareString", "int CompareString(char * a, char * b)", __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString, 1);
+__ecereNameSpace__ecere__com__eClass_AddMethod(class, "CompareString", "int CompareString(const char * a, const char * b)", __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Delete", "void Delete(ecere::sys::BTNode node)", __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Find", "ecere::sys::BTNode Find(uintptr key)", __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Find, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindAll", "ecere::sys::BTNode FindAll(uintptr key)", __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindAll, 1);
-__ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindPrefix", "ecere::sys::BTNode FindPrefix(char * key)", __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix, 1);
-__ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindString", "ecere::sys::BTNode FindString(char * key)", __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString, 1);
+__ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindPrefix", "ecere::sys::BTNode FindPrefix(const char * key)", __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix, 1);
+__ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindString", "ecere::sys::BTNode FindString(const char * key)", __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Free, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "FreeString", "void ::FreeString(char * string)", __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FreeString, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Print", "char * Print(char * output, ecere::sys::TreePrintStyle tps)", __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Print, 1);
index 27e0be6..e51fa65 100644 (file)
@@ -82,7 +82,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -103,16 +103,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -124,7 +124,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -136,9 +136,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -146,12 +146,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -162,7 +162,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -170,7 +170,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -195,12 +195,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -216,7 +216,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -226,7 +226,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -269,13 +269,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -459,7 +459,7 @@ return 0;
 
 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Write;
 
-int __ecereMethod___ecereNameSpace__ecere__sys__BufferedFile_Write(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * buffer, unsigned int size, unsigned int count)
+int __ecereMethod___ecereNameSpace__ecere__sys__BufferedFile_Write(struct __ecereNameSpace__ecere__com__Instance * this, const unsigned char * buffer, unsigned int size, unsigned int count)
 {
 unsigned int __simpleStruct0, __simpleStruct1;
 struct __ecereNameSpace__ecere__sys__BufferedFile * __ecerePointer___ecereNameSpace__ecere__sys__BufferedFile = (struct __ecereNameSpace__ecere__sys__BufferedFile *)(this ? (((char *)this) + structSize_File) : 0);
@@ -473,7 +473,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = __ecerePo
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek])(__ecerePointer___ecereNameSpace__ecere__sys__BufferedFile->handle, __ecerePointer___ecereNameSpace__ecere__sys__BufferedFile->pos, 0);
-result = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
+result = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = __ecerePointer___ecereNameSpace__ecere__sys__BufferedFile->handle;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
@@ -553,7 +553,7 @@ return 0x0;
 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__BufferedFile_Putc(struct __ecereNameSpace__ecere__com__Instance * this, char ch)
 {
 struct __ecereNameSpace__ecere__sys__BufferedFile * __ecerePointer___ecereNameSpace__ecere__sys__BufferedFile = (struct __ecereNameSpace__ecere__sys__BufferedFile *)(this ? (((char *)this) + structSize_File) : 0);
-int written = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
+int written = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__BufferedFile->_vTbl;
@@ -564,11 +564,11 @@ return written != 0;
 
 extern size_t strlen(const char * );
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__sys__BufferedFile_Puts(struct __ecereNameSpace__ecere__com__Instance * this, char * string)
+unsigned int __ecereMethod___ecereNameSpace__ecere__sys__BufferedFile_Puts(struct __ecereNameSpace__ecere__com__Instance * this, const char * string)
 {
 struct __ecereNameSpace__ecere__sys__BufferedFile * __ecerePointer___ecereNameSpace__ecere__sys__BufferedFile = (struct __ecereNameSpace__ecere__sys__BufferedFile *)(this ? (((char *)this) + structSize_File) : 0);
 int len = strlen(string);
-int written = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
+int written = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__BufferedFile->_vTbl;
@@ -770,7 +770,7 @@ __ecerePointer___ecereNameSpace__ecere__sys__BufferedFile->bufferRead = value;
 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__sys__BufferedFile_bufferRead), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__sys__BufferedFile_bufferRead);
 }
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char *  fileName, int mode);
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(const char *  fileName, int mode);
 
 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
 
@@ -780,7 +780,7 @@ extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameS
 
 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_GetSize;
 
-struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpenBuffered(char * fileName, int mode)
+struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpenBuffered(const char * fileName, int mode)
 {
 struct __ecereNameSpace__ecere__com__Instance * result = (((void *)0));
 
@@ -813,13 +813,13 @@ if(!result)
 return result;
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -842,7 +842,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -853,15 +853,15 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt, int declMode);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_BufferedFile(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -895,7 +895,7 @@ if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize
 __ecereProp___ecereNameSpace__ecere__sys__BufferedFile_bufferRead = __ecerePropM___ecereNameSpace__ecere__sys__BufferedFile_bufferRead, __ecerePropM___ecereNameSpace__ecere__sys__BufferedFile_bufferRead = (void *)0;
 if(class)
 class->fixed = (unsigned int)1;
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileOpenBuffered", "ecere::sys::BufferedFile ecere::sys::FileOpenBuffered(char * fileName, ecere::sys::FileOpenMode mode)", __ecereNameSpace__ecere__sys__FileOpenBuffered, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileOpenBuffered", "ecere::sys::BufferedFile ecere::sys::FileOpenBuffered(const char * fileName, ecere::sys::FileOpenMode mode)", __ecereNameSpace__ecere__sys__FileOpenBuffered, module, 1);
 }
 
 void __ecereUnregisterModule_BufferedFile(struct __ecereNameSpace__ecere__com__Instance * module)
index fc59b4e..d7bd38e 100644 (file)
@@ -81,7 +81,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -102,16 +102,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -123,7 +123,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -135,9 +135,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -145,12 +145,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -161,7 +161,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -169,7 +169,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -194,12 +194,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -215,7 +215,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -225,7 +225,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -268,13 +268,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -344,7 +344,7 @@ unsigned int __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_SetDat
 return 0x0;
 }
 
-struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetAtPosition(struct __ecereNameSpace__ecere__com__BuiltInContainer * this, uint64 pos, unsigned int create)
+struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetAtPosition(struct __ecereNameSpace__ecere__com__BuiltInContainer * this, const uint64 pos, unsigned int create)
 {
 return this->data ? (struct __ecereNameSpace__ecere__com__IteratorPointer *)((unsigned char *)this->data + ((this->type->type == 5 || this->type->type == 0) ? sizeof(void *) : this->type->typeSize)) : (((void *)0));
 }
@@ -422,7 +422,7 @@ void __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Delete(struct
 
 extern char *  strcat(char * , const char * );
 
-char * __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__BuiltInContainer * this, char * tempString, void * fieldData, unsigned int * needClass)
+const char * __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__BuiltInContainer * this, char * tempString, void * fieldData, unsigned int * needClass)
 {
 if(this)
 {
@@ -435,10 +435,10 @@ int i;
 tempString[0] = '\0';
 for(i = 0; i < this->count; i++)
 {
-char * result;
+const char * result;
 
 itemString[0] = '\0';
-result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnGetString])(Dclass, (this->type->type == 0 || this->type->type == 5) ? *(void **)data : data, itemString, (((void *)0)), (((void *)0)));
+result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnGetString])(Dclass, (this->type->type == 0 || this->type->type == 5) ? *(void **)data : data, itemString, (((void *)0)), (((void *)0)));
 if(!first)
 strcat(tempString, ", ");
 strcat(tempString, result);
@@ -479,13 +479,13 @@ int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_Free;
 
 int __ecereVMethodID___ecereNameSpace__ecere__com__BuiltInContainer_Delete;
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -508,7 +508,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -519,13 +519,13 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt, int declMode);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 void __ecereRegisterModule_BuiltInContainer(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -544,7 +544,7 @@ __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetPrev", "ecere::
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetNext", "ecere::com::IteratorPointer GetNext(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetNext, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetData", "uint64 GetData(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetData, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "SetData", "bool SetData(ecere::com::IteratorPointer pointer, uint64 data)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_SetData, 1);
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetAtPosition", "ecere::com::IteratorPointer GetAtPosition(uint64 pos, bool create)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetAtPosition, 1);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetAtPosition", "ecere::com::IteratorPointer GetAtPosition(const uint64 pos, bool create)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_GetAtPosition, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Insert", "ecere::com::IteratorPointer Insert(ecere::com::IteratorPointer after, uint64 value)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Insert, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Add", "ecere::com::IteratorPointer Add(uint64 value)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Add, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Remove", "void Remove(ecere::com::IteratorPointer it)", __ecereMethod___ecereNameSpace__ecere__com__BuiltInContainer_Remove, 1);
index 34d3338..6bf4df5 100644 (file)
@@ -81,7 +81,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -102,16 +102,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -123,7 +123,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -135,9 +135,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -145,12 +145,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -161,7 +161,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -169,7 +169,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -194,12 +194,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -215,7 +215,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -225,7 +225,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -268,13 +268,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -301,11 +301,11 @@ static __attribute__((unused)) void UnusedFunction()
 {
 int a;
 
-((int (*)(struct __ecereNameSpace__ecere__com__Class *, void *, void * object))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCompare])(__ecereClass_int, &a, (((void *)0)));
-((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, void * newData))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCopy])(__ecereClass_int, &a, (((void *)0)));
-((char *  (*)(struct __ecereNameSpace__ecere__com__Class *, void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int, &a, (((void *)0)), (((void *)0)), (((void *)0)));
-((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * channel))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnSerialize])(__ecereClass_int, &a, (((void *)0)));
-((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * channel))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnUnserialize])(__ecereClass_int, &a, (((void *)0)));
+((int (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, const void * object))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCompare])(__ecereClass_int, &a, (((void *)0)));
+((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, const void * newData))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCopy])(__ecereClass_int, &a, (((void *)0)));
+((const char *  (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int, &a, (((void *)0)), (((void *)0)), (((void *)0)));
+((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnSerialize])(__ecereClass_int, &a, (((void *)0)));
+((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnUnserialize])(__ecereClass_int, &a, (((void *)0)));
 }
 
 extern int __ecereVMethodID_class_OnCompare;
@@ -420,12 +420,12 @@ void __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free();
 
 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Find;
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Find(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 value)
+unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Find(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 value)
 {
 if(this->container)
 {
 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free(this);
-this->pointer = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__extension__ ({
+this->pointer = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
@@ -461,12 +461,12 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 
 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetAtPosition;
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 index, unsigned int create)
+unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 index, unsigned int create)
 {
 if(this->container)
 {
 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free(this);
-this->pointer = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 pos, unsigned int create))__extension__ ({
+this->pointer = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 pos, unsigned int create))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this->container;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
@@ -552,7 +552,7 @@ uint64 __ecereMethod___ecereNameSpace__ecere__com__Container_GetData(struct __ec
 return (uint64)0;
 }
 
-struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetAtPosition(struct __ecereNameSpace__ecere__com__Instance * this, uint64 pos, unsigned int create)
+struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_GetAtPosition(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 pos, unsigned int create)
 {
 return (((void *)0));
 }
@@ -654,7 +654,7 @@ else
 }
 }
 
-struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_Find(struct __ecereNameSpace__ecere__com__Instance * this, uint64 value)
+struct __ecereNameSpace__ecere__com__IteratorPointer * __ecereMethod___ecereNameSpace__ecere__com__Container_Find(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 value)
 {
 struct __ecereNameSpace__ecere__com__IteratorPointer * i;
 struct __ecereNameSpace__ecere__com__Class * Dclass = ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass;
@@ -676,7 +676,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, i);
-int result = ((int (*)(void *, void *, void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnCompare])(Dclass, ((char *)&value + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->typeSize)), ((char *)&data + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->typeSize)));
+int result = ((int (*)(void *, const void *, const void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnCompare])(Dclass, ((char *)&value + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->typeSize)), ((char *)&data + __ENDIAN_PAD((((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 0 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].dataTypeClass->typeSize)));
 
 if(!result)
 return i;
@@ -699,7 +699,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, i);
-int result = ((int (*)(void *, void *, void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnCompare])(Dclass, (void *)value, (void *)data);
+int result = ((int (*)(void *, const void *, const void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnCompare])(Dclass, (const void *)value, (const void *)data);
 
 if(!result)
 return i;
@@ -764,7 +764,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 
 extern char *  strcat(char * , const char * );
 
-char * __ecereMethod___ecereNameSpace__ecere__com__Container_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance * this, char * tempString, void * fieldData, unsigned int * needClass)
+const char * __ecereMethod___ecereNameSpace__ecere__com__Container_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance * this, char * tempString, void * fieldData, unsigned int * needClass)
 {
 if((struct __ecereNameSpace__ecere__com__Instance *)this)
 {
@@ -789,10 +789,10 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, i);
-char * result;
+const char * result;
 
 itemString[0] = '\0';
-result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnGetString])(Dclass, ((Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3) ? ((char *)&data + __ENDIAN_PAD((class->templateArgs[2].dataTypeClass->type == 1 || class->templateArgs[2].dataTypeClass->type == 0 || class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[2].dataTypeClass->typeSize)) : (void *)data, itemString, (((void *)0)), (((void *)0)));
+result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnGetString])(Dclass, ((Dclass->type == 1000 && !Dclass->byValueSystemClass) || Dclass->type == 2 || Dclass->type == 4 || Dclass->type == 3) ? ((char *)&data + __ENDIAN_PAD((class->templateArgs[2].dataTypeClass->type == 1 || class->templateArgs[2].dataTypeClass->type == 0 || class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[2].dataTypeClass->typeSize)) : (void *)data, itemString, (((void *)0)), (((void *)0)));
 if(!first)
 strcat(tempString, ", ");
 strcat(tempString, result);
@@ -804,9 +804,9 @@ tempString[0] = (char)0;
 return tempString;
 }
 
-void __ecereMethod___ecereNameSpace__ecere__com__Container_TakeOut(struct __ecereNameSpace__ecere__com__Instance * this, uint64 d)
+void __ecereMethod___ecereNameSpace__ecere__com__Container_TakeOut(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 d)
 {
-struct __ecereNameSpace__ecere__com__IteratorPointer * i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__extension__ ({
+struct __ecereNameSpace__ecere__com__IteratorPointer * i = ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
@@ -822,7 +822,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 
 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount;
 
-void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * data);
+void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * data);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_uint;
 
@@ -859,9 +859,9 @@ struct __ecereNameSpace__ecere__com__Class * Eclass = isNormalClass ? ((struct _
 }
 }
 
-char *  __ecereProp___ecereNameSpace__ecere__com__Class_Get_char__PTR_(struct __ecereNameSpace__ecere__com__Class * this);
+const char *  __ecereProp___ecereNameSpace__ecere__com__Class_Get_char__PTR_(struct __ecereNameSpace__ecere__com__Class * this);
 
-struct __ecereNameSpace__ecere__com__Class * __ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_(char *  value);
+struct __ecereNameSpace__ecere__com__Class * __ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_(const char *  value);
 
 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__Class_char__PTR_;
 
@@ -895,13 +895,13 @@ int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Insert;
 
 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Move;
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -924,7 +924,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -935,21 +935,21 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt, int declMode);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter;
 
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter;
 
-extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, int type, void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
+extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, int type, const void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
 
 extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(struct __ecereNameSpace__ecere__com__Class * base);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
 void __ecereRegisterModule_Container(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -970,10 +970,10 @@ struct __ecereNameSpace__ecere__com__Class * 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)
 __ecereClass___ecereNameSpace__ecere__com__Iterator = class;
-__ecereNameSpace__ecere__com__eClass_AddMethod(class, "Find", "bool Find(T value)", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Find, 1);
+__ecereNameSpace__ecere__com__eClass_AddMethod(class, "Find", "bool Find(const T value)", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Find, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Free, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetData", "T GetData()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_GetData, 1);
-__ecereNameSpace__ecere__com__eClass_AddMethod(class, "Index", "bool Index(IT index, bool create)", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index, 1);
+__ecereNameSpace__ecere__com__eClass_AddMethod(class, "Index", "bool Index(const IT index, bool create)", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Next", "bool Next()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Prev", "bool Prev()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Prev, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Remove", "void Remove()", __ecereMethod___ecereNameSpace__ecere__com__Iterator_Remove, 1);
@@ -1000,19 +1000,19 @@ __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetPrev", "ecere::
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetNext", "ecere::com::IteratorPointer GetNext(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetNext, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetData", "D GetData(ecere::com::IteratorPointer pointer)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetData, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "SetData", "bool SetData(ecere::com::IteratorPointer pointer, D data)", 0, 1);
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetAtPosition", "ecere::com::IteratorPointer GetAtPosition(I pos, bool create)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetAtPosition, 1);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetAtPosition", "ecere::com::IteratorPointer GetAtPosition(const I pos, bool create)", __ecereMethod___ecereNameSpace__ecere__com__Container_GetAtPosition, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Insert", "ecere::com::IteratorPointer Insert(ecere::com::IteratorPointer after, T value)", 0, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Add", "ecere::com::IteratorPointer Add(T value)", 0, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Remove", "void Remove(ecere::com::IteratorPointer it)", 0, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Move", "void Move(ecere::com::IteratorPointer it, ecere::com::IteratorPointer after)", 0, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "RemoveAll", "void RemoveAll()", __ecereMethod___ecereNameSpace__ecere__com__Container_RemoveAll, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Copy", "void Copy(ecere::com::Container<T> source)", __ecereMethod___ecereNameSpace__ecere__com__Container_Copy, 1);
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Find", "ecere::com::IteratorPointer Find(D value)", __ecereMethod___ecereNameSpace__ecere__com__Container_Find, 1);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Find", "ecere::com::IteratorPointer Find(const D value)", __ecereMethod___ecereNameSpace__ecere__com__Container_Find, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FreeIterator", "void FreeIterator(ecere::com::IteratorPointer it)", 0, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetCount", "int GetCount()", __ecereMethod___ecereNameSpace__ecere__com__Container_GetCount, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Free", "void Free()", __ecereMethod___ecereNameSpace__ecere__com__Container_Free, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Delete", "void Delete(ecere::com::IteratorPointer i)", __ecereMethod___ecereNameSpace__ecere__com__Container_Delete, 1);
-__ecereNameSpace__ecere__com__eClass_AddMethod(class, "TakeOut", "void TakeOut(D d)", __ecereMethod___ecereNameSpace__ecere__com__Container_TakeOut, 1);
+__ecereNameSpace__ecere__com__eClass_AddMethod(class, "TakeOut", "void TakeOut(const D d)", __ecereMethod___ecereNameSpace__ecere__com__Container_TakeOut, 1);
 __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "copySrc", "ecere::com::Container<T>", __ecereProp___ecereNameSpace__ecere__com__Container_Set_copySrc, 0, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
 __ecereProp___ecereNameSpace__ecere__com__Container_copySrc = __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc, __ecerePropM___ecereNameSpace__ecere__com__Container_copySrc = (void *)0;
index 7060f7c..6036619 100644 (file)
@@ -84,7 +84,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -105,16 +105,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -126,7 +126,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -138,9 +138,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -148,12 +148,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -164,7 +164,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -172,7 +172,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -197,12 +197,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -218,7 +218,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -228,7 +228,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -271,13 +271,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -456,7 +456,7 @@ return 0x1;
 }
 }
 
-struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__ecere__com__AVLNode_Find(struct __ecereNameSpace__ecere__com__AVLNode * this, struct __ecereNameSpace__ecere__com__Class * Tclass, uint64 key)
+struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__ecere__com__AVLNode_Find(struct __ecereNameSpace__ecere__com__AVLNode * this, struct __ecereNameSpace__ecere__com__Class * Tclass, const uint64 key)
 {
 while(this)
 {
@@ -472,7 +472,7 @@ break;
 return this;
 }
 
-struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__ecere__com__AVLNode_FindAll(struct __ecereNameSpace__ecere__com__AVLNode * this, uint64 key)
+struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__ecere__com__AVLNode_FindAll(struct __ecereNameSpace__ecere__com__AVLNode * this, const uint64 key)
 {
 struct __ecereNameSpace__ecere__com__AVLNode * result = (((void *)0));
 
@@ -801,7 +801,7 @@ struct __ecereNameSpace__ecere__com__CustomAVLTree * __ecerePointer___ecereNameS
 return 0x0;
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
@@ -809,7 +809,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -832,7 +832,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -909,19 +909,19 @@ struct __ecereNameSpace__ecere__com__CustomAVLTree * __ecerePointer___ecereNameS
 return (struct __ecereNameSpace__ecere__com__IteratorPointer *)value;
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt, int declMode);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter;
 
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter;
 
-extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, int type, void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
+extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, int type, const void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
 
 extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(struct __ecereNameSpace__ecere__com__Class * base);
 
@@ -936,7 +936,7 @@ struct __ecereNameSpace__ecere__com__Class * 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)
 __ecereClass___ecereNameSpace__ecere__com__AVLNode = class;
-__ecereNameSpace__ecere__com__eClass_AddMethod(class, "Find", "thisclass Find(ecere::com::Class Tclass, T key)", __ecereMethod___ecereNameSpace__ecere__com__AVLNode_Find, 1);
+__ecereNameSpace__ecere__com__eClass_AddMethod(class, "Find", "thisclass Find(ecere::com::Class Tclass, const T key)", __ecereMethod___ecereNameSpace__ecere__com__AVLNode_Find, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "__ecerePrivateData0", "byte[" _XSTR(AVLNode_PrivateData) "]", AVLNode_PrivateData, 1, 2);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "key", "T", 8, 8, 1);
 __ecerePropM___ecereNameSpace__ecere__com__AVLNode_prev = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "prev", "thisclass", 0, __ecereProp___ecereNameSpace__ecere__com__AVLNode_Get_prev, 1);
index 96a49fe..8c88fc2 100644 (file)
@@ -81,7 +81,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -102,16 +102,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -123,7 +123,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -135,9 +135,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -145,12 +145,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -161,7 +161,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -169,7 +169,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -194,12 +194,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -215,7 +215,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -225,7 +225,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -268,13 +268,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -295,13 +295,13 @@ void DualPipe_CloseOutput(struct __ecereNameSpace__ecere__com__Instance ** dp);
 
 int DualPipe_Read(struct __ecereNameSpace__ecere__com__Instance ** dp, unsigned char * buffer, unsigned int size, unsigned int count);
 
-int DualPipe_Write(struct __ecereNameSpace__ecere__com__Instance ** dp, unsigned char * buffer, unsigned int size, unsigned int count);
+int DualPipe_Write(struct __ecereNameSpace__ecere__com__Instance ** dp, const unsigned char * buffer, unsigned int size, unsigned int count);
 
 unsigned int DualPipe_Getc(struct __ecereNameSpace__ecere__com__Instance ** dp, char * ch);
 
 unsigned int DualPipe_Putc(struct __ecereNameSpace__ecere__com__Instance ** dp, char ch);
 
-unsigned int DualPipe_Puts(struct __ecereNameSpace__ecere__com__Instance ** dp, char * string);
+unsigned int DualPipe_Puts(struct __ecereNameSpace__ecere__com__Instance ** dp, const char * string);
 
 unsigned int DualPipe_Seek(struct __ecereNameSpace__ecere__com__Instance ** dp, int pos, int mode);
 
@@ -321,7 +321,7 @@ int DualPipe_GetProcessID(struct __ecereNameSpace__ecere__com__Instance ** dp);
 
 void DualPipe_Wait(struct __ecereNameSpace__ecere__com__Instance ** dp);
 
-struct __ecereNameSpace__ecere__com__Instance ** _DualPipeOpen(unsigned int mode, char * commandLine, char * env, void ** inputPtr, void ** outputPtr);
+struct __ecereNameSpace__ecere__com__Instance ** _DualPipeOpen(unsigned int mode, const char * commandLine, const char * env, void ** inputPtr, void ** outputPtr);
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__PipeOpenMode;
 
@@ -382,11 +382,11 @@ return DualPipe_Read(__ecerePointer___ecereNameSpace__ecere__sys__DualPipe->dp,
 
 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Write;
 
-int __ecereMethod___ecereNameSpace__ecere__sys__DualPipe_Write(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * buffer, unsigned int size, unsigned int count)
+int __ecereMethod___ecereNameSpace__ecere__sys__DualPipe_Write(struct __ecereNameSpace__ecere__com__Instance * this, const unsigned char * buffer, unsigned int size, unsigned int count)
 {
 struct __ecereNameSpace__ecere__sys__DualPipe * __ecerePointer___ecereNameSpace__ecere__sys__DualPipe = (struct __ecereNameSpace__ecere__sys__DualPipe *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__DualPipe->offset) : 0);
 
-return __ecereProp___ecereNameSpace__ecere__sys__File_Get_output(this) ? ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__ecereClass___ecereNameSpace__ecere__sys__File->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Write])(this, buffer, size, count) : DualPipe_Write(__ecerePointer___ecereNameSpace__ecere__sys__DualPipe->dp, buffer, size, count);
+return __ecereProp___ecereNameSpace__ecere__sys__File_Get_output(this) ? ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__ecereClass___ecereNameSpace__ecere__sys__File->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Write])(this, buffer, size, count) : DualPipe_Write(__ecerePointer___ecereNameSpace__ecere__sys__DualPipe->dp, buffer, size, count);
 }
 
 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Getc;
@@ -411,7 +411,7 @@ int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts;
 
 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Flush(struct __ecereNameSpace__ecere__com__Instance * this);
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__sys__DualPipe_Puts(struct __ecereNameSpace__ecere__com__Instance * this, char * string)
+unsigned int __ecereMethod___ecereNameSpace__ecere__sys__DualPipe_Puts(struct __ecereNameSpace__ecere__com__Instance * this, const char * string)
 {
 struct __ecereNameSpace__ecere__sys__DualPipe * __ecerePointer___ecereNameSpace__ecere__sys__DualPipe = (struct __ecereNameSpace__ecere__sys__DualPipe *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__DualPipe->offset) : 0);
 
@@ -489,9 +489,9 @@ DualPipe_Wait(__ecerePointer___ecereNameSpace__ecere__sys__DualPipe->dp);
 
 extern int vsnprintf(char * , size_t, const char * , __builtin_va_list);
 
-struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpen(unsigned int mode, char *  commandLine);
+struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpen(unsigned int mode, const char *  commandLine);
 
-struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpenf(unsigned int mode, char * command, ...)
+struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpenf(unsigned int mode, const char * command, ...)
 {
 char commandLine[1025];
 va_list args;
@@ -505,7 +505,7 @@ return __ecereNameSpace__ecere__sys__DualPipeOpen(mode, commandLine);
 
 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
 
-struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpen(unsigned int mode, char * commandLine)
+struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpen(unsigned int mode, const char * commandLine)
 {
 void * input, * output;
 void * f = _DualPipeOpen(mode, commandLine, (((void *)0)), &input, &output);
@@ -519,9 +519,9 @@ struct __ecereNameSpace__ecere__com__Instance * __ecereInstance1 = __ecereNameSp
 return (((void *)0));
 }
 
-struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpenEnv(unsigned int mode, char *  env, char *  commandLine);
+struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpenEnv(unsigned int mode, const char *  env, const char *  commandLine);
 
-struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpenEnvf(unsigned int mode, char * env, char * command, ...)
+struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpenEnvf(unsigned int mode, const char * env, const char * command, ...)
 {
 char commandLine[1025];
 va_list args;
@@ -533,7 +533,7 @@ __builtin_va_end(args);
 return __ecereNameSpace__ecere__sys__DualPipeOpenEnv(mode, env, commandLine);
 }
 
-struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpenEnv(unsigned int mode, char * env, char * commandLine)
+struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpenEnv(unsigned int mode, const char * env, const char * commandLine)
 {
 void * input, * output;
 void * f = _DualPipeOpen(mode, commandLine, env, &input, &output);
@@ -547,13 +547,13 @@ struct __ecereNameSpace__ecere__com__Instance * __ecereInstance1 = __ecereNameSp
 return (((void *)0));
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -576,7 +576,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -591,15 +591,15 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__BitMember;
 
-extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, int bitSize, int bitPos, int declMode);
+extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, int bitSize, int bitPos, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_DualPipe(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -631,10 +631,10 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetProcessID", "int GetPr
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Peek", "bool Peek()", __ecereMethod___ecereNameSpace__ecere__sys__DualPipe_Peek, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Terminate", "void Terminate()", __ecereMethod___ecereNameSpace__ecere__sys__DualPipe_Terminate, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Wait", "void Wait()", __ecereMethod___ecereNameSpace__ecere__sys__DualPipe_Wait, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::DualPipeOpenf", "ecere::sys::DualPipe ecere::sys::DualPipeOpenf(ecere::sys::PipeOpenMode mode, char * command, ...)", __ecereNameSpace__ecere__sys__DualPipeOpenf, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::DualPipeOpen", "ecere::sys::DualPipe ecere::sys::DualPipeOpen(ecere::sys::PipeOpenMode mode, char * commandLine)", __ecereNameSpace__ecere__sys__DualPipeOpen, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::DualPipeOpenEnvf", "ecere::sys::DualPipe ecere::sys::DualPipeOpenEnvf(ecere::sys::PipeOpenMode mode, char * env, char * command, ...)", __ecereNameSpace__ecere__sys__DualPipeOpenEnvf, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::DualPipeOpenEnv", "ecere::sys::DualPipe ecere::sys::DualPipeOpenEnv(ecere::sys::PipeOpenMode mode, char * env, char * commandLine)", __ecereNameSpace__ecere__sys__DualPipeOpenEnv, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::DualPipeOpenf", "ecere::sys::DualPipe ecere::sys::DualPipeOpenf(ecere::sys::PipeOpenMode mode, const char * command, ...)", __ecereNameSpace__ecere__sys__DualPipeOpenf, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::DualPipeOpen", "ecere::sys::DualPipe ecere::sys::DualPipeOpen(ecere::sys::PipeOpenMode mode, const char * commandLine)", __ecereNameSpace__ecere__sys__DualPipeOpen, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::DualPipeOpenEnvf", "ecere::sys::DualPipe ecere::sys::DualPipeOpenEnvf(ecere::sys::PipeOpenMode mode, const char * env, const char * command, ...)", __ecereNameSpace__ecere__sys__DualPipeOpenEnvf, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::DualPipeOpenEnv", "ecere::sys::DualPipe ecere::sys::DualPipeOpenEnv(ecere::sys::PipeOpenMode mode, const char * env, const char * commandLine)", __ecereNameSpace__ecere__sys__DualPipeOpenEnv, module, 1);
 }
 
 void __ecereUnregisterModule_DualPipe(struct __ecereNameSpace__ecere__com__Instance * module)
index b265b19..691d465 100644 (file)
@@ -81,7 +81,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -102,16 +102,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -123,7 +123,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -135,9 +135,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -145,12 +145,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -161,7 +161,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -169,7 +169,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -194,12 +194,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -215,7 +215,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -225,7 +225,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -268,13 +268,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -353,15 +353,15 @@ unsigned int FILE_Lock(FILE * input, FILE * output, int type, uint64 start, uint
 
 void FILE_set_buffered(FILE * input, FILE * output, unsigned int value);
 
-unsigned int FILE_FileExists(char * fileName);
+unsigned int FILE_FileExists(const char * fileName);
 
-unsigned int FILE_FileGetSize(char * fileName, unsigned int * size);
+unsigned int FILE_FileGetSize(const char * fileName, unsigned int * size);
 
-unsigned int FILE_FileGetStats(char * fileName, struct __ecereNameSpace__ecere__sys__FileStats * stats);
+unsigned int FILE_FileGetStats(const char * fileName, struct __ecereNameSpace__ecere__sys__FileStats * stats);
 
 void FILE_FileFixCase(char * file);
 
-void FILE_FileOpen(char * fileName, int mode, FILE ** input, FILE ** output);
+void FILE_FileOpen(const char * fileName, int mode, FILE ** input, FILE ** output);
 
 struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__httpFileSystem;
 
@@ -383,17 +383,17 @@ return result;
 
 extern void __ecereNameSpace__ecere__sys__PrintSize(char *  string, unsigned int size, int prec);
 
-char * __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, char * string, void * fieldData, unsigned int * needClass)
+const char * __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, char * string, void * fieldData, unsigned int * needClass)
 {
 __ecereNameSpace__ecere__sys__PrintSize(string, *(unsigned int *)this, 2);
 return string;
 }
 
-extern double strtod(char * , char * * );
+extern double strtod(const char * , char * * );
 
 extern char *  strstr(const char * , const char * );
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, char * string)
+unsigned int __ecereMethod___ecereNameSpace__ecere__sys__FileSize_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, const char * string)
 {
 char * end;
 double value = strtod(string, &end);
@@ -427,13 +427,13 @@ return result;
 
 extern void __ecereNameSpace__ecere__sys__PrintBigSize(char *  string, double size, int prec);
 
-char * __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, uint64 * this, char * string, void * fieldData, unsigned int * needClass)
+const char * __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, uint64 * this, char * string, void * fieldData, unsigned int * needClass)
 {
 __ecereNameSpace__ecere__sys__PrintBigSize(string, *(uint64 *)this, 2);
 return string;
 }
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, uint64 * this, char * string)
+unsigned int __ecereMethod___ecereNameSpace__ecere__sys__FileSize64_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, uint64 * this, const char * string)
 {
 char * end;
 double value = strtod(string, &end);
@@ -513,18 +513,18 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 
 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Write;
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_WriteData(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * bytes, unsigned int numBytes)
+unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_WriteData(struct __ecereNameSpace__ecere__com__Instance * this, const unsigned char * bytes, unsigned int numBytes)
 {
 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
 
-return ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
+return ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Write])(this, bytes, 1, numBytes);
 }
 
-struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char *  fileName, int mode);
+struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(const char *  fileName, int mode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__TempFile;
 
@@ -544,7 +544,7 @@ int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof;
 
 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance ** this, char * string)
+unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance ** this, const char * string)
 {
 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
 
@@ -573,7 +573,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(f, buffer, 1, sizeof (buffer));
 
-((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
+((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = (*this);
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : class->_vTbl;
@@ -588,7 +588,7 @@ return 0x0;
 
 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_GetSize;
 
-char * __ecereMethod___ecereNameSpace__ecere__sys__File_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance * this, char * tempString, void * fieldData, unsigned int * needClass)
+const char * __ecereMethod___ecereNameSpace__ecere__sys__File_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Instance * this, char * tempString, void * fieldData, unsigned int * needClass)
 {
 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
 
@@ -638,7 +638,7 @@ struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ece
 return __ecerePointer___ecereNameSpace__ecere__sys__File->input ? (int)fread(buffer, size, count, __ecerePointer___ecereNameSpace__ecere__sys__File->input) : 0;
 }
 
-int __ecereMethod___ecereNameSpace__ecere__sys__File_Write(struct __ecereNameSpace__ecere__com__Instance * this, void * buffer, unsigned int size, unsigned int count)
+int __ecereMethod___ecereNameSpace__ecere__sys__File_Write(struct __ecereNameSpace__ecere__com__Instance * this, const void * buffer, unsigned int size, unsigned int count)
 {
 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
 
@@ -666,7 +666,7 @@ struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ece
 return (fputc((int)ch, __ecerePointer___ecereNameSpace__ecere__sys__File->output) == (-1)) ? 0x0 : 0x1;
 }
 
-extern int fputs(char * , void *  stream);
+extern int fputs(const char * , void *  stream);
 
 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_Puts(struct __ecereNameSpace__ecere__com__Instance * this, const char * string)
 {
@@ -752,7 +752,7 @@ extern size_t strlen(const char * );
 
 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts;
 
-int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, char * format, ...)
+int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, const char * format, ...)
 {
 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
 int result = 0;
@@ -776,11 +776,11 @@ __builtin_va_end(args);
 return result;
 }
 
-extern int __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(char *  buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, void * object, __builtin_va_list args);
+extern int __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(char *  buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, const void * object, __builtin_va_list args);
 
 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Putc;
 
-void __ecereMethod___ecereNameSpace__ecere__sys__File_PrintLn(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
+void __ecereMethod___ecereNameSpace__ecere__sys__File_PrintLn(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...)
 {
 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
 va_list args;
@@ -801,7 +801,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 __builtin_va_end(args);
 }
 
-void __ecereMethod___ecereNameSpace__ecere__sys__File_Print(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
+void __ecereMethod___ecereNameSpace__ecere__sys__File_Print(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...)
 {
 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
 va_list args;
@@ -947,7 +947,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_GetString(this, string, sizeof
 return strtoul(string, (((void *)0)), 16);
 }
 
-extern double __ecereNameSpace__ecere__sys__FloatFromString(char *  string);
+extern double __ecereNameSpace__ecere__sys__FloatFromString(const char *  string);
 
 float __ecereMethod___ecereNameSpace__ecere__sys__File_GetFloat(struct __ecereNameSpace__ecere__com__Instance * this)
 {
@@ -1052,7 +1052,7 @@ return c;
 
 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_CopyTo(struct __ecereNameSpace__ecere__com__Instance * this, char * outputFileName)
+unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_CopyTo(struct __ecereNameSpace__ecere__com__Instance * this, const char * outputFileName)
 {
 struct __ecereNameSpace__ecere__sys__File * __ecerePointer___ecereNameSpace__ecere__sys__File = (struct __ecereNameSpace__ecere__sys__File *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__File->offset) : 0);
 unsigned int result = 0x0;
@@ -1080,7 +1080,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(this, buffer, 1, sizeof (buffer));
 
-if(count && !((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
+if(count && !((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
@@ -1150,22 +1150,24 @@ struct __ecereNameSpace__ecere__com__Instance * created;
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__FileStats;
 
-unsigned int __ecereNameSpace__ecere__sys__FileExists(char * fileName)
+unsigned int __ecereNameSpace__ecere__sys__FileExists(const char * fileName)
 {
-char archiveName[797], * archiveFile;
+char archiveName[797];
+const char * archiveFile;
 
 return FILE_FileExists(fileName);
 }
 
 extern unsigned int __ecereNameSpace__ecere__com__eClass_IsDerived(struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__Class * from);
 
-struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char * fileName, int mode)
+struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(const char * fileName, int mode)
 {
 struct __ecereNameSpace__ecere__com__Instance * result = (((void *)0));
 
 if(fileName)
 {
-char archiveName[797], * archiveFile;
+char archiveName[797];
+const char * archiveFile;
 
 if(strstr(fileName, "File://") == fileName)
 {
@@ -1216,7 +1218,7 @@ void __ecereNameSpace__ecere__sys__FileFixCase(char * file)
 FILE_FileFixCase(file);
 }
 
-unsigned int __ecereNameSpace__ecere__sys__FileGetSize(char * fileName, unsigned int * size)
+unsigned int __ecereNameSpace__ecere__sys__FileGetSize(const char * fileName, unsigned int * size)
 {
 unsigned int result = 0x0;
 
@@ -1231,7 +1233,7 @@ result = FILE_FileGetSize(fileName, size);
 return result;
 }
 
-unsigned int __ecereNameSpace__ecere__sys__FileGetStats(char * fileName, struct __ecereNameSpace__ecere__sys__FileStats * stats)
+unsigned int __ecereNameSpace__ecere__sys__FileGetStats(const char * fileName, struct __ecereNameSpace__ecere__sys__FileStats * stats)
 {
 unsigned int result = 0x0;
 
@@ -1242,11 +1244,11 @@ return FILE_FileGetStats(fileName, stats);
 return result;
 }
 
-struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__CreateTemporaryFile(char * tempFileName, char * template)
+struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__CreateTemporaryFile(char * tempFileName, const char * template)
 {
 }
 
-void __ecereNameSpace__ecere__sys__CreateTemporaryDir(char * tempFileName, char * template)
+void __ecereNameSpace__ecere__sys__CreateTemporaryDir(char * tempFileName, const char * template)
 {
 }
 
@@ -1263,9 +1265,9 @@ void __ecereNameSpace__ecere__sys__MakeSystemPath(char * p)
 __ecereNameSpace__ecere__sys__FileFixCase(p);
 }
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
-char * __ecereNameSpace__ecere__sys__CopySystemPath(char * p)
+char * __ecereNameSpace__ecere__sys__CopySystemPath(const char * p)
 {
 char * d = __ecereNameSpace__ecere__sys__CopyString(p);
 
@@ -1274,7 +1276,7 @@ __ecereNameSpace__ecere__sys__MakeSystemPath(d);
 return d;
 }
 
-char * __ecereNameSpace__ecere__sys__CopyUnixPath(char * p)
+char * __ecereNameSpace__ecere__sys__CopyUnixPath(const char * p)
 {
 char * d = __ecereNameSpace__ecere__sys__CopyString(p);
 
@@ -1285,7 +1287,7 @@ return d;
 
 extern char *  strcpy(char * , const char * );
 
-char * __ecereNameSpace__ecere__sys__GetSystemPathBuffer(char * d, char * p)
+char * __ecereNameSpace__ecere__sys__GetSystemPathBuffer(char * d, const char * p)
 {
 if(d != p)
 strcpy(d, p ? p : "");
@@ -1293,7 +1295,7 @@ __ecereNameSpace__ecere__sys__MakeSystemPath(d);
 return d;
 }
 
-char * __ecereNameSpace__ecere__sys__GetSlashPathBuffer(char * d, char * p)
+char * __ecereNameSpace__ecere__sys__GetSlashPathBuffer(char * d, const char * p)
 {
 if(d != p)
 strcpy(d, p ? p : "");
@@ -1329,13 +1331,13 @@ int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Unlock;
 
 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Close;
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -1358,7 +1360,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -1369,27 +1371,27 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, char *  string, int value);
+extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, const char *  string, int value);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt, int declMode);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__BitMember;
 
 struct __ecereNameSpace__ecere__com__BitMember;
 
-extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, int bitSize, int bitPos, int declMode);
+extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, int bitSize, int bitPos, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_File(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -1410,16 +1412,16 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetDataFromString", 0,
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::sys::FileSystem", 0, 0, 0, 0, 0, module, 2, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
 __ecereClass___ecereNameSpace__ecere__sys__FileSystem = class;
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Open", "ecere::sys::File ::Open(char * archive, char * name, ecere::sys::FileOpenMode mode)", 0, 2);
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Exists", "ecere::sys::FileAttribs ::Exists(char * archive, char * fileName)", 0, 2);
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetSize", "bool ::GetSize(char * archive, char * fileName, ecere::sys::FileSize * size)", 0, 2);
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Stats", "bool ::Stats(char * archive, char * fileName, ecere::sys::FileStats stats)", 0, 2);
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FixCase", "void ::FixCase(char * archive, char * fileName)", 0, 2);
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Find", "bool ::Find(FileDesc file, char * archive, char * name)", 0, 2);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Open", "ecere::sys::File ::Open(const char * archive, const char * name, ecere::sys::FileOpenMode mode)", 0, 2);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Exists", "ecere::sys::FileAttribs ::Exists(const char * archive, const char * fileName)", 0, 2);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "GetSize", "bool ::GetSize(const char * archive, const char * fileName, ecere::sys::FileSize * size)", 0, 2);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Stats", "bool ::Stats(const char * archive, const char * fileName, ecere::sys::FileStats stats)", 0, 2);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FixCase", "void ::FixCase(const char * archive, char * fileName)", 0, 2);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Find", "bool ::Find(FileDesc file, const char * archive, const char * name)", 0, 2);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FindNext", "bool ::FindNext(FileDesc file)", 0, 2);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "CloseDir", "void ::CloseDir(FileDesc file)", 0, 2);
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "OpenArchive", "Archive ::OpenArchive(char * fileName, ArchiveOpenFlags create)", 0, 2);
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "QuerySize", "bool ::QuerySize(char * fileName, ecere::sys::FileSize * size)", 0, 2);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "OpenArchive", "Archive ::OpenArchive(const char * fileName, ArchiveOpenFlags create)", 0, 2);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "QuerySize", "bool ::QuerySize(const char * fileName, ecere::sys::FileSize * size)", 0, 2);
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::FileOpenMode", 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)
 __ecereClass___ecereNameSpace__ecere__sys__FileOpenMode = class;
@@ -1451,7 +1453,7 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(class, "ReadData", 0, __ecereMeth
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Seek", "bool Seek(int pos, ecere::sys::FileSeekMode mode)", __ecereMethod___ecereNameSpace__ecere__sys__File_Seek, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Tell", "uint Tell(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_Tell, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Read", "int Read(void * buffer, unsigned int size, unsigned int count)", __ecereMethod___ecereNameSpace__ecere__sys__File_Read, 1);
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Write", "int Write(void * buffer, unsigned int size, unsigned int count)", __ecereMethod___ecereNameSpace__ecere__sys__File_Write, 1);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Write", "int Write(const void * buffer, unsigned int size, unsigned int count)", __ecereMethod___ecereNameSpace__ecere__sys__File_Write, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Getc", "bool Getc(char * ch)", __ecereMethod___ecereNameSpace__ecere__sys__File_Getc, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Putc", "bool Putc(char ch)", __ecereMethod___ecereNameSpace__ecere__sys__File_Putc, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Puts", "bool Puts(const char * string)", __ecereMethod___ecereNameSpace__ecere__sys__File_Puts, 1);
@@ -1463,7 +1465,7 @@ __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "CloseOutput", "voi
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Lock", "bool Lock(ecere::sys::FileLock type, uint64 start, uint64 length, bool wait)", __ecereMethod___ecereNameSpace__ecere__sys__File_Lock, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Unlock", "bool Unlock(uint64 start, uint64 length, bool wait)", __ecereMethod___ecereNameSpace__ecere__sys__File_Unlock, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "Close", "void Close()", __ecereMethod___ecereNameSpace__ecere__sys__File_Close, 1);
-__ecereNameSpace__ecere__com__eClass_AddMethod(class, "CopyTo", "bool CopyTo(char * outputFileName)", __ecereMethod___ecereNameSpace__ecere__sys__File_CopyTo, 1);
+__ecereNameSpace__ecere__com__eClass_AddMethod(class, "CopyTo", "bool CopyTo(const char * outputFileName)", __ecereMethod___ecereNameSpace__ecere__sys__File_CopyTo, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Flush", "bool Flush(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_Flush, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetDouble", "double GetDouble(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetDouble, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetFloat", "float GetFloat(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetFloat, 1);
@@ -1474,7 +1476,7 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetString", "bool GetStri
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "GetValue", "int GetValue(void)", __ecereMethod___ecereNameSpace__ecere__sys__File_GetValue, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Print", "void Print(typed_object object, ...)", __ecereMethod___ecereNameSpace__ecere__sys__File_Print, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "PrintLn", "void PrintLn(typed_object object, ...)", __ecereMethod___ecereNameSpace__ecere__sys__File_PrintLn, 1);
-__ecereNameSpace__ecere__com__eClass_AddMethod(class, "Printf", "int Printf(char * format, ...)", __ecereMethod___ecereNameSpace__ecere__sys__File_Printf, 1);
+__ecereNameSpace__ecere__com__eClass_AddMethod(class, "Printf", "int Printf(const char * format, ...)", __ecereMethod___ecereNameSpace__ecere__sys__File_Printf, 1);
 __ecerePropM___ecereNameSpace__ecere__sys__File_input = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "input", "void *", __ecereProp___ecereNameSpace__ecere__sys__File_Set_input, __ecereProp___ecereNameSpace__ecere__sys__File_Get_input, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
 __ecereProp___ecereNameSpace__ecere__sys__File_input = __ecerePropM___ecereNameSpace__ecere__sys__File_input, __ecerePropM___ecereNameSpace__ecere__sys__File_input = (void *)0;
@@ -1514,19 +1516,19 @@ __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "size", "ecere::sys::F
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "accessed", "SecSince1970", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "modified", "SecSince1970", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "created", "SecSince1970", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileExists", "ecere::sys::FileAttribs ecere::sys::FileExists(char * fileName)", __ecereNameSpace__ecere__sys__FileExists, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileOpen", "ecere::sys::File ecere::sys::FileOpen(char * fileName, ecere::sys::FileOpenMode mode)", __ecereNameSpace__ecere__sys__FileOpen, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileExists", "ecere::sys::FileAttribs ecere::sys::FileExists(const char * fileName)", __ecereNameSpace__ecere__sys__FileExists, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileOpen", "ecere::sys::File ecere::sys::FileOpen(const char * fileName, ecere::sys::FileOpenMode mode)", __ecereNameSpace__ecere__sys__FileOpen, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileFixCase", "void ecere::sys::FileFixCase(char * file)", __ecereNameSpace__ecere__sys__FileFixCase, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileGetSize", "bool ecere::sys::FileGetSize(char * fileName, ecere::sys::FileSize * size)", __ecereNameSpace__ecere__sys__FileGetSize, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileGetStats", "bool ecere::sys::FileGetStats(char * fileName, ecere::sys::FileStats stats)", __ecereNameSpace__ecere__sys__FileGetStats, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CreateTemporaryFile", "ecere::sys::File ecere::sys::CreateTemporaryFile(char * tempFileName, char * template)", __ecereNameSpace__ecere__sys__CreateTemporaryFile, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CreateTemporaryDir", "void ecere::sys::CreateTemporaryDir(char * tempFileName, char * template)", __ecereNameSpace__ecere__sys__CreateTemporaryDir, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileGetSize", "bool ecere::sys::FileGetSize(const char * fileName, ecere::sys::FileSize * size)", __ecereNameSpace__ecere__sys__FileGetSize, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FileGetStats", "bool ecere::sys::FileGetStats(const char * fileName, ecere::sys::FileStats stats)", __ecereNameSpace__ecere__sys__FileGetStats, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CreateTemporaryFile", "ecere::sys::File ecere::sys::CreateTemporaryFile(char * tempFileName, const char * template)", __ecereNameSpace__ecere__sys__CreateTemporaryFile, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CreateTemporaryDir", "void ecere::sys::CreateTemporaryDir(char * tempFileName, const char * template)", __ecereNameSpace__ecere__sys__CreateTemporaryDir, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MakeSlashPath", "void ecere::sys::MakeSlashPath(char * p)", __ecereNameSpace__ecere__sys__MakeSlashPath, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MakeSystemPath", "void ecere::sys::MakeSystemPath(char * p)", __ecereNameSpace__ecere__sys__MakeSystemPath, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopySystemPath", "char * ecere::sys::CopySystemPath(char * p)", __ecereNameSpace__ecere__sys__CopySystemPath, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopyUnixPath", "char * ecere::sys::CopyUnixPath(char * p)", __ecereNameSpace__ecere__sys__CopyUnixPath, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetSystemPathBuffer", "char * ecere::sys::GetSystemPathBuffer(char * d, char * p)", __ecereNameSpace__ecere__sys__GetSystemPathBuffer, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetSlashPathBuffer", "char * ecere::sys::GetSlashPathBuffer(char * d, char * p)", __ecereNameSpace__ecere__sys__GetSlashPathBuffer, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopySystemPath", "char * ecere::sys::CopySystemPath(const char * p)", __ecereNameSpace__ecere__sys__CopySystemPath, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopyUnixPath", "char * ecere::sys::CopyUnixPath(const char * p)", __ecereNameSpace__ecere__sys__CopyUnixPath, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetSystemPathBuffer", "char * ecere::sys::GetSystemPathBuffer(char * d, const char * p)", __ecereNameSpace__ecere__sys__GetSystemPathBuffer, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetSlashPathBuffer", "char * ecere::sys::GetSlashPathBuffer(char * d, const char * p)", __ecereNameSpace__ecere__sys__GetSlashPathBuffer, module, 1);
 }
 
 void __ecereUnregisterModule_File(struct __ecereNameSpace__ecere__com__Instance * module)
index b1c1a51..8ec0aa9 100644 (file)
@@ -82,7 +82,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -103,16 +103,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -124,7 +124,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -136,9 +136,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -146,12 +146,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -162,7 +162,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -170,7 +170,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -195,12 +195,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -216,7 +216,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -226,7 +226,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -269,13 +269,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -532,13 +532,13 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 (((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[3].dataTypeClass, item), item = 0);
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -561,7 +561,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -572,25 +572,25 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter;
 
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter;
 
-extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, int type, void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
+extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, int type, const void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
 
 extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(struct __ecereNameSpace__ecere__com__Class * base);
 
 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_New(int type, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_AddDataMember(struct __ecereNameSpace__ecere__com__DataMember * member, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_AddDataMember(struct __ecereNameSpace__ecere__com__DataMember * member, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 extern unsigned int __ecereNameSpace__ecere__com__eMember_AddMember(struct __ecereNameSpace__ecere__com__DataMember * addTo, struct __ecereNameSpace__ecere__com__DataMember * dataMember);
 
 extern unsigned int __ecereNameSpace__ecere__com__eClass_AddMember(struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__DataMember * dataMember);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
 void __ecereRegisterModule_LinkList(struct __ecereNameSpace__ecere__com__Instance * module)
 {
index 5262b09..b94013d 100644 (file)
@@ -82,7 +82,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -103,16 +103,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -124,7 +124,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -136,9 +136,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -146,12 +146,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -162,7 +162,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -170,7 +170,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -195,12 +195,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -216,7 +216,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -226,7 +226,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -269,13 +269,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -437,18 +437,18 @@ int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Find;
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Container;
 
-struct __ecereNameSpace__ecere__com__Link * __ecereMethod___ecereNameSpace__ecere__com__List_Find(struct __ecereNameSpace__ecere__com__Instance * this, uint64 value)
+struct __ecereNameSpace__ecere__com__Link * __ecereMethod___ecereNameSpace__ecere__com__List_Find(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 value)
 {
-return (struct __ecereNameSpace__ecere__com__Link *)((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__ecereClass___ecereNameSpace__ecere__com__Container->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Find])(this, value);
+return (struct __ecereNameSpace__ecere__com__Link *)((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value))__ecereClass___ecereNameSpace__ecere__com__Container->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Find])(this, value);
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -471,7 +471,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -482,15 +482,15 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter;
 
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter;
 
-extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, int type, void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
+extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, int type, const void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
 
 extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(struct __ecereNameSpace__ecere__com__Class * base);
 
index 9c0d8f1..ec9d8fd 100644 (file)
@@ -82,7 +82,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -103,16 +103,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -124,7 +124,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -136,9 +136,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -146,12 +146,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -162,7 +162,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -170,7 +170,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -195,12 +195,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -216,7 +216,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -226,7 +226,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -269,13 +269,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -329,12 +329,12 @@ int depth;
 uint64 key;
 } __attribute__ ((gcc_struct));
 
-uint64 __ecereProp___ecereNameSpace__ecere__com__MapNode_Get_key(struct __ecereNameSpace__ecere__com__MapNode * this)
+const uint64 __ecereProp___ecereNameSpace__ecere__com__MapNode_Get_key(struct __ecereNameSpace__ecere__com__MapNode * this)
 {
 return this->key;
 }
 
-void __ecereProp___ecereNameSpace__ecere__com__MapNode_Set_key(struct __ecereNameSpace__ecere__com__MapNode * this, uint64 value)
+void __ecereProp___ecereNameSpace__ecere__com__MapNode_Set_key(struct __ecereNameSpace__ecere__com__MapNode * this, const uint64 value)
 {
 this->key = value;
 }
@@ -417,7 +417,7 @@ this->container = (struct __ecereNameSpace__ecere__com__Instance *)value;
 
 uint64 __ecereMethod___ecereNameSpace__ecere__com__Map_GetKey(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__MapNode * node);
 
-uint64 __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_key(struct __ecereNameSpace__ecere__com__MapIterator * this)
+const uint64 __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_key(struct __ecereNameSpace__ecere__com__MapIterator * this)
 {
 return __ecereMethod___ecereNameSpace__ecere__com__Map_GetKey(((struct __ecereNameSpace__ecere__com__Instance *)this->container), (struct __ecereNameSpace__ecere__com__MapNode *)this->pointer);
 }
@@ -489,7 +489,7 @@ struct __ecereNameSpace__ecere__com__AVLNode * root;
 int count;
 } __attribute__ ((gcc_struct));
 
-struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__ecere__com__AVLNode_Find(struct __ecereNameSpace__ecere__com__AVLNode * this, struct __ecereNameSpace__ecere__com__Class * Tclass, uint64 key);
+struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__ecere__com__AVLNode_Find(struct __ecereNameSpace__ecere__com__AVLNode * this, struct __ecereNameSpace__ecere__com__Class * Tclass, const uint64 key);
 
 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Add;
 
@@ -499,7 +499,7 @@ struct __ecereNameSpace__ecere__com__MapNode * newNode = (struct __ecereNameSpac
 
 if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->type == 1 || ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->type == 1)
 {
-struct __ecereNameSpace__ecere__com__MapNode * realNode = (struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 pos, unsigned int create))__extension__ ({
+struct __ecereNameSpace__ecere__com__MapNode * realNode = (struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 pos, unsigned int create))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Map->_vTbl;
@@ -525,7 +525,7 @@ if((Tclass->type == 1000 && !Tclass->byValueSystemClass) || Tclass->type == 2 ||
 ((void (*)(void *, void *, void *))(void *)Tclass->_vTbl[__ecereVMethodID_class_OnCopy])(Tclass, (((unsigned char *)&newNode->key) + __ENDIAN_PAD(Tclass->typeSize)), (((unsigned char *)&newNode->key) + __ENDIAN_PAD(Tclass->typeSize)));
 }
 else
-((void (*)(void *, void *, void *))(void *)Tclass->_vTbl[__ecereVMethodID_class_OnCopy])(Tclass, (((unsigned char *)&newNode->key) + __ENDIAN_PAD(sizeof(void *))), (void *)(uint64)(__ecereProp___ecereNameSpace__ecere__com__MapNode_Get_key(newNode)));
+((void (*)(void *, void *, void *))(void *)Tclass->_vTbl[__ecereVMethodID_class_OnCopy])(Tclass, (((unsigned char *)&newNode->key) + __ENDIAN_PAD(sizeof(void *))), (void *)*(uint64 *)(&newNode->key));
 ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__ecereClass___ecereNameSpace__ecere__com__CustomAVLTree->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Add])(this, (uint64)newNode);
 return newNode;
 }
@@ -592,10 +592,10 @@ int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Find;
 
 struct __ecereNameSpace__ecere__com__MapNode * __ecereMethod___ecereNameSpace__ecere__com__Map_Find(struct __ecereNameSpace__ecere__com__Instance * this, uint64 value)
 {
-return (struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 value))__ecereClass___ecereNameSpace__ecere__com__Container->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Find])(this, value);
+return (struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 value))__ecereClass___ecereNameSpace__ecere__com__Container->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Find])(this, value);
 }
 
-struct __ecereNameSpace__ecere__com__MapNode * __ecereMethod___ecereNameSpace__ecere__com__Map_GetAtPosition(struct __ecereNameSpace__ecere__com__Instance * this, uint64 pos, unsigned int create)
+struct __ecereNameSpace__ecere__com__MapNode * __ecereMethod___ecereNameSpace__ecere__com__Map_GetAtPosition(struct __ecereNameSpace__ecere__com__Instance * this, const uint64 pos, unsigned int create)
 {
 struct __ecereNameSpace__ecere__com__MapNode * node = ((struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__CustomAVLTree *)(((char *)this + structSize_Instance)))->root) ? __ecereMethod___ecereNameSpace__ecere__com__AVLNode_Find(((struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__CustomAVLTree *)(((char *)this + structSize_Instance)))->root), ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass, pos) : (((void *)0));
 
@@ -670,7 +670,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = source;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Container->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(source, i);
-struct __ecereNameSpace__ecere__com__MapNode * destNode = (struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 pos, unsigned int create))__extension__ ({
+struct __ecereNameSpace__ecere__com__MapNode * destNode = (struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 pos, unsigned int create))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Map->_vTbl;
@@ -713,7 +713,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetNext])(value, i))
 {
 struct __ecereNameSpace__ecere__com__MapNode * srcNode = (struct __ecereNameSpace__ecere__com__MapNode *)i;
-struct __ecereNameSpace__ecere__com__MapNode * destNode = (struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 pos, unsigned int create))__extension__ ({
+struct __ecereNameSpace__ecere__com__MapNode * destNode = (struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 pos, unsigned int create))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Map->_vTbl;
@@ -735,7 +735,7 @@ __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ece
 
 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetCount;
 
-void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * data);
+void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * data);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_uint;
 
@@ -780,9 +780,9 @@ struct __ecereNameSpace__ecere__com__Class * dEclass = dIsNormalClass ? ((struct
 
 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
 
-char *  __ecereProp___ecereNameSpace__ecere__com__Class_Get_char__PTR_(struct __ecereNameSpace__ecere__com__Class * this);
+const char *  __ecereProp___ecereNameSpace__ecere__com__Class_Get_char__PTR_(struct __ecereNameSpace__ecere__com__Class * this);
 
-struct __ecereNameSpace__ecere__com__Class * __ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_(char *  value);
+struct __ecereNameSpace__ecere__com__Class * __ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_(const char *  value);
 
 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__Class_char__PTR_;
 
@@ -804,7 +804,7 @@ uint64 data;
 
 ((void (*)(void *, void *, void *))(void *)Kclass->_vTbl[__ecereVMethodID_class_OnUnserialize])(Kclass, ((char *)&key + __ENDIAN_PAD((class->templateArgs[5].dataTypeClass->type == 1 || class->templateArgs[5].dataTypeClass->type == 0 || class->templateArgs[5].dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[5].dataTypeClass->typeSize)), channel);
 ((void (*)(void *, void *, void *))(void *)Dclass->_vTbl[__ecereVMethodID_class_OnUnserialize])(Dclass, ((char *)&data + __ENDIAN_PAD((class->templateArgs[2].dataTypeClass->type == 1 || class->templateArgs[2].dataTypeClass->type == 0 || class->templateArgs[2].dataTypeClass->type == 5) ? sizeof(void *) : class->templateArgs[2].dataTypeClass->typeSize)), channel);
-destNode = (struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, uint64 pos, unsigned int create))__extension__ ({
+destNode = (struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, const uint64 pos, unsigned int create))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = container;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__Map->_vTbl;
@@ -818,13 +818,13 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 (*this) = container;
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -847,7 +847,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -858,15 +858,15 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt, int declMode);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter;
 
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter;
 
-extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, int type, void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
+extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, int type, const void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
 
 extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(struct __ecereNameSpace__ecere__com__Class * base);
 
@@ -878,7 +878,7 @@ struct __ecereNameSpace__ecere__com__Instance * container;
 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
 } __attribute__ ((gcc_struct));
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
 void __ecereRegisterModule_Map(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -887,7 +887,7 @@ struct __ecereNameSpace__ecere__com__Class * 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)
 __ecereClass___ecereNameSpace__ecere__com__MapNode = class;
-__ecerePropM___ecereNameSpace__ecere__com__MapNode_key = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "key", "KT", __ecereProp___ecereNameSpace__ecere__com__MapNode_Set_key, __ecereProp___ecereNameSpace__ecere__com__MapNode_Get_key, 1);
+__ecerePropM___ecereNameSpace__ecere__com__MapNode_key = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "key", "const KT", __ecereProp___ecereNameSpace__ecere__com__MapNode_Set_key, __ecereProp___ecereNameSpace__ecere__com__MapNode_Get_key, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
 __ecereProp___ecereNameSpace__ecere__com__MapNode_key = __ecerePropM___ecereNameSpace__ecere__com__MapNode_key, __ecerePropM___ecereNameSpace__ecere__com__MapNode_key = (void *)0;
 __ecerePropM___ecereNameSpace__ecere__com__MapNode_value = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "value", "V", __ecereProp___ecereNameSpace__ecere__com__MapNode_Set_value, __ecereProp___ecereNameSpace__ecere__com__MapNode_Get_value, 1);
@@ -917,7 +917,7 @@ __ecereClass___ecereNameSpace__ecere__com__MapIterator = class;
 __ecerePropM___ecereNameSpace__ecere__com__MapIterator_map = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "map", "ecere::com::Map", __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_map, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
 __ecereProp___ecereNameSpace__ecere__com__MapIterator_map = __ecerePropM___ecereNameSpace__ecere__com__MapIterator_map, __ecerePropM___ecereNameSpace__ecere__com__MapIterator_map = (void *)0;
-__ecerePropM___ecereNameSpace__ecere__com__MapIterator_key = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "key", "KT", 0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_key, 1);
+__ecerePropM___ecereNameSpace__ecere__com__MapIterator_key = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "key", "const KT", 0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_key, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
 __ecereProp___ecereNameSpace__ecere__com__MapIterator_key = __ecerePropM___ecereNameSpace__ecere__com__MapIterator_key, __ecerePropM___ecereNameSpace__ecere__com__MapIterator_key = (void *)0;
 __ecerePropM___ecereNameSpace__ecere__com__MapIterator_value = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "value", "V", __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_value, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_value, 1);
index 1bd0328..e845b8a 100644 (file)
@@ -80,7 +80,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -101,16 +101,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -122,7 +122,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -134,9 +134,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -144,12 +144,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -160,7 +160,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -168,7 +168,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -193,12 +193,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -214,7 +214,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -224,7 +224,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -267,13 +267,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -611,7 +611,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Merge(this, &list1, &list2,
 
 extern int strcmp(const char * , const char * );
 
-void * __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindName(struct __ecereNameSpace__ecere__sys__OldList * this, char * name, unsigned int warn)
+void * __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindName(struct __ecereNameSpace__ecere__sys__OldList * this, const char * name, unsigned int warn)
 {
 void * result = (((void *)0));
 
@@ -635,7 +635,7 @@ else if(warn)
 return result;
 }
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__sys__OldList_PlaceName(struct __ecereNameSpace__ecere__sys__OldList * this, char * name, void ** place)
+unsigned int __ecereMethod___ecereNameSpace__ecere__sys__OldList_PlaceName(struct __ecereNameSpace__ecere__sys__OldList * this, const char * name, void ** place)
 {
 unsigned int result = 0x1;
 void * item;
@@ -687,7 +687,7 @@ break;
 return item;
 }
 
-void * __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindNamedLink(struct __ecereNameSpace__ecere__sys__OldList * this, char * name, unsigned int warn)
+void * __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindNamedLink(struct __ecereNameSpace__ecere__sys__OldList * this, const char * name, unsigned int warn)
 {
 if(name)
 {
@@ -714,13 +714,13 @@ copy(newItem, item);
 }
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -743,7 +743,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -754,9 +754,9 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 void __ecereRegisterModule_OldList(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -814,12 +814,12 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Clear", "void Clear(void)
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Copy", "void Copy(ecere::sys::OldList src, int size, void (* copy)(void * dest, void * src))", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Copy, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Delete", "void Delete(void * item)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Delete, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindLink", "ecere::sys::OldLink FindLink(void * data)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindLink, 1);
-__ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindName", "void * FindName(char * name, bool warn)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindName, 1);
-__ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindNamedLink", "void * FindNamedLink(char * name, bool warn)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindNamedLink, 1);
+__ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindName", "void * FindName(const char * name, bool warn)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindName, 1);
+__ecereNameSpace__ecere__com__eClass_AddMethod(class, "FindNamedLink", "void * FindNamedLink(const char * name, bool warn)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindNamedLink, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Free", "void Free(void (* freeFn)(void *))", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Insert", "bool Insert(void * prevItem, void * item)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Move", "void Move(void * item, void * prevItem)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Move, 1);
-__ecereNameSpace__ecere__com__eClass_AddMethod(class, "PlaceName", "bool PlaceName(char * name, void ** place)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_PlaceName, 1);
+__ecereNameSpace__ecere__com__eClass_AddMethod(class, "PlaceName", "bool PlaceName(const char * name, void ** place)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_PlaceName, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Remove", "void Remove(void * item)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "RemoveAll", "void RemoveAll(void (* freeFn)(void *))", __ecereMethod___ecereNameSpace__ecere__sys__OldList_RemoveAll, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Sort", "void Sort(int (* compare)(void *, void *, void *), void * data)", __ecereMethod___ecereNameSpace__ecere__sys__OldList_Sort, 1);
index 7f61bb5..9bfb958 100644 (file)
@@ -81,7 +81,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -102,16 +102,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -123,7 +123,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -135,9 +135,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -145,12 +145,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -161,7 +161,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -169,7 +169,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -194,12 +194,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -215,7 +215,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -225,7 +225,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -268,13 +268,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -314,7 +314,7 @@ extern size_t strlen(const char * );
 
 extern char *  strcpy(char * , const char * );
 
-char * __ecereNameSpace__ecere__sys__GetExtension(char * string, char * output)
+char * __ecereNameSpace__ecere__sys__GetExtension(const char * string, char * output)
 {
 int __simpleStruct0;
 int c;
@@ -343,7 +343,7 @@ extern void *  memmove(void * , const void * , size_t size);
 
 extern int __ecereNameSpace__ecere__com__GetRuntimePlatform(void);
 
-char * __ecereNameSpace__ecere__sys__StripLastDirectory(char * string, char * output)
+char * __ecereNameSpace__ecere__sys__StripLastDirectory(const char * string, char * output)
 {
 int c;
 
@@ -424,7 +424,7 @@ part[len] = '\0';
 return rest;
 }
 
-char * __ecereNameSpace__ecere__sys__GetLastDirectory(char * string, char * output)
+char * __ecereNameSpace__ecere__sys__GetLastDirectory(const char * string, char * output)
 {
 int c;
 int len = string ? strlen(string) : 0;
@@ -445,7 +445,7 @@ return output;
 
 extern char *  strncpy(char * , const char * , size_t n);
 
-unsigned int __ecereNameSpace__ecere__sys__SplitArchivePath(char * fileName, char * archiveName, char ** archiveFile)
+unsigned int __ecereNameSpace__ecere__sys__SplitArchivePath(const char * fileName, char * archiveName, const char ** archiveFile)
 {
 if(fileName[0] == '<')
 {
@@ -478,15 +478,16 @@ extern int toupper(int);
 
 extern char *  strcat(char * , const char * );
 
-extern int sprintf(char * , char * , ...);
+extern int sprintf(char * , const char * , ...);
 
-char * __ecereNameSpace__ecere__sys__PathCatSlash(char * string, char * addedPath)
+char * __ecereNameSpace__ecere__sys__PathCatSlash(char * string, const char * addedPath)
 {
 unsigned int modified = 0x0;
 
 if(addedPath)
 {
-char fileName[797] = "", archiveName[797] = "", * file = (((void *)0));
+char fileName[797] = "", archiveName[797] = "";
+const char * file = (((void *)0));
 int c = 0;
 unsigned int isURL = 0x0;
 unsigned int isArchive = __ecereNameSpace__ecere__sys__SplitArchivePath(string, archiveName, &file);
@@ -687,13 +688,14 @@ strcpy(string, fileName);
 return modified ? string : (((void *)0));
 }
 
-char * __ecereNameSpace__ecere__sys__PathCat(char * string, char * addedPath)
+char * __ecereNameSpace__ecere__sys__PathCat(char * string, const char * addedPath)
 {
 unsigned int modified = 0x0;
 
 if(addedPath)
 {
-char fileName[797] = "", archiveName[797] = "", * file = (((void *)0));
+char fileName[797] = "", archiveName[797] = "";
+const char * file = (((void *)0));
 int c = 0;
 unsigned int isURL = 0x0;
 unsigned int isArchive = __ecereNameSpace__ecere__sys__SplitArchivePath(string, archiveName, &file);
@@ -905,7 +907,7 @@ return modified ? string : (((void *)0));
 
 extern int strcasecmp(const char * , const char * );
 
-char * __ecereNameSpace__ecere__sys__MakePathRelative(char * path, char * to, char * destination)
+char * __ecereNameSpace__ecere__sys__MakePathRelative(const char * path, const char * to, char * destination)
 {
 int len;
 
@@ -961,7 +963,7 @@ break;
 return 0x0;
 }
 
-char * __ecereNameSpace__ecere__sys__ChangeExtension(char * string, char * ext, char * output)
+char * __ecereNameSpace__ecere__sys__ChangeExtension(const char * string, const char * ext, char * output)
 {
 if(string != output)
 strcpy(output, string);
@@ -1039,12 +1041,12 @@ extern int tolower(int);
 
 extern int isalnum(int c);
 
-char * __ecereNameSpace__ecere__sys__SearchString(char * buffer, int start, char * subStr, unsigned int matchCase, unsigned int matchWord)
+char * __ecereNameSpace__ecere__sys__SearchString(const char * buffer, int start, const char * subStr, unsigned int matchCase, unsigned int matchWord)
 {
 if(buffer && subStr)
 {
-char * ptr;
-char * strBuffer = buffer + start;
+const char * ptr;
+const char * strBuffer = buffer + start;
 int subLen = strlen(subStr);
 char beforeChar = start ? *(strBuffer - 1) : (char)0;
 int (* strcompare)(const char *, const char *, unsigned int) = matchCase ? strncmp : (strncasecmp);
@@ -1056,12 +1058,12 @@ if(matchCase ? (*subStr == *ptr) : (tolower(*subStr) == tolower(*ptr)))
 if(matchWord)
 {
 if(!strcompare(ptr, subStr, subLen) && (!((subStr[subLen - 1]) == '_' || isalnum((subStr[subLen - 1]))) || !((ptr[subLen]) == '_' || isalnum((ptr[subLen])))) && (!((subStr[0]) == '_' || isalnum((subStr[0]))) || !((beforeChar) == '_' || isalnum((beforeChar)))))
-return ptr;
+return (char *)ptr;
 }
 else
 {
 if(!strcompare(ptr, subStr, subLen))
-return ptr;
+return (char *)ptr;
 }
 }
 beforeChar = ptr[0];
@@ -1070,13 +1072,13 @@ beforeChar = ptr[0];
 return (((void *)0));
 }
 
-char * __ecereNameSpace__ecere__sys__RSearchString(char * buffer, char * subStr, int maxLen, unsigned int matchCase, unsigned int matchWord)
+char * __ecereNameSpace__ecere__sys__RSearchString(const char * buffer, const char * subStr, int maxLen, unsigned int matchCase, unsigned int matchWord)
 {
 if(buffer && subStr)
 {
 int subLen = strlen(subStr);
-char * ptr1 = buffer + maxLen - subLen;
-char * ptr2 = buffer + maxLen - subLen - 1;
+const char * ptr1 = buffer + maxLen - subLen;
+const char * ptr2 = buffer + maxLen - subLen - 1;
 int (* strcompare)(const char *, const char *, unsigned int) = matchCase ? strncmp : (strncasecmp);
 
 for(; ptr1 >= buffer; ptr1--, ptr2--)
@@ -1086,12 +1088,12 @@ if(tolower(*subStr) == tolower(*ptr1))
 if(matchWord)
 {
 if(!strcompare(ptr1, subStr, subLen) && (!((subStr[subLen - 1]) == '_' || isalnum((subStr[subLen - 1]))) || !((ptr1[subLen]) == '_' || isalnum((ptr1[subLen])))) && (!((subStr[0]) == '_' || isalnum((subStr[0]))) || !((*ptr2) == '_' || isalnum((*ptr2)))))
-return ptr1;
+return (char *)ptr1;
 }
 else
 {
 if(!strcompare(ptr1, subStr, subLen))
-return ptr1;
+return (char *)ptr1;
 }
 }
 }
@@ -1164,7 +1166,7 @@ tokens[count++] = start;
 return count;
 }
 
-int __ecereNameSpace__ecere__sys__TokenizeWith(char * string, int maxTokens, char * tokens[], char * tokenizers, unsigned int escapeBackSlashes)
+int __ecereNameSpace__ecere__sys__TokenizeWith(char * string, int maxTokens, char * tokens[], const char * tokenizers, unsigned int escapeBackSlashes)
 {
 int count = 0;
 unsigned int quoted = 0x0;
@@ -1231,7 +1233,7 @@ tokens[count++] = start;
 return count;
 }
 
-char * __ecereNameSpace__ecere__sys__TrimLSpaces(char * string, char * output)
+char * __ecereNameSpace__ecere__sys__TrimLSpaces(const char * string, char * output)
 {
 int c;
 
@@ -1241,7 +1243,7 @@ memmove(output, string + c, strlen(string + c) + 1);
 return output;
 }
 
-char * __ecereNameSpace__ecere__sys__TrimRSpaces(char * string, char * output)
+char * __ecereNameSpace__ecere__sys__TrimRSpaces(const char * string, char * output)
 {
 int c;
 
@@ -1275,7 +1277,7 @@ string[c] = ch;
 string[c] = (char)0;
 }
 
-char * __ecereNameSpace__ecere__sys__CopyString(char * string)
+char * __ecereNameSpace__ecere__sys__CopyString(const char * string)
 {
 if(string)
 {
@@ -1359,10 +1361,10 @@ __ecereNameSpace__ecere__sys__GetString(buffer, string, 20);
 return strtoul(string, (((void *)0)), 16);
 }
 
-char * __ecereNameSpace__ecere__sys__StripQuotes(char * string, char * output)
+char * __ecereNameSpace__ecere__sys__StripQuotes(const char * string, char * output)
 {
 int len;
-char * src = (string[0] == '\"') ? (string + 1) : string;
+const char * src = (string[0] == '\"') ? (string + 1) : string;
 
 memmove(output, src, strlen(src) + 1);
 len = strlen(output);
@@ -1373,7 +1375,7 @@ return output;
 
 extern unsigned int isdigit(int);
 
-double __ecereNameSpace__ecere__sys__FloatFromString(char * string)
+double __ecereNameSpace__ecere__sys__FloatFromString(const char * string)
 {
 int c, dig;
 float dec = 0, res = 0;
@@ -1410,7 +1412,7 @@ break;
 return (float)neg * res;
 }
 
-unsigned int __ecereNameSpace__ecere__sys__IsPathInsideOf(char * path, char * of)
+unsigned int __ecereNameSpace__ecere__sys__IsPathInsideOf(const char * path, const char * of)
 {
 if(!path[0] || !of[0])
 return 0x0;
@@ -1440,21 +1442,21 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__DefinedExpression;
 
-extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(char *  name, char *  value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(const char *  name, const char *  value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -1477,7 +1479,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -1488,7 +1490,7 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, char *  string, int value);
+extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, const char *  string, int value);
 
 void __ecereRegisterModule_String(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -1501,37 +1503,37 @@ __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::sys::MAX_EXTENSION"
 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::sys::MAX_FILENAME", "274", module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::sys::MAX_DIRECTORY", "534", module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::sys::MAX_LOCATION", "797", module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetExtension", "char * ecere::sys::GetExtension(char * string, char * output)", __ecereNameSpace__ecere__sys__GetExtension, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::StripLastDirectory", "char * ecere::sys::StripLastDirectory(char * string, char * output)", __ecereNameSpace__ecere__sys__StripLastDirectory, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetExtension", "char * ecere::sys::GetExtension(const char * string, char * output)", __ecereNameSpace__ecere__sys__GetExtension, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::StripLastDirectory", "char * ecere::sys::StripLastDirectory(const char * string, char * output)", __ecereNameSpace__ecere__sys__StripLastDirectory, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::SplitDirectory", "char * ecere::sys::SplitDirectory(const char * string, char * part, char * rest)", __ecereNameSpace__ecere__sys__SplitDirectory, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetLastDirectory", "char * ecere::sys::GetLastDirectory(char * string, char * output)", __ecereNameSpace__ecere__sys__GetLastDirectory, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::SplitArchivePath", "bool ecere::sys::SplitArchivePath(char * fileName, char * archiveName, char * * archiveFile)", __ecereNameSpace__ecere__sys__SplitArchivePath, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::PathCatSlash", "char * ecere::sys::PathCatSlash(char * string, char * addedPath)", __ecereNameSpace__ecere__sys__PathCatSlash, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::PathCat", "char * ecere::sys::PathCat(char * string, char * addedPath)", __ecereNameSpace__ecere__sys__PathCat, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MakePathRelative", "char * ecere::sys::MakePathRelative(char * path, char * to, char * destination)", __ecereNameSpace__ecere__sys__MakePathRelative, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetLastDirectory", "char * ecere::sys::GetLastDirectory(const char * string, char * output)", __ecereNameSpace__ecere__sys__GetLastDirectory, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::SplitArchivePath", "bool ecere::sys::SplitArchivePath(const char * fileName, char * archiveName, const char * * archiveFile)", __ecereNameSpace__ecere__sys__SplitArchivePath, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::PathCatSlash", "char * ecere::sys::PathCatSlash(char * string, const char * addedPath)", __ecereNameSpace__ecere__sys__PathCatSlash, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::PathCat", "char * ecere::sys::PathCat(char * string, const char * addedPath)", __ecereNameSpace__ecere__sys__PathCat, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MakePathRelative", "char * ecere::sys::MakePathRelative(const char * path, const char * to, char * destination)", __ecereNameSpace__ecere__sys__MakePathRelative, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::StripExtension", "bool ecere::sys::StripExtension(char * string)", __ecereNameSpace__ecere__sys__StripExtension, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ChangeExtension", "char * ecere::sys::ChangeExtension(char * string, char * ext, char * output)", __ecereNameSpace__ecere__sys__ChangeExtension, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ChangeExtension", "char * ecere::sys::ChangeExtension(const char * string, const char * ext, char * output)", __ecereNameSpace__ecere__sys__ChangeExtension, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::PrintSize", "void ecere::sys::PrintSize(char * string, uint size, int prec)", __ecereNameSpace__ecere__sys__PrintSize, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::PrintBigSize", "void ecere::sys::PrintBigSize(char * string, double size, int prec)", __ecereNameSpace__ecere__sys__PrintBigSize, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::SearchString", "char * ecere::sys::SearchString(char * buffer, int start, char * subStr, bool matchCase, bool matchWord)", __ecereNameSpace__ecere__sys__SearchString, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::RSearchString", "char * ecere::sys::RSearchString(char * buffer, char * subStr, int maxLen, bool matchCase, bool matchWord)", __ecereNameSpace__ecere__sys__RSearchString, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::SearchString", "char * ecere::sys::SearchString(const char * buffer, int start, const char * subStr, bool matchCase, bool matchWord)", __ecereNameSpace__ecere__sys__SearchString, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::RSearchString", "char * ecere::sys::RSearchString(const char * buffer, const char * subStr, int maxLen, bool matchCase, bool matchWord)", __ecereNameSpace__ecere__sys__RSearchString, module, 4);
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::BackSlashEscaping", "bool", 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)
 __ecereClass___ecereNameSpace__ecere__sys__BackSlashEscaping = class;
 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "forArgsPassing", 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::Tokenize", "int ecere::sys::Tokenize(char * string, int maxTokens, char * tokens[], ecere::sys::BackSlashEscaping esc)", __ecereNameSpace__ecere__sys__Tokenize, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::TokenizeWith", "int ecere::sys::TokenizeWith(char * string, int maxTokens, char * tokens[], char * tokenizers, bool escapeBackSlashes)", __ecereNameSpace__ecere__sys__TokenizeWith, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::TrimLSpaces", "char * ecere::sys::TrimLSpaces(char * string, char * output)", __ecereNameSpace__ecere__sys__TrimLSpaces, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::TrimRSpaces", "char * ecere::sys::TrimRSpaces(char * string, char * output)", __ecereNameSpace__ecere__sys__TrimRSpaces, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::TokenizeWith", "int ecere::sys::TokenizeWith(char * string, int maxTokens, char * tokens[], const char * tokenizers, bool escapeBackSlashes)", __ecereNameSpace__ecere__sys__TokenizeWith, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::TrimLSpaces", "char * ecere::sys::TrimLSpaces(const char * string, char * output)", __ecereNameSpace__ecere__sys__TrimLSpaces, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::TrimRSpaces", "char * ecere::sys::TrimRSpaces(const char * string, char * output)", __ecereNameSpace__ecere__sys__TrimRSpaces, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ChangeCh", "void ecere::sys::ChangeCh(char * string, char ch1, char ch2)", __ecereNameSpace__ecere__sys__ChangeCh, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::RepeatCh", "void ecere::sys::RepeatCh(char * string, int count, char ch)", __ecereNameSpace__ecere__sys__RepeatCh, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopyString", "char * ecere::sys::CopyString(char * string)", __ecereNameSpace__ecere__sys__CopyString, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopyString", "char * ecere::sys::CopyString(const char * string)", __ecereNameSpace__ecere__sys__CopyString, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetString", "bool ecere::sys::GetString(char * * buffer, char * string, int max)", __ecereNameSpace__ecere__sys__GetString, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetValue", "int ecere::sys::GetValue(char * * buffer)", __ecereNameSpace__ecere__sys__GetValue, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetHexValue", "uint ecere::sys::GetHexValue(char * * buffer)", __ecereNameSpace__ecere__sys__GetHexValue, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::StripQuotes", "char * ecere::sys::StripQuotes(char * string, char * output)", __ecereNameSpace__ecere__sys__StripQuotes, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FloatFromString", "double ecere::sys::FloatFromString(char * string)", __ecereNameSpace__ecere__sys__FloatFromString, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::IsPathInsideOf", "bool ecere::sys::IsPathInsideOf(char * path, char * of)", __ecereNameSpace__ecere__sys__IsPathInsideOf, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::StripQuotes", "char * ecere::sys::StripQuotes(const char * string, char * output)", __ecereNameSpace__ecere__sys__StripQuotes, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::FloatFromString", "double ecere::sys::FloatFromString(const char * string)", __ecereNameSpace__ecere__sys__FloatFromString, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::IsPathInsideOf", "bool ecere::sys::IsPathInsideOf(const char * path, const char * of)", __ecereNameSpace__ecere__sys__IsPathInsideOf, module, 4);
 }
 
 void __ecereUnregisterModule_String(struct __ecereNameSpace__ecere__com__Instance * module)
index b3f0091..ef936e8 100644 (file)
@@ -82,7 +82,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -103,16 +103,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -124,7 +124,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -136,9 +136,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -146,12 +146,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -162,7 +162,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -170,7 +170,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -195,12 +195,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -216,7 +216,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -226,7 +226,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -269,13 +269,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -348,31 +348,31 @@ FILE * eC_stdout(void);
 
 FILE * eC_stderr(void);
 
-unsigned int System_MoveFile(char * source, char * dest);
+unsigned int System_MoveFile(const char * source, const char * dest);
 
-unsigned int System_RenameFile(char * oldName, char * newName);
+unsigned int System_RenameFile(const char * oldName, const char * newName);
 
-unsigned int System_DeleteFile(char * fileName);
+unsigned int System_DeleteFile(const char * fileName);
 
-unsigned int System_MakeDir(char * path);
+unsigned int System_MakeDir(const char * path);
 
-unsigned int System_RemoveDir(char * path);
+unsigned int System_RemoveDir(const char * path);
 
 char * System_GetWorkingDir(char * buf, int size);
 
-unsigned int System_ChangeWorkingDir(char * buf);
+unsigned int System_ChangeWorkingDir(const char * buf);
 
-char * System_GetEnvironment(char * envName, char * envValue, int max);
+char * System_GetEnvironment(const char * envName, char * envValue, int max);
 
-void System_SetEnvironment(char * envName, char * envValue);
+void System_SetEnvironment(const char * envName, const char * envValue);
 
-void System_UnsetEnvironment(char * envName);
+void System_UnsetEnvironment(const char * envName);
 
-unsigned int System_Execute(char * env, char * command, va_list args, unsigned int wait);
+unsigned int System_Execute(const char * env, const char * command, va_list args, unsigned int wait);
 
-unsigned int System_ShellOpen(char * fileName, va_list args);
+unsigned int System_ShellOpen(const char * fileName, va_list args);
 
-void System_GetFreeSpace(char * path, struct __ecereNameSpace__ecere__com__Instance ** size);
+void System_GetFreeSpace(const char * path, struct __ecereNameSpace__ecere__com__Instance ** size);
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__LoggingMode;
 
@@ -395,7 +395,7 @@ unsigned int count;
 unsigned int minAllocSize;
 } __attribute__ ((gcc_struct));
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__BuiltInContainer;
 
@@ -415,27 +415,27 @@ static struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__
 
 static struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__errorMessages;
 
-unsigned int __ecereNameSpace__ecere__sys__MoveFile(char * source, char * dest)
+unsigned int __ecereNameSpace__ecere__sys__MoveFile(const char * source, const char * dest)
 {
 return System_MoveFile(source, dest);
 }
 
-unsigned int __ecereNameSpace__ecere__sys__RenameFile(char * oldName, char * newName)
+unsigned int __ecereNameSpace__ecere__sys__RenameFile(const char * oldName, const char * newName)
 {
 return System_RenameFile(oldName, newName);
 }
 
-unsigned int __ecereNameSpace__ecere__sys__DeleteFile(char * fileName)
+unsigned int __ecereNameSpace__ecere__sys__DeleteFile(const char * fileName)
 {
 return System_DeleteFile(fileName);
 }
 
-unsigned int __ecereNameSpace__ecere__sys__MakeDir(char * path)
+unsigned int __ecereNameSpace__ecere__sys__MakeDir(const char * path)
 {
 return System_MakeDir(path);
 }
 
-unsigned int __ecereNameSpace__ecere__sys__RemoveDir(char * path)
+unsigned int __ecereNameSpace__ecere__sys__RemoveDir(const char * path)
 {
 return System_RemoveDir(path);
 }
@@ -445,27 +445,27 @@ char * __ecereNameSpace__ecere__sys__GetWorkingDir(char * buf, int size)
 return System_GetWorkingDir(buf, size);
 }
 
-unsigned int __ecereNameSpace__ecere__sys__ChangeWorkingDir(char * buf)
+unsigned int __ecereNameSpace__ecere__sys__ChangeWorkingDir(const char * buf)
 {
 return System_ChangeWorkingDir(buf);
 }
 
-char * __ecereNameSpace__ecere__sys__GetEnvironment(char * envName, char * envValue, int max)
+char * __ecereNameSpace__ecere__sys__GetEnvironment(const char * envName, char * envValue, int max)
 {
 return System_GetEnvironment(envName, envValue, max);
 }
 
-void __ecereNameSpace__ecere__sys__SetEnvironment(char * envName, char * envValue)
+void __ecereNameSpace__ecere__sys__SetEnvironment(const char * envName, const char * envValue)
 {
 System_SetEnvironment(envName, envValue);
 }
 
-void __ecereNameSpace__ecere__sys__UnsetEnvironment(char * envName)
+void __ecereNameSpace__ecere__sys__UnsetEnvironment(const char * envName)
 {
 System_UnsetEnvironment(envName);
 }
 
-unsigned int __ecereNameSpace__ecere__sys__Execute(char * command, ...)
+unsigned int __ecereNameSpace__ecere__sys__Execute(const char * command, ...)
 {
 unsigned int result;
 va_list args;
@@ -476,7 +476,7 @@ __builtin_va_end(args);
 return result;
 }
 
-unsigned int __ecereNameSpace__ecere__sys__ExecuteWait(char * command, ...)
+unsigned int __ecereNameSpace__ecere__sys__ExecuteWait(const char * command, ...)
 {
 unsigned int result;
 va_list args;
@@ -487,7 +487,7 @@ __builtin_va_end(args);
 return result;
 }
 
-unsigned int __ecereNameSpace__ecere__sys__ExecuteEnv(char * env, char * command, ...)
+unsigned int __ecereNameSpace__ecere__sys__ExecuteEnv(const char * env, const char * command, ...)
 {
 unsigned int result;
 va_list args;
@@ -498,7 +498,7 @@ __builtin_va_end(args);
 return result;
 }
 
-unsigned int __ecereNameSpace__ecere__sys__ShellOpen(char * fileName, ...)
+unsigned int __ecereNameSpace__ecere__sys__ShellOpen(const char * fileName, ...)
 {
 unsigned int result;
 va_list args;
@@ -508,14 +508,14 @@ __builtin_va_end(args);
 return result;
 }
 
-void __ecereNameSpace__ecere__sys__GetFreeSpace(char * path, struct __ecereNameSpace__ecere__com__Instance ** size)
+void __ecereNameSpace__ecere__sys__GetFreeSpace(const char * path, struct __ecereNameSpace__ecere__com__Instance ** size)
 {
 System_GetFreeSpace(path, size);
 }
 
-void __ecereNameSpace__ecere__sys__Log(char *  text);
+void __ecereNameSpace__ecere__sys__Log(const char *  text);
 
-void __ecereNameSpace__ecere__sys__Logf(char * format, ...)
+void __ecereNameSpace__ecere__sys__Logf(const char * format, ...)
 {
 va_list args;
 char string[1025];
@@ -546,9 +546,9 @@ unsigned int systemTerminate;
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__System;
 
-extern int fputs(char * , void *  stream);
+extern int fputs(const char * , void *  stream);
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char *  fileName, int mode);
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(const char *  fileName, int mode);
 
 extern char *  strcat(char * , const char * );
 
@@ -558,7 +558,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
-void __ecereNameSpace__ecere__sys__Log(char * text)
+void __ecereNameSpace__ecere__sys__Log(const char * text)
 {
 switch(__ecereNameSpace__ecere__sys__globalSystem.errorLoggingMode)
 {
@@ -593,7 +593,7 @@ break;
 }
 }
 
-extern int printf(char * , ...);
+extern int printf(const char * , ...);
 
 void __ecereNameSpace__ecere__sys__DumpErrors(unsigned int display)
 {
@@ -607,7 +607,7 @@ __ecereNameSpace__ecere__sys__globalSystem.errorBuffer[0] = '\0';
 }
 }
 
-void __ecereNameSpace__ecere__sys__LogErrorCode(unsigned int errorCode, char * details)
+void __ecereNameSpace__ecere__sys__LogErrorCode(unsigned int errorCode, const char * details)
 {
 if(((int)((errorCode & 0x3000) >> 12)) <= __ecereNameSpace__ecere__sys__globalSystem.errorLevel)
 {
@@ -615,13 +615,13 @@ int cat = (((unsigned int)((errorCode & 0xFFF) >> 0)) & 0xF00) >> 8;
 int code = ((unsigned int)((errorCode & 0xFFF) >> 0)) & 0xFF;
 
 if(details)
-__ecereNameSpace__ecere__sys__Logf("System Error [%d]: %s (%s).\n", ((int)((errorCode & 0x3000) >> 12)), ((char **)__extension__ ({
+__ecereNameSpace__ecere__sys__Logf("System Error [%d]: %s (%s).\n", ((int)((errorCode & 0x3000) >> 12)), ((const char **)__extension__ ({
 char * __ecTemp1 = (((struct __ecereNameSpace__ecere__com__Instance **)((struct __ecereNameSpace__ecere__com__Array *)(((char *)__ecereNameSpace__ecere__sys__errorMessages + structSize_Instance)))->array)[cat]);
 
 ((struct __ecereNameSpace__ecere__com__Array *)(__ecTemp1 + structSize_Instance));
 })->array)[code], details);
 else
-__ecereNameSpace__ecere__sys__Logf("System Error [%d]: %s.\n", ((int)((errorCode & 0x3000) >> 12)), ((char **)__extension__ ({
+__ecereNameSpace__ecere__sys__Logf("System Error [%d]: %s.\n", ((int)((errorCode & 0x3000) >> 12)), ((const char **)__extension__ ({
 char * __ecTemp1 = (((struct __ecereNameSpace__ecere__com__Instance **)((struct __ecereNameSpace__ecere__com__Array *)(((char *)__ecereNameSpace__ecere__sys__errorMessages + structSize_Instance)))->array)[cat]);
 
 ((struct __ecereNameSpace__ecere__com__Array *)(__ecTemp1 + structSize_Instance));
@@ -682,13 +682,13 @@ __ecereNameSpace__ecere__sys__globalSystem.errorBufferSize = 0;
 }
 
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -711,7 +711,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -722,27 +722,27 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, char *  string, int value);
+extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, const char *  string, int value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DefinedExpression;
 
 struct __ecereNameSpace__ecere__com__DefinedExpression;
 
-extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(char *  name, char *  value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(const char *  name, const char *  value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__BitMember;
 
 struct __ecereNameSpace__ecere__com__BitMember;
 
-extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, int bitSize, int bitPos, int declMode);
+extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, int bitSize, int bitPos, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 void __ecereRegisterModule_System(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -787,25 +787,25 @@ __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "driverNotSupported", 2
 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "windowCreationFailed", 258);
 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "graphicsLoadingFailed", 259);
 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "modeSwitchFailed", 260);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MoveFile", "bool ecere::sys::MoveFile(char * source, char * dest)", __ecereNameSpace__ecere__sys__MoveFile, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::RenameFile", "bool ecere::sys::RenameFile(char * oldName, char * newName)", __ecereNameSpace__ecere__sys__RenameFile, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::DeleteFile", "bool ecere::sys::DeleteFile(char * fileName)", __ecereNameSpace__ecere__sys__DeleteFile, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MakeDir", "bool ecere::sys::MakeDir(char * path)", __ecereNameSpace__ecere__sys__MakeDir, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::RemoveDir", "bool ecere::sys::RemoveDir(char * path)", __ecereNameSpace__ecere__sys__RemoveDir, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MoveFile", "bool ecere::sys::MoveFile(const char * source, const char * dest)", __ecereNameSpace__ecere__sys__MoveFile, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::RenameFile", "bool ecere::sys::RenameFile(const char * oldName, const char * newName)", __ecereNameSpace__ecere__sys__RenameFile, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::DeleteFile", "bool ecere::sys::DeleteFile(const char * fileName)", __ecereNameSpace__ecere__sys__DeleteFile, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MakeDir", "bool ecere::sys::MakeDir(const char * path)", __ecereNameSpace__ecere__sys__MakeDir, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::RemoveDir", "bool ecere::sys::RemoveDir(const char * path)", __ecereNameSpace__ecere__sys__RemoveDir, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetWorkingDir", "char * ecere::sys::GetWorkingDir(char * buf, int size)", __ecereNameSpace__ecere__sys__GetWorkingDir, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ChangeWorkingDir", "bool ecere::sys::ChangeWorkingDir(char * buf)", __ecereNameSpace__ecere__sys__ChangeWorkingDir, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetEnvironment", "char * ecere::sys::GetEnvironment(char * envName, char * envValue, int max)", __ecereNameSpace__ecere__sys__GetEnvironment, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::SetEnvironment", "void ecere::sys::SetEnvironment(char * envName, char * envValue)", __ecereNameSpace__ecere__sys__SetEnvironment, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UnsetEnvironment", "void ecere::sys::UnsetEnvironment(char * envName)", __ecereNameSpace__ecere__sys__UnsetEnvironment, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::Execute", "bool ecere::sys::Execute(char * command, ...)", __ecereNameSpace__ecere__sys__Execute, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ExecuteWait", "bool ecere::sys::ExecuteWait(char * command, ...)", __ecereNameSpace__ecere__sys__ExecuteWait, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ExecuteEnv", "bool ecere::sys::ExecuteEnv(char * env, char * command, ...)", __ecereNameSpace__ecere__sys__ExecuteEnv, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ShellOpen", "bool ecere::sys::ShellOpen(char * fileName, ...)", __ecereNameSpace__ecere__sys__ShellOpen, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetFreeSpace", "void ecere::sys::GetFreeSpace(char * path, FileSize64 * size)", __ecereNameSpace__ecere__sys__GetFreeSpace, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::Logf", "void ecere::sys::Logf(char * format, ...)", __ecereNameSpace__ecere__sys__Logf, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::Log", "void ecere::sys::Log(char * text)", __ecereNameSpace__ecere__sys__Log, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ChangeWorkingDir", "bool ecere::sys::ChangeWorkingDir(const char * buf)", __ecereNameSpace__ecere__sys__ChangeWorkingDir, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetEnvironment", "char * ecere::sys::GetEnvironment(const char * envName, char * envValue, int max)", __ecereNameSpace__ecere__sys__GetEnvironment, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::SetEnvironment", "void ecere::sys::SetEnvironment(const char * envName, const char * envValue)", __ecereNameSpace__ecere__sys__SetEnvironment, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UnsetEnvironment", "void ecere::sys::UnsetEnvironment(const char * envName)", __ecereNameSpace__ecere__sys__UnsetEnvironment, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::Execute", "bool ecere::sys::Execute(const char * command, ...)", __ecereNameSpace__ecere__sys__Execute, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ExecuteWait", "bool ecere::sys::ExecuteWait(const char * command, ...)", __ecereNameSpace__ecere__sys__ExecuteWait, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ExecuteEnv", "bool ecere::sys::ExecuteEnv(const char * env, const char * command, ...)", __ecereNameSpace__ecere__sys__ExecuteEnv, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ShellOpen", "bool ecere::sys::ShellOpen(const char * fileName, ...)", __ecereNameSpace__ecere__sys__ShellOpen, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetFreeSpace", "void ecere::sys::GetFreeSpace(const char * path, FileSize64 * size)", __ecereNameSpace__ecere__sys__GetFreeSpace, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::Logf", "void ecere::sys::Logf(const char * format, ...)", __ecereNameSpace__ecere__sys__Logf, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::Log", "void ecere::sys::Log(const char * text)", __ecereNameSpace__ecere__sys__Log, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::DumpErrors", "void ecere::sys::DumpErrors(bool display)", __ecereNameSpace__ecere__sys__DumpErrors, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::LogErrorCode", "void ecere::sys::LogErrorCode(ecere::sys::ErrorCode errorCode, char * details)", __ecereNameSpace__ecere__sys__LogErrorCode, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::LogErrorCode", "void ecere::sys::LogErrorCode(ecere::sys::ErrorCode errorCode, const char * details)", __ecereNameSpace__ecere__sys__LogErrorCode, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::GetLastErrorCode", "uint ecere::sys::GetLastErrorCode(void)", __ecereNameSpace__ecere__sys__GetLastErrorCode, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ResetError", "void ecere::sys::ResetError(void)", __ecereNameSpace__ecere__sys__ResetError, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::SetErrorLevel", "void ecere::sys::SetErrorLevel(ecere::sys::ErrorLevel level)", __ecereNameSpace__ecere__sys__SetErrorLevel, module, 1);
@@ -847,7 +847,7 @@ void __ecereCreateModuleInstances_System()
 {
 (__ecereNameSpace__ecere__sys__sysErrorMessages = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Array_TPL_String_), __ecereProp___ecereNameSpace__ecere__com__Container_Set_copySrc(__ecereNameSpace__ecere__sys__sysErrorMessages, ((struct __ecereNameSpace__ecere__com__Instance *)&__extension__ (struct __ecereNameSpace__ecere__com__BuiltInContainer)
 {
-__ecereClass___ecereNameSpace__ecere__com__BuiltInContainer->_vTbl, __ecereClass___ecereNameSpace__ecere__com__BuiltInContainer, 0, __extension__ (char * [])
+__ecereClass___ecereNameSpace__ecere__com__BuiltInContainer->_vTbl, __ecereClass___ecereNameSpace__ecere__com__BuiltInContainer, 0, __extension__ (const char * [])
 {
 __ecereNameSpace__ecere__GetTranslatedString("ecere", "No error", (((void *)0))), __ecereNameSpace__ecere__GetTranslatedString("ecere", "Memory allocation failed", (((void *)0))), __ecereNameSpace__ecere__GetTranslatedString("ecere", "Inexistant string identifier specified", (((void *)0))), __ecereNameSpace__ecere__GetTranslatedString("ecere", "Identic string identifier already exists", (((void *)0))), __ecereNameSpace__ecere__GetTranslatedString("ecere", "Shared library loading failed", (((void *)0))), __ecereNameSpace__ecere__GetTranslatedString("ecere", "File not found", (((void *)0))), __ecereNameSpace__ecere__GetTranslatedString("ecere", "Couldn't write to file", (((void *)0)))
 }, 7, __ecereClass_String
@@ -855,7 +855,7 @@ __ecereNameSpace__ecere__GetTranslatedString("ecere", "No error", (((void *)0)))
 __ecereNameSpace__ecere__com__eInstance_IncRef(__ecereNameSpace__ecere__sys__sysErrorMessages);
 (__ecereNameSpace__ecere__sys__guiErrorMessages = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Array_TPL_String_), __ecereProp___ecereNameSpace__ecere__com__Container_Set_copySrc(__ecereNameSpace__ecere__sys__guiErrorMessages, ((struct __ecereNameSpace__ecere__com__Instance *)&__extension__ (struct __ecereNameSpace__ecere__com__BuiltInContainer)
 {
-__ecereClass___ecereNameSpace__ecere__com__BuiltInContainer->_vTbl, __ecereClass___ecereNameSpace__ecere__com__BuiltInContainer, 0, __extension__ (char * [])
+__ecereClass___ecereNameSpace__ecere__com__BuiltInContainer->_vTbl, __ecereClass___ecereNameSpace__ecere__com__BuiltInContainer, 0, __extension__ (const char * [])
 {
 __ecereNameSpace__ecere__GetTranslatedString("ecere", "No error", (((void *)0))), __ecereNameSpace__ecere__GetTranslatedString("ecere", "Graphics driver not supported by any user interface system", (((void *)0))), __ecereNameSpace__ecere__GetTranslatedString("ecere", "Window creation failed", (((void *)0))), __ecereNameSpace__ecere__GetTranslatedString("ecere", "Window graphics loading failed", (((void *)0))), __ecereNameSpace__ecere__GetTranslatedString("ecere", "Driver/Mode switch failed", (((void *)0)))
 }, 5, __ecereClass_String
index ad02205..150c062 100644 (file)
@@ -81,7 +81,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -102,16 +102,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -123,7 +123,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -135,9 +135,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -145,12 +145,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -161,7 +161,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -169,7 +169,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -194,12 +194,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -215,7 +215,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -225,7 +225,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -268,13 +268,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -335,7 +335,7 @@ __ecerePointer___ecereNameSpace__ecere__sys__TempFile->position += read;
 return read / size;
 }
 
-int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Write(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * buffer, unsigned int size, unsigned int count)
+int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Write(struct __ecereNameSpace__ecere__com__Instance * this, const unsigned char * buffer, unsigned int size, unsigned int count)
 {
 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
 int writeSize = size * count;
@@ -376,7 +376,7 @@ int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Write;
 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Putc(struct __ecereNameSpace__ecere__com__Instance * this, char ch)
 {
 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
-int written = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
+int written = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__TempFile->_vTbl;
@@ -387,11 +387,11 @@ return written != 0;
 
 extern size_t strlen(const char * );
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Puts(struct __ecereNameSpace__ecere__com__Instance * this, char * string)
+unsigned int __ecereMethod___ecereNameSpace__ecere__sys__TempFile_Puts(struct __ecereNameSpace__ecere__com__Instance * this, const char * string)
 {
 struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace__ecere__sys__TempFile = (struct __ecereNameSpace__ecere__sys__TempFile *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__sys__TempFile->offset) : 0);
 int len = string ? strlen(string) : 0;
-int written = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
+int written = ((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__TempFile->_vTbl;
@@ -546,13 +546,13 @@ struct __ecereNameSpace__ecere__sys__TempFile * __ecerePointer___ecereNameSpace_
 return __ecerePointer___ecereNameSpace__ecere__sys__TempFile->buffer;
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -575,7 +575,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -586,9 +586,9 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt, int declMode);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
 
 void __ecereRegisterModule_TempFile(struct __ecereNameSpace__ecere__com__Instance * module)
 {
index 3c8d18b..d61777f 100644 (file)
@@ -81,7 +81,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -102,16 +102,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -123,7 +123,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -135,9 +135,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -145,12 +145,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -161,7 +161,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -169,7 +169,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -194,12 +194,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -215,7 +215,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -225,7 +225,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -258,13 +258,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -316,19 +316,19 @@ int __internalValue001;
 int __internalValue000;
 int a;
 
-((char *  (*)(struct __ecereNameSpace__ecere__com__Class *, void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int, &a, 0, 0, 0);
-((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnFree])(__ecereClass_int, &a);
-((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, void * newData))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCopy])(__ecereClass_int, &a, __extension__ ({
+((const char *  (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int, &a, 0, 0, 0);
+((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnFree])(__ecereClass_int, &a);
+((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, const void * newData))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCopy])(__ecereClass_int, &a, __extension__ ({
 __internalValue000 = 0;
 &__internalValue000;
 }));
-((int (*)(struct __ecereNameSpace__ecere__com__Class *, void *, void * object))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCompare])(__ecereClass_int, &a, __extension__ ({
+((int (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, const void * object))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnCompare])(__ecereClass_int, &a, __extension__ ({
 __internalValue001 = 0;
 &__internalValue001;
 }));
-((unsigned int (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * window, void *  object))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnSaveEdit])(__ecereClass_int, &a, (((void *)0)), 0);
-((struct __ecereNameSpace__ecere__com__Instance * (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * dataBox, struct __ecereNameSpace__ecere__com__Instance * obsolete, int x, int y, int w, int h, void *  userData))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnEdit])(__ecereClass_int, &a, (((void *)0)), (((void *)0)), 0, 0, 0, 20, 0);
-((unsigned int (*)(struct __ecereNameSpace__ecere__com__Class *, void *, char *  string))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(__ecereClass_int, &a, (((void *)0)));
+((unsigned int (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * window, void *  object))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnSaveEdit])(__ecereClass_int, &a, (((void *)0)), 0);
+((struct __ecereNameSpace__ecere__com__Instance * (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * dataBox, struct __ecereNameSpace__ecere__com__Instance * obsolete, int x, int y, int w, int h, void *  userData))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnEdit])(__ecereClass_int, &a, (((void *)0)), (((void *)0)), 0, 0, 0, 20, 0);
+((unsigned int (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, const char *  string))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetDataFromString])(__ecereClass_int, &a, (((void *)0)));
 }
 
 typedef __builtin_va_list va_list;
@@ -429,26 +429,26 @@ static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 int __ecereVMethodID_class_OnSerialize;
 
-void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * data)
+void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * data)
 {
-((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnSerialize])(class, data, this);
+((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnSerialize])(class, data, this);
 }
 
 int __ecereVMethodID_class_OnUnserialize;
 
 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Unserialize(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * * data)
 {
-((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnUnserialize])(class, data, this);
+((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnUnserialize])(class, data, this);
 }
 
-void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * data)
+void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * data)
 {
-((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnSerialize])(class, data, this);
+((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnSerialize])(class, data, this);
 }
 
 void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * * data)
 {
-((void (*)(struct __ecereNameSpace__ecere__com__Class *, void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnUnserialize])(class, data, this);
+((void (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, struct __ecereNameSpace__ecere__com__Instance * channel))class->_vTbl[__ecereVMethodID_class_OnUnserialize])(class, data, this);
 }
 
 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_buffer, * __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_buffer;
@@ -478,7 +478,7 @@ __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_Free(this);
 
 extern void *  memcpy(void * , const void * , size_t size);
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_WriteData(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * bytes, unsigned int numBytes)
+unsigned int __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_WriteData(struct __ecereNameSpace__ecere__com__Instance * this, const void * bytes, unsigned int numBytes)
 {
 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
 
@@ -497,7 +497,7 @@ return numBytes;
 return 0;
 }
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_ReadData(struct __ecereNameSpace__ecere__com__Instance * this, unsigned char * bytes, unsigned int numBytes)
+unsigned int __ecereMethod___ecereNameSpace__ecere__com__SerialBuffer_ReadData(struct __ecereNameSpace__ecere__com__Instance * this, void * bytes, unsigned int numBytes)
 {
 struct __ecereNameSpace__ecere__com__SerialBuffer * __ecerePointer___ecereNameSpace__ecere__com__SerialBuffer = (struct __ecereNameSpace__ecere__com__SerialBuffer *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__SerialBuffer->offset) : 0);
 
@@ -578,7 +578,7 @@ extern char *  strcpy(char * , const char * );
 
 extern int toupper(int);
 
-char * __ecereNameSpace__ecere__com__Enum_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, char * tempString, void * fieldData, unsigned int * needClass)
+const char * __ecereNameSpace__ecere__com__Enum_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, char * tempString, void * fieldData, unsigned int * needClass)
 {
 struct __ecereNameSpace__ecere__sys__NamedLink * item = (((void *)0));
 struct __ecereNameSpace__ecere__com__Class * b;
@@ -604,9 +604,9 @@ return (((void *)0));
 
 extern int strcasecmp(const char * , const char * );
 
-static unsigned int __ecereNameSpace__ecere__com__Integer_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, int *  data, char *  string);
+static unsigned int __ecereNameSpace__ecere__com__Integer_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, int *  data, const char *  string);
 
-static unsigned int __ecereNameSpace__ecere__com__Enum_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, char * string)
+static unsigned int __ecereNameSpace__ecere__com__Enum_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, const char * string)
 {
 struct __ecereNameSpace__ecere__sys__NamedLink * item = (((void *)0));
 struct __ecereNameSpace__ecere__com__Class * b;
@@ -653,7 +653,7 @@ _class = _class->base;
 }
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
 static int __ecereNameSpace__ecere__com__DataMember_OnCompare(struct __ecereNameSpace__ecere__com__DataMember * parentMember, void * data1, void * data2)
 {
@@ -855,9 +855,9 @@ return result;
 return 0;
 }
 
-static char *  __ecereNameSpace__ecere__com__UInt64Hex_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 *  data, char *  string, void *  fieldData, unsigned int *  needClass);
+static const char *  __ecereNameSpace__ecere__com__UInt64Hex_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 *  data, char *  string, void *  fieldData, unsigned int *  needClass);
 
-static char *  __ecereNameSpace__ecere__com__UIntegerHex_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int *  data, char *  string, void *  fieldData, unsigned int *  needClass);
+static const char *  __ecereNameSpace__ecere__com__UIntegerHex_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int *  data, char *  string, void *  fieldData, unsigned int *  needClass);
 
 extern char *  strchr(const char * , int);
 
@@ -869,12 +869,12 @@ struct __ecereNameSpace__ecere__com__BitMember
 {
 struct __ecereNameSpace__ecere__com__BitMember * prev;
 struct __ecereNameSpace__ecere__com__BitMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -891,7 +891,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_float;
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_int64;
 
-static char * __ecereNameSpace__ecere__com__OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, void * data, char * tempString, void * fieldData, unsigned int * needClass)
+static const char * __ecereNameSpace__ecere__com__OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, void * data, char * tempString, void * fieldData, unsigned int * needClass)
 {
 struct __ecereNameSpace__ecere__com__Instance * module = _class->templateClass ? _class->templateClass->module : _class->module;
 
@@ -935,31 +935,31 @@ if(refProp)
 {
 if(prop->Set && prop->Get)
 {
-char * dts = _class->base->dataTypeString;
+const char * dts = _class->base->dataTypeString;
 
 if(!strcmp(dts, "double"))
 {
 double d = ((double (*)(double))(void *)prop->Set)(*(double *)data);
 
-return ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)__ecereClass_double->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_double, &d, tempString, fieldData, needClass);
+return ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)__ecereClass_double->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_double, &d, tempString, fieldData, needClass);
 }
 else if(!strcmp(dts, "float"))
 {
 float d = ((float (*)(float))(void *)prop->Set)(*(float *)data);
 
-return ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)__ecereClass_float->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_float, &d, tempString, fieldData, needClass);
+return ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)__ecereClass_float->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_float, &d, tempString, fieldData, needClass);
 }
 else if(!strcmp(dts, "int"))
 {
 int d = ((int (*)(int))(void *)prop->Set)(*(int *)data);
 
-return ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int, &d, tempString, fieldData, needClass);
+return ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int, &d, tempString, fieldData, needClass);
 }
 else if(!strcmp(dts, "int64"))
 {
 long long d = ((long long (*)(long long))(void *)prop->Set)(*(long long *)data);
 
-return ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)__ecereClass_int64->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int64, &d, tempString, fieldData, needClass);
+return ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)__ecereClass_int64->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int64, &d, tempString, fieldData, needClass);
 }
 }
 else
@@ -967,7 +967,7 @@ break;
 }
 }
 dataType = __ecereNameSpace__ecere__com__eSystem_FindClass(module, _class->dataTypeString);
-return ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnGetString])(dataType, data, tempString, fieldData, needClass);
+return ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)dataType->_vTbl[__ecereVMethodID_class_OnGetString])(dataType, data, tempString, fieldData, needClass);
 }
 else
 {
@@ -990,7 +990,7 @@ for(member = _class->membersAndProperties.first; member; member = member->next)
 {
 char memberString[1024];
 struct __ecereNameSpace__ecere__com__Class * memberType = member->dataTypeClass;
-char * name = member->name;
+const char * name = member->name;
 
 if(member->id < 0)
 continue;
@@ -1018,7 +1018,7 @@ value.f = ((float (*)(void *))(void *)prop->Get)(data);
 if(value.f)
 {
 unsigned int needClass = 0x1;
-char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, (((void *)0)), &needClass);
+const char * result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, (((void *)0)), &needClass);
 
 if(result && result != memberString)
 strcpy(memberString, result);
@@ -1032,7 +1032,7 @@ value.p = ((void * (*)(void *))(void *)prop->Get)(data);
 if(value.p || prop->IsSet)
 {
 unsigned int needClass = 0x1;
-char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, (memberType->type == 0) ? value.p : &value, memberString, (((void *)0)), &needClass);
+const char * result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, (memberType->type == 0) ? value.p : &value, memberString, (((void *)0)), &needClass);
 
 if(result && result != memberString)
 strcpy(memberString, result);
@@ -1044,7 +1044,7 @@ value.i = ((int (*)(void *))(void *)prop->Get)(data);
 if(value.i || prop->IsSet)
 {
 unsigned int needClass = 0x1;
-char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, (((void *)0)), &needClass);
+const char * result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, (((void *)0)), &needClass);
 
 if(result && result != memberString)
 strcpy(memberString, result);
@@ -1070,12 +1070,12 @@ break;
 if(c < typeSize)
 {
 unsigned int needClass = 0x1;
-char * result;
+const char * result;
 
 if(memberType->type == 0)
-result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, *(struct __ecereNameSpace__ecere__com__Instance **)memberData, internalMemberString, (((void *)0)), &needClass);
+result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, *(struct __ecereNameSpace__ecere__com__Instance **)memberData, internalMemberString, (((void *)0)), &needClass);
 else
-result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, memberData, internalMemberString, (((void *)0)), &needClass);
+result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, memberData, internalMemberString, (((void *)0)), &needClass);
 if(needClass && strcmp(memberType->dataTypeString, "char *"))
 {
 strcat(memberString, "{ ");
@@ -1103,7 +1103,7 @@ if(value.ui64)
 {
 unsigned int needClass = 0x1;
 char internalMemberString[1024];
-char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, internalMemberString, (((void *)0)), &needClass);
+const char * result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, internalMemberString, (((void *)0)), &needClass);
 
 if(needClass && memberType->type != 1000 && memberType->type != 4 && memberType->type != 3)
 {
@@ -1124,7 +1124,7 @@ value.i = *(int *)((unsigned char *)data + (((member->_class->type == 0) ? membe
 if(value.i)
 {
 unsigned int needClass = 0x1;
-char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, (((void *)0)), &needClass);
+const char * result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, (((void *)0)), &needClass);
 
 if(result && memberString != result)
 strcpy(memberString, result);
@@ -1133,7 +1133,7 @@ strcpy(memberString, result);
 else
 {
 unsigned int needClass = 0x1;
-char * result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, ((unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset)), memberString, (((void *)0)), &needClass);
+const char * result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)memberType->_vTbl[__ecereVMethodID_class_OnGetString])(memberType, ((unsigned char *)data + (((member->_class->type == 0) ? member->_class->offset : 0) + member->offset)), memberString, (((void *)0)), &needClass);
 
 if(result && memberString != result)
 strcpy(memberString, result);
@@ -1195,15 +1195,15 @@ extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpa
 
 extern void *  memset(void *  area, int value, size_t count);
 
-extern char *  __ecereNameSpace__ecere__sys__TrimRSpaces(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__TrimRSpaces(const char *  string, char *  output);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, unsigned int *  offset, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, unsigned int *  offset, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
 extern void __ecereNameSpace__ecere__com__eClass_FindNextMember(struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__Class **  curClass, struct __ecereNameSpace__ecere__com__DataMember **  curMember, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
 
-static unsigned int __ecereNameSpace__ecere__com__OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, void ** data, char * string)
+static unsigned int __ecereNameSpace__ecere__com__OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, void ** data, const char * string)
 {
 unsigned int result;
 struct __ecereNameSpace__ecere__com__Instance * module = _class->module;
@@ -1239,7 +1239,7 @@ if(refProp)
 {
 if(prop->Set && prop->Get)
 {
-char * dts = _class->base->dataTypeString;
+const char * dts = _class->base->dataTypeString;
 
 if(!strcmp(dts, "double"))
 {
@@ -1723,15 +1723,15 @@ result = -1;
 return result;
 }
 
-extern int sprintf(char * , char * , ...);
+extern int sprintf(char * , const char * , ...);
 
-char * __ecereNameSpace__ecere__com__Integer_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, char * string, void * fieldData, unsigned int * needClass)
+const char * __ecereNameSpace__ecere__com__Integer_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, char * string, void * fieldData, unsigned int * needClass)
 {
 sprintf(string, "%d", *data);
 return string;
 }
 
-static unsigned int __ecereNameSpace__ecere__com__Integer_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, char * string)
+static unsigned int __ecereNameSpace__ecere__com__Integer_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, int * data, const char * string)
 {
 char * end;
 int result = strtol(string, &end, 0);
@@ -1744,13 +1744,13 @@ return 0x1;
 return 0x0;
 }
 
-static char * __ecereNameSpace__ecere__com__Int16_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, short * data, char * string, void * fieldData, unsigned int * needClass)
+static const char * __ecereNameSpace__ecere__com__Int16_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, short * data, char * string, void * fieldData, unsigned int * needClass)
 {
 sprintf(string, "%d", (int)*data);
 return string;
 }
 
-static unsigned int __ecereNameSpace__ecere__com__Int16_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, short * data, char * string)
+static unsigned int __ecereNameSpace__ecere__com__Int16_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, short * data, const char * string)
 {
 char * end;
 short result = (short)strtol(string, &end, 0);
@@ -1797,7 +1797,7 @@ result = -1;
 return result;
 }
 
-static char * __ecereNameSpace__ecere__com__UInteger_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int * data, char * string, void * fieldData, unsigned int * needClass)
+static const char * __ecereNameSpace__ecere__com__UInteger_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int * data, char * string, void * fieldData, unsigned int * needClass)
 {
 sprintf(string, "%u", *data);
 return string;
@@ -1820,13 +1820,13 @@ result = -1;
 return result;
 }
 
-static char * __ecereNameSpace__ecere__com__UInt16_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned short * data, char * string, void * fieldData, unsigned int * needClass)
+static const char * __ecereNameSpace__ecere__com__UInt16_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned short * data, char * string, void * fieldData, unsigned int * needClass)
 {
 sprintf(string, "%u", (unsigned int)*data);
 return string;
 }
 
-static char * __ecereNameSpace__ecere__com__UIntegerHex_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int * data, char * string, void * fieldData, unsigned int * needClass)
+static const char * __ecereNameSpace__ecere__com__UIntegerHex_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int * data, char * string, void * fieldData, unsigned int * needClass)
 {
 sprintf(string, "%x", *data);
 return string;
@@ -1834,7 +1834,7 @@ return string;
 
 extern unsigned long strtoul(const char *  nptr, char * *  endptr, int base);
 
-static unsigned int __ecereNameSpace__ecere__com__UInteger_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int * data, char * string)
+static unsigned int __ecereNameSpace__ecere__com__UInteger_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int * data, const char * string)
 {
 char * end;
 unsigned int result = strtoul(string, &end, 0);
@@ -1847,7 +1847,7 @@ return 0x1;
 return 0x0;
 }
 
-static unsigned int __ecereNameSpace__ecere__com__UInt16_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned short * data, char * string)
+static unsigned int __ecereNameSpace__ecere__com__UInt16_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned short * data, const char * string)
 {
 char * end;
 unsigned short result = (unsigned short)strtoul(string, &end, 0);
@@ -1877,13 +1877,13 @@ result = -1;
 return result;
 }
 
-static char * __ecereNameSpace__ecere__com__Byte_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data, char * string, void * fieldData, unsigned int * needClass)
+static const char * __ecereNameSpace__ecere__com__Byte_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data, char * string, void * fieldData, unsigned int * needClass)
 {
 sprintf(string, "%u", (int)*data);
 return string;
 }
 
-static char * __ecereNameSpace__ecere__com__Char_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, char * data, char * string, void * fieldData, unsigned int * needClass)
+static const char * __ecereNameSpace__ecere__com__Char_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, char * data, char * string, void * fieldData, unsigned int * needClass)
 {
 if(needClass && *needClass)
 {
@@ -1909,7 +1909,7 @@ sprintf(string, "%c", *data);
 return string;
 }
 
-static unsigned int __ecereNameSpace__ecere__com__Byte_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data, char * string)
+static unsigned int __ecereNameSpace__ecere__com__Byte_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data, const char * string)
 {
 char * end;
 unsigned char result = (unsigned char)strtoul(string, &end, 0);
@@ -2002,49 +2002,49 @@ return result;
 
 extern int __ecereNameSpace__ecere__com__GetRuntimePlatform(void);
 
-static char * __ecereNameSpace__ecere__com__Int64_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, long long * data, char * string, void * fieldData, unsigned int * needClass)
+static const char * __ecereNameSpace__ecere__com__Int64_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, long long * data, char * string, void * fieldData, unsigned int * needClass)
 {
 sprintf(string, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "%I64d" : "%lld"), *data);
 return string;
 }
 
-static char * __ecereNameSpace__ecere__com__UInt64_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 * data, char * string, void * fieldData, unsigned int * needClass)
+static const char * __ecereNameSpace__ecere__com__UInt64_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 * data, char * string, void * fieldData, unsigned int * needClass)
 {
 sprintf(string, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "%I64u" : "%llu"), *data);
 return string;
 }
 
-static char * __ecereNameSpace__ecere__com__UInt64Hex_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 * data, char * string, void * fieldData, unsigned int * needClass)
+static const char * __ecereNameSpace__ecere__com__UInt64Hex_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 * data, char * string, void * fieldData, unsigned int * needClass)
 {
 sprintf(string, ((__ecereNameSpace__ecere__com__GetRuntimePlatform() == 1) ? "0x%I64X" : "0x%llX"), *data);
 return string;
 }
 
-static char * __ecereNameSpace__ecere__com__UIntPtr64_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 data, char * string, void * fieldData, unsigned int * needClass)
+static const char * __ecereNameSpace__ecere__com__UIntPtr64_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 data, char * string, void * fieldData, unsigned int * needClass)
 {
 return __ecereNameSpace__ecere__com__UInt64Hex_OnGetString(_class, &data, string, fieldData, needClass);
 }
 
-static char * __ecereNameSpace__ecere__com__UIntPtr32_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int data, char * string, void * fieldData, unsigned int * needClass)
+static const char * __ecereNameSpace__ecere__com__UIntPtr32_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int data, char * string, void * fieldData, unsigned int * needClass)
 {
 return __ecereNameSpace__ecere__com__UIntegerHex_OnGetString(_class, &data, string, fieldData, needClass);
 }
 
-static char * __ecereNameSpace__ecere__com__IntPtr64_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 data, char * string, void * fieldData, unsigned int * needClass)
+static const char * __ecereNameSpace__ecere__com__IntPtr64_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, long long data, char * string, void * fieldData, unsigned int * needClass)
 {
 return __ecereNameSpace__ecere__com__Int64_OnGetString(_class, &data, string, fieldData, needClass);
 }
 
-static char * __ecereNameSpace__ecere__com__IntPtr32_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, unsigned int data, char * string, void * fieldData, unsigned int * needClass)
+static const char * __ecereNameSpace__ecere__com__IntPtr32_OnGetString(struct __ecereNameSpace__ecere__com__Class * _class, int data, char * string, void * fieldData, unsigned int * needClass)
 {
 return __ecereNameSpace__ecere__com__Integer_OnGetString(_class, &data, string, fieldData, needClass);
 }
 
-extern long long __ecereNameSpace__ecere__com___strtoi64(char *  string, char * *  endString, int base);
+extern long long __ecereNameSpace__ecere__com___strtoi64(const char *  string, const char * *  endString, int base);
 
-static unsigned int __ecereNameSpace__ecere__com__Int64_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 * data, char * string)
+static unsigned int __ecereNameSpace__ecere__com__Int64_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, long long * data, const char * string)
 {
-char * end;
+const char * end;
 uint64 result = __ecereNameSpace__ecere__com___strtoi64(string, &end, 0);
 
 if(end > string)
@@ -2055,11 +2055,11 @@ return 0x1;
 return 0x0;
 }
 
-extern uint64 __ecereNameSpace__ecere__com___strtoui64(char *  string, char * *  endString, int base);
+extern uint64 __ecereNameSpace__ecere__com___strtoui64(const char *  string, const char * *  endString, int base);
 
-static unsigned int __ecereNameSpace__ecere__com__UInt64_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 * data, char * string)
+static unsigned int __ecereNameSpace__ecere__com__UInt64_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, uint64 * data, const char * string)
 {
-char * end;
+const char * end;
 uint64 result = __ecereNameSpace__ecere__com___strtoui64(string, &end, 0);
 
 if(end > string)
@@ -2074,7 +2074,7 @@ int __ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData;
 
 void __ecereNameSpace__ecere__com__Byte_OnSerialize(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data, struct __ecereNameSpace__ecere__com__Instance * channel)
 {
-((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2085,7 +2085,7 @@ int __ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_ReadData;
 
 void __ecereNameSpace__ecere__com__Byte_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, unsigned char * data, struct __ecereNameSpace__ecere__com__Instance * channel)
 {
-if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2102,7 +2102,7 @@ unsigned char bytes[4];
 (bytes)[2] = (unsigned char)(((*data) >> 8) & 0xFF);
 (bytes)[3] = (unsigned char)((*data) & 0xFF);
 ;
-((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2118,7 +2118,7 @@ unsigned char bytes[4];
 (bytes)[2] = (unsigned char)(((data) >> 8) & 0xFF);
 (bytes)[3] = (unsigned char)((data) & 0xFF);
 ;
-((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2129,7 +2129,7 @@ void __ecereNameSpace__ecere__com__Int_OnUnserialize(struct __ecereNameSpace__ec
 {
 unsigned char bytes[4];
 
-if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2172,7 +2172,7 @@ unsigned char bytes[8];
 (bytes)[6] = (unsigned char)(((*data) >> 8) & 0xFF);
 (bytes)[7] = (unsigned char)((*data) & 0xFF);
 ;
-((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2192,7 +2192,7 @@ unsigned char bytes[8];
 (bytes)[6] = (unsigned char)(((data) >> 8) & 0xFF);
 (bytes)[7] = (unsigned char)((data) & 0xFF);
 ;
-((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2203,7 +2203,7 @@ void __ecereNameSpace__ecere__com__Int64_OnUnserialize(struct __ecereNameSpace__
 {
 unsigned char bytes[8];
 
-if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2220,7 +2220,7 @@ unsigned char bytes[2];
 (bytes)[0] = (unsigned char)(((*data) >> (unsigned short)8) & (unsigned short)0xFF);
 (bytes)[1] = (unsigned char)(((*data)) & (unsigned short)0xFF);
 ;
-((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2231,7 +2231,7 @@ void __ecereNameSpace__ecere__com__Word_OnUnserialize(struct __ecereNameSpace__e
 {
 unsigned char bytes[2];
 
-if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2241,18 +2241,18 @@ else
 *data = (unsigned short)0;
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
 static void __ecereNameSpace__ecere__com__RegisterClass_Integer(struct __ecereNameSpace__ecere__com__Instance * module)
 {
 struct __ecereNameSpace__ecere__com__Class * integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "int", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 
 integerClass->type = 1000;
-(__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("int");
 integerClass->structSize = 0;
 integerClass->typeSize = sizeof(int);
@@ -2265,7 +2265,7 @@ integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "int64", (
 integerClass->type = 1000;
 integerClass->structSize = 0;
 integerClass->typeSize = sizeof(long long);
-(__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("int64");
 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnGetString, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnCompare, 1);
@@ -2274,7 +2274,7 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((v
 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int64_OnUnserialize, 1);
 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uint", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 integerClass->type = 1000;
-(__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned int");
 integerClass->structSize = 0;
 integerClass->typeSize = sizeof(unsigned int);
@@ -2285,7 +2285,7 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((v
 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "unsigned int", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 integerClass->type = 1000;
-(__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned int");
 integerClass->structSize = 0;
 integerClass->typeSize = sizeof(unsigned int);
@@ -2296,7 +2296,7 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((v
 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Int_OnUnserialize, 1);
 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uint16", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 integerClass->type = 1000;
-(__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned short");
 integerClass->structSize = 0;
 integerClass->typeSize = sizeof(unsigned short);
@@ -2307,7 +2307,7 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((v
 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__UInt16_OnGetDataFromString, 1);
 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "short", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 integerClass->type = 1000;
-(__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("short");
 integerClass->structSize = 0;
 integerClass->typeSize = sizeof(short);
@@ -2318,13 +2318,13 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetString", (((v
 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnGetDataFromString", (((void *)0)), __ecereNameSpace__ecere__com__Int16_OnGetDataFromString, 1);
 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uint32", "uint", 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 integerClass->type = 1000;
-(__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned int");
 integerClass->structSize = 0;
 integerClass->typeSize = sizeof(unsigned int);
 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uint64", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 integerClass->type = 1000;
-(__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("uint64");
 integerClass->structSize = 0;
 integerClass->typeSize = sizeof(uint64);
@@ -2335,7 +2335,7 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", ((
 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((void *)0)), __ecereNameSpace__ecere__com__UInt64_OnCompare, 1);
 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "byte", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 integerClass->type = 1000;
-(__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("unsigned char");
 integerClass->structSize = 0;
 integerClass->typeSize = sizeof(unsigned char);
@@ -2346,7 +2346,7 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((v
 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnUnserialize, 1);
 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "char", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 integerClass->type = 1000;
-(__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("char");
 integerClass->structSize = 0;
 integerClass->typeSize = sizeof(char);
@@ -2357,7 +2357,7 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnSerialize", (((v
 __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", (((void *)0)), __ecereNameSpace__ecere__com__Byte_OnUnserialize, 1);
 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "intsize", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 integerClass->type = 1000;
-(__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("ssize_t");
 integerClass->structSize = 0;
 integerClass->typeSize = sizeof(ssize_t);
@@ -2379,7 +2379,7 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnUnserialize", ((
 }
 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uintsize", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 integerClass->type = 1000;
-(__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("size_t");
 integerClass->structSize = 0;
 integerClass->typeSize = sizeof(size_t);
@@ -2401,7 +2401,7 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((voi
 }
 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "uintptr", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 integerClass->type = 1000;
-(__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("uintptr_t");
 integerClass->structSize = 0;
 integerClass->typeSize = sizeof(uintptr_t);
@@ -2424,7 +2424,7 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(integerClass, "OnCompare", (((voi
 }
 integerClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "intptr", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 integerClass->type = 1000;
-(__ecereNameSpace__ecere__com__eSystem_Delete(integerClass->dataTypeString), integerClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)integerClass->dataTypeString), integerClass->dataTypeString = 0);
 integerClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("intptr_t");
 integerClass->structSize = 0;
 integerClass->typeSize = sizeof(intptr_t);
@@ -2523,7 +2523,7 @@ break;
 return string;
 }
 
-extern double strtod(char * , char * * );
+extern double strtod(const char * , char * * );
 
 static unsigned int __ecereNameSpace__ecere__com__Float_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * _class, float * data, char * string)
 {
@@ -2547,7 +2547,7 @@ unsigned char bytes[4];
 (bytes)[2] = (unsigned char)(((*(unsigned int *)data) >> 8) & 0xFF);
 (bytes)[3] = (unsigned char)((*(unsigned int *)data) & 0xFF);
 ;
-((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2558,7 +2558,7 @@ static void __ecereNameSpace__ecere__com__Float_OnUnserialize(struct __ecereName
 {
 unsigned char bytes[4];
 
-if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2568,14 +2568,14 @@ else
 *data = 0;
 }
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt, int declMode);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
 
 static void __ecereNameSpace__ecere__com__RegisterClass_Float(struct __ecereNameSpace__ecere__com__Instance * module)
 {
 struct __ecereNameSpace__ecere__com__Class * floatClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "float", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 
 floatClass->type = 1000;
-(__ecereNameSpace__ecere__com__eSystem_Delete(floatClass->dataTypeString), floatClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)floatClass->dataTypeString), floatClass->dataTypeString = 0);
 floatClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("float");
 floatClass->structSize = 0;
 floatClass->typeSize = sizeof(float);
@@ -2692,7 +2692,7 @@ unsigned char bytes[8];
 (bytes)[6] = (unsigned char)(((*(uint64 *)data) >> 8) & 0xFF);
 (bytes)[7] = (unsigned char)((*(uint64 *)data) & 0xFF);
 ;
-((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2703,7 +2703,7 @@ static void __ecereNameSpace__ecere__com__Double_OnUnserialize(struct __ecereNam
 {
 unsigned char bytes[8];
 
-if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+if(((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2718,7 +2718,7 @@ static void __ecereNameSpace__ecere__com__RegisterClass_Double(struct __ecereNam
 struct __ecereNameSpace__ecere__com__Class * doubleClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "double", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 
 doubleClass->type = 1000;
-(__ecereNameSpace__ecere__com__eSystem_Delete(doubleClass->dataTypeString), doubleClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)doubleClass->dataTypeString), doubleClass->dataTypeString = 0);
 doubleClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("double");
 doubleClass->structSize = 0;
 doubleClass->typeSize = sizeof(double);
@@ -2745,7 +2745,7 @@ void __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnSerialize(struct
 {
 unsigned int len = this ? strlen(this->string) : 0;
 
-((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2758,7 +2758,7 @@ if(this)
 {
 int c;
 
-for(c = 0; ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+for(c = 0; ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2781,9 +2781,9 @@ result = 1;
 return result;
 }
 
-char * __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__StaticString * this, char * tempString, void * fieldData, unsigned int * needClass)
+const char * __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__StaticString * this, char * tempString, void * fieldData, unsigned int * needClass)
 {
-return (char *)(this ? this->string : (((void *)0)));
+return (const char *)(this ? this->string : (((void *)0)));
 }
 
 void __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnFree(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__StaticString * this)
@@ -2825,7 +2825,7 @@ else
 return 0x1;
 }
 
-int __ecereNameSpace__ecere__com__String_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, char * string1, char * string2)
+int __ecereNameSpace__ecere__com__String_OnCompare(struct __ecereNameSpace__ecere__com__Class * _class, const char * string1, const char * string2)
 {
 int result = 0;
 
@@ -2855,16 +2855,16 @@ static void __ecereNameSpace__ecere__com__String_OnSerialize(struct __ecereNameS
 {
 int len = string ? strlen(string) : 0;
 
-((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__IOChannel_WriteData])(channel, string ? string : "", len + 1);
 }
 
-extern unsigned int __ecereNameSpace__ecere__sys__UTF8Validate(char *  source);
+extern unsigned int __ecereNameSpace__ecere__sys__UTF8Validate(const char *  source);
 
-extern int __ecereNameSpace__ecere__sys__ISO8859_1toUTF8(char *  source, char *  dest, int max);
+extern int __ecereNameSpace__ecere__sys__ISO8859_1toUTF8(const char *  source, char *  dest, int max);
 
 static void __ecereNameSpace__ecere__com__String_OnUnserialize(struct __ecereNameSpace__ecere__com__Class * _class, char ** string, struct __ecereNameSpace__ecere__com__Instance * channel)
 {
@@ -2874,7 +2874,7 @@ int c;
 unsigned int size = 64;
 
 *string = __ecereNameSpace__ecere__com__eSystem_New(sizeof(char) * (size));
-for(c = 0; ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, unsigned char *  data, unsigned int numBytes))__extension__ ({
+for(c = 0; ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  data, unsigned int numBytes))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = channel;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__IOChannel->_vTbl;
@@ -2904,7 +2904,7 @@ static void __ecereNameSpace__ecere__com__RegisterClass_String(struct __ecereNam
 {
 struct __ecereNameSpace__ecere__com__Class * stringClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "char *", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 
-(__ecereNameSpace__ecere__com__eSystem_Delete(stringClass->dataTypeString), stringClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)stringClass->dataTypeString), stringClass->dataTypeString = 0);
 stringClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("char *");
 stringClass->structSize = 0;
 stringClass->computeSize = 0x0;
@@ -2921,7 +2921,7 @@ stringClass->computeSize = 0x0;
 __ecereNameSpace__ecere__com__eClass_AddProperty(stringClass, (((void *)0)), "char *", (((void *)0)), (((void *)0)), 1);
 }
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
 void __ecereNameSpace__ecere__com__InitializeDataTypes1(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -2931,8 +2931,8 @@ __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnDisplay", "v
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnCompare", "int typed_object::OnCompare(any_object object)", __ecereNameSpace__ecere__com__OnCompare, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnCopy", "void typed_object&::OnCopy(any_object newData)", __ecereNameSpace__ecere__com__OnCopy, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnFree", "void typed_object::OnFree(void)", __ecereNameSpace__ecere__com__OnFree, 1);
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnGetString", "char * typed_object::OnGetString(char * tempString, void * fieldData, bool * needClass)", __ecereNameSpace__ecere__com__OnGetString, 1);
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnGetDataFromString", "bool typed_object&::OnGetDataFromString(char * string)", __ecereNameSpace__ecere__com__OnGetDataFromString, 1);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnGetString", "const char * typed_object::OnGetString(char * tempString, void * fieldData, bool * needClass)", __ecereNameSpace__ecere__com__OnGetString, 1);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnGetDataFromString", "bool typed_object&::OnGetDataFromString(const char * string)", __ecereNameSpace__ecere__com__OnGetDataFromString, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnEdit", "Window typed_object::OnEdit(DataBox dataBox, DataBox obsolete, int x, int y, int w, int h, void * userData)", (((void *)0)), 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnSerialize", "void typed_object::OnSerialize(IOChannel channel)", __ecereNameSpace__ecere__com__OnSerialize, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(baseClass, "OnUnserialize", "void typed_object&::OnUnserialize(IOChannel channel)", __ecereNameSpace__ecere__com__OnUnserialize, 1);
@@ -2951,10 +2951,10 @@ __ecereNameSpace__ecere__com__RegisterClass_Double(module);
 __ecereNameSpace__ecere__com__RegisterClass_String(module);
 }
 
-int __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(char * buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, void * object, va_list args)
+int __ecereNameSpace__ecere__com__PrintStdArgsToBuffer(char * buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, const void * object, va_list args)
 {
 int len = 0;
-char * result = ((char *  (*)(struct __ecereNameSpace__ecere__com__Class *, void *, char *  tempString, void *  fieldData, unsigned int *  needClass))class->_vTbl[__ecereVMethodID_class_OnGetString])(class, object, buffer, (((void *)0)), (((void *)0)));
+const char * result = ((const char *  (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, char *  tempString, void *  fieldData, unsigned int *  needClass))class->_vTbl[__ecereVMethodID_class_OnGetString])(class, object, buffer, (((void *)0)), (((void *)0)));
 
 if(result)
 {
@@ -2975,7 +2975,7 @@ break;
 data = __builtin_va_arg(args, void *);
 if(data)
 {
-result = ((char * (*)(void *, void *, char *, void *, unsigned int *))(void *)_class->_vTbl[__ecereVMethodID_class_OnGetString])(_class, data, buffer + len, (((void *)0)), (((void *)0)));
+result = ((const char * (*)(void *, void *, char *, void *, unsigned int *))(void *)_class->_vTbl[__ecereVMethodID_class_OnGetString])(_class, data, buffer + len, (((void *)0)), (((void *)0)));
 if(result)
 {
 int newLen = strlen(result);
@@ -2992,7 +2992,7 @@ buffer[len] = (char)0;
 return len;
 }
 
-int __ecereNameSpace__ecere__com__PrintBuf(char * buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
+int __ecereNameSpace__ecere__com__PrintBuf(char * buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...)
 {
 va_list args;
 int len;
@@ -3003,7 +3003,7 @@ __builtin_va_end(args);
 return len;
 }
 
-int __ecereNameSpace__ecere__com__PrintLnBuf(char * buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
+int __ecereNameSpace__ecere__com__PrintLnBuf(char * buffer, int maxLen, struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...)
 {
 va_list args;
 int len;
@@ -3016,7 +3016,7 @@ __builtin_va_end(args);
 return len;
 }
 
-char * __ecereNameSpace__ecere__com__PrintString(struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
+char * __ecereNameSpace__ecere__com__PrintString(struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...)
 {
 char buffer[4096];
 va_list args;
@@ -3031,7 +3031,7 @@ __builtin_va_end(args);
 return string;
 }
 
-char * __ecereNameSpace__ecere__com__PrintLnString(struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
+char * __ecereNameSpace__ecere__com__PrintLnString(struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...)
 {
 char buffer[4096];
 va_list args;
@@ -3048,9 +3048,9 @@ __builtin_va_end(args);
 return string;
 }
 
-extern int puts(char * );
+extern int puts(const char * );
 
-void __ecereNameSpace__ecere__com__PrintLn(struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
+void __ecereNameSpace__ecere__com__PrintLn(struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...)
 {
 va_list args;
 char buffer[4096];
@@ -3061,9 +3061,9 @@ __builtin_va_end(args);
 puts(buffer);
 }
 
-extern int fputs(char * , void *  stream);
+extern int fputs(const char * , void *  stream);
 
-void __ecereNameSpace__ecere__com__Print(struct __ecereNameSpace__ecere__com__Class * class, void * object, ...)
+void __ecereNameSpace__ecere__com__Print(struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...)
 {
 va_list args;
 char buffer[4096];
@@ -3078,13 +3078,13 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__DefinedExpression;
 
-extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(char *  name, char *  value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(const char *  name, const char *  value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -3107,7 +3107,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -3118,13 +3118,13 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_dataTypes(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -3150,8 +3150,8 @@ __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::FORMAT64U", "(
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::IOChannel", 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)
 __ecereClass___ecereNameSpace__ecere__com__IOChannel = class;
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "WriteData", "uint WriteData(byte * data, unsigned int numBytes)", 0, 1);
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "ReadData", "uint ReadData(byte * data, unsigned int numBytes)", 0, 1);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "WriteData", "uint WriteData(const void * data, unsigned int numBytes)", 0, 1);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "ReadData", "uint ReadData(void * data, unsigned int numBytes)", 0, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Get", "void Get(typed_object * data)", __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Get, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Put", "void Put(typed_object data)", __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Put, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "Serialize", "void Serialize(typed_object data)", __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize, 1);
@@ -3172,8 +3172,8 @@ __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_buffer = __ecerePropM___e
 __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "size", "uint", __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Set_size, __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_Get_size, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
 __ecereProp___ecereNameSpace__ecere__com__SerialBuffer_size = __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size, __ecerePropM___ecereNameSpace__ecere__com__SerialBuffer_size = (void *)0;
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Enum_OnGetString", "char * ecere::com::Enum_OnGetString(ecere::com::Class _class, int * data, char * tempString, void * fieldData, bool * needClass)", __ecereNameSpace__ecere__com__Enum_OnGetString, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Integer_OnGetString", "char * ecere::com::Integer_OnGetString(ecere::com::Class _class, int * data, char * string, void * fieldData, bool * needClass)", __ecereNameSpace__ecere__com__Integer_OnGetString, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Enum_OnGetString", "const char * ecere::com::Enum_OnGetString(ecere::com::Class _class, int * data, char * tempString, void * fieldData, bool * needClass)", __ecereNameSpace__ecere__com__Enum_OnGetString, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Integer_OnGetString", "const char * ecere::com::Integer_OnGetString(ecere::com::Class _class, int * data, char * string, void * fieldData, bool * needClass)", __ecereNameSpace__ecere__com__Integer_OnGetString, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Byte_OnSerialize", "void ecere::com::Byte_OnSerialize(ecere::com::Class _class, byte * data, ecere::com::IOChannel channel)", __ecereNameSpace__ecere__com__Byte_OnSerialize, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Byte_OnUnserialize", "void ecere::com::Byte_OnUnserialize(ecere::com::Class _class, byte * data, ecere::com::IOChannel channel)", __ecereNameSpace__ecere__com__Byte_OnUnserialize, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::Int_OnSerialize", "void ecere::com::Int_OnSerialize(ecere::com::Class _class, int * data, ecere::com::IOChannel channel)", __ecereNameSpace__ecere__com__Int_OnSerialize, module, 4);
@@ -3194,7 +3194,7 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereM
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnSerialize", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnSerialize, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnUnserialize", 0, __ecereMethod___ecereNameSpace__ecere__com__StaticString_OnUnserialize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "string", "char[1]", 1, 1, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::String_OnCompare", "int ecere::com::String_OnCompare(ecere::com::Class _class, char * string1, char * string2)", __ecereNameSpace__ecere__com__String_OnCompare, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::String_OnCompare", "int ecere::com::String_OnCompare(ecere::com::Class _class, const char * string1, const char * string2)", __ecereNameSpace__ecere__com__String_OnCompare, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::InitializeDataTypes1", "void ecere::com::InitializeDataTypes1(ecere::com::Module module)", __ecereNameSpace__ecere__com__InitializeDataTypes1, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::InitializeDataTypes", "void ecere::com::InitializeDataTypes(ecere::com::Module module)", __ecereNameSpace__ecere__com__InitializeDataTypes, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::PrintStdArgsToBuffer", "int ecere::com::PrintStdArgsToBuffer(char * buffer, int maxLen, typed_object object, __builtin_va_list args)", __ecereNameSpace__ecere__com__PrintStdArgsToBuffer, module, 4);
index 58f84e9..12d8c8b 100644 (file)
@@ -71,7 +71,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -92,16 +92,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -113,7 +113,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -125,9 +125,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -135,12 +135,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -151,7 +151,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -159,7 +159,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -184,12 +184,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -205,7 +205,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -215,7 +215,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -258,13 +258,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -497,9 +497,9 @@ struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecer
 
 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map;
 
-struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__String_;
+struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__const_String_;
 
-struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__String___;
+struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__const_String___;
 
 struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__MapIterator;
 
@@ -713,13 +713,13 @@ void __ecereRegisterModule_OldList(struct __ecereNameSpace__ecere__com__Instance
 
 void __ecereUnregisterModule_OldList(struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern void __ecereNameSpace__ecere__LoadTranslatedStrings(char * moduleName, char *  name);
+extern void __ecereNameSpace__ecere__LoadTranslatedStrings(const char * moduleName, const char *  name);
 
 unsigned int __ecereDll_Load_ecere(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -799,8 +799,8 @@ __ecereProp___ecereNameSpace__ecere__com__AVLNode_next = _property = __ecereName
 __ecereProp___ecereNameSpace__ecere__com__AVLNode_prev = _property = __ecereNameSpace__ecere__com__eClass_FindProperty(__ecereClass___ecereNameSpace__ecere__com__AVLNode, "prev", module);
 __ecereClass___ecereNameSpace__ecere__com__Application = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Application");
 __ecereClass___ecereNameSpace__ecere__com__Array = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Array");
-__ecereClass___ecereNameSpace__ecere__com__Array_TPL_String_ = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Array<String>");
-__ecereClass___ecereNameSpace__ecere__com__Array_TPL_ecere__com__Array_TPL_String___ = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Array<ecere::com::Array<String> >");
+__ecereClass___ecereNameSpace__ecere__com__Array_TPL_String_ = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Array<const String>");
+__ecereClass___ecereNameSpace__ecere__com__Array_TPL_ecere__com__Array_TPL_String___ = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Array<ecere::com::Array<const String> >");
 __ecereClass___ecereNameSpace__ecere__com__BitMember = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::BitMember");
 __ecereClass___ecereNameSpace__ecere__com__BuiltInContainer = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::BuiltInContainer");
 method = __ecereNameSpace__ecere__com__eClass_FindMethod(__ecereClass___ecereNameSpace__ecere__com__BuiltInContainer, "Add", module);
@@ -1006,8 +1006,8 @@ __ecereClass___ecereNameSpace__ecere__com__LinkElement = __ecereNameSpace__ecere
 __ecereClass___ecereNameSpace__ecere__com__LinkList = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::LinkList");
 __ecereClass___ecereNameSpace__ecere__com__ListItem = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::ListItem");
 __ecereClass___ecereNameSpace__ecere__com__Map = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Map");
-__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__String_ = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Map<String, String>");
-__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__String___ = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Map<String, ecere::com::Map<String, String> >");
+__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__const_String_ = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Map<const String, const String>");
+__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__const_String___ = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Map<const String, ecere::com::Map<const String, const String> >");
 __ecereClass___ecereNameSpace__ecere__com__MapIterator = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::MapIterator");
 __ecereProp___ecereNameSpace__ecere__com__MapIterator_map = _property = __ecereNameSpace__ecere__com__eClass_FindProperty(__ecereClass___ecereNameSpace__ecere__com__MapIterator, "map", module);
 __ecereClass___ecereNameSpace__ecere__com__Method = __ecereNameSpace__ecere__com__eSystem_FindClass(module, "ecere::com::Method");
@@ -1129,7 +1129,7 @@ __ecereCreateModuleInstances_System();
 return 0x1;
 }
 
-extern void __ecereNameSpace__ecere__UnloadTranslatedStrings(char * name);
+extern void __ecereNameSpace__ecere__UnloadTranslatedStrings(const char * name);
 
 unsigned int __ecereDll_Unload_ecere(struct __ecereNameSpace__ecere__com__Instance * module)
 {
index dfdd352..58d8b9b 100644 (file)
@@ -81,7 +81,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -102,16 +102,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -123,7 +123,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -135,9 +135,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -145,12 +145,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -161,7 +161,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -169,7 +169,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -194,12 +194,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -215,7 +215,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -225,7 +225,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -268,13 +268,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -287,7 +287,7 @@ struct __ecereNameSpace__ecere__com__Method * method;
 
 static struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__moduleMaps;
 
-extern char *  __ecereNameSpace__ecere__sys__GetEnvironment(char *  envName, char *  envValue, int max);
+extern char *  __ecereNameSpace__ecere__sys__GetEnvironment(const char *  envName, char *  envValue, int max);
 
 extern char *  strcpy(char * , const char * );
 
@@ -297,9 +297,9 @@ extern int strcasecmp(const char * , const char * );
 
 extern char *  strchr(const char * , int);
 
-extern int sprintf(char * , char * , ...);
+extern int sprintf(char * , const char * , ...);
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char *  fileName, int mode);
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(const char *  fileName, int mode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IteratorPointer;
 
@@ -313,13 +313,13 @@ struct __ecereNameSpace__ecere__com__Instance * container;
 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
 } __attribute__ ((gcc_struct));
 
-extern int printf(char * , ...);
+extern int printf(const char * , ...);
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__String___;
+extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__const_String___;
 
 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__String_;
+extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__const_String_;
 
 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
 
@@ -331,7 +331,7 @@ void __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(struct __ecer
 
 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__MapIterator_map;
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 index, unsigned int create);
+unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 index, unsigned int create);
 
 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -351,7 +351,7 @@ extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameS
 
 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
 
-void __ecereNameSpace__ecere__LoadTranslatedStrings(char * moduleName, char * name)
+void __ecereNameSpace__ecere__LoadTranslatedStrings(const char * moduleName, const char * name)
 {
 struct __ecereNameSpace__ecere__com__Instance * f;
 char fileName[797];
@@ -512,7 +512,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 if(swap)
 hashingOffset = ((((hashingOffset) & 0x000000ff) << 24) | (((hashingOffset) & 0x0000ff00) << 8) | (((hashingOffset) & 0x00ff0000) >> 8) | (((hashingOffset) & 0xff000000) >> 24));
 if(!__ecereNameSpace__ecere__moduleMaps)
-__ecereNameSpace__ecere__moduleMaps = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__String___);
+__ecereNameSpace__ecere__moduleMaps = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__const_String___);
 {
 struct __ecereNameSpace__ecere__com__MapIterator it = (it.container = (void *)0, it.pointer = (void *)0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(&it, __ecereNameSpace__ecere__moduleMaps), it);
 
@@ -526,7 +526,7 @@ __ecereNameSpace__ecere__moduleMaps, 0
 };
 
 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(name))), 0x1);
-__ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(&__internalIterator, textMap = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__String_));
+__ecereProp___ecereNameSpace__ecere__com__Iterator_Set_data(&__internalIterator, textMap = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__const_String_));
 });
 for(c = 0; c < numStrings; c++)
 {
@@ -629,7 +629,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Delete;
 
-void __ecereNameSpace__ecere__UnloadTranslatedStrings(char * name)
+void __ecereNameSpace__ecere__UnloadTranslatedStrings(const char * name)
 {
 struct __ecereNameSpace__ecere__com__MapIterator it = (it.container = (void *)0, it.pointer = (void *)0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(&it, __ecereNameSpace__ecere__moduleMaps), it);
 
@@ -648,7 +648,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 }
 }
 
-char * __ecereNameSpace__ecere__GetTranslatedString(char * name, char * string, char * stringAndContext)
+const char * __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char * string, const char * stringAndContext)
 {
 struct __ecereNameSpace__ecere__com__Instance * textMap = __ecereNameSpace__ecere__moduleMaps ? (__extension__ ({
 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
@@ -659,7 +659,7 @@ __ecereNameSpace__ecere__moduleMaps, 0
 __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&__internalIterator, (uint64)(((uint64)(name))), 0x0);
 ((struct __ecereNameSpace__ecere__com__Instance *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&__internalIterator));
 })) : (((void *)0));
-char * result = textMap ? (__extension__ ({
+const char * result = textMap ? (__extension__ ({
 struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
 {
 textMap, 0
@@ -676,15 +676,15 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_i18n(struct __ecereNameSpace__ecere__com__Instance * module)
 {
 struct __ecereNameSpace__ecere__com__Class * class;
 
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::LoadTranslatedStrings", "void ecere::LoadTranslatedStrings(String moduleName, char * name)", __ecereNameSpace__ecere__LoadTranslatedStrings, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::UnloadTranslatedStrings", "void ecere::UnloadTranslatedStrings(String name)", __ecereNameSpace__ecere__UnloadTranslatedStrings, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::GetTranslatedString", "char * ecere::GetTranslatedString(String name, char * string, char * stringAndContext)", __ecereNameSpace__ecere__GetTranslatedString, module, 4);
+__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);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::GetTranslatedString", "const char * ecere::GetTranslatedString(const String name, const char * string, const char * stringAndContext)", __ecereNameSpace__ecere__GetTranslatedString, module, 4);
 }
 
 void __ecereUnregisterModule_i18n(struct __ecereNameSpace__ecere__com__Instance * module)
@@ -694,7 +694,7 @@ void __ecereUnregisterModule_i18n(struct __ecereNameSpace__ecere__com__Instance
 
 void __ecereCreateModuleInstances_i18n()
 {
-__ecereNameSpace__ecere__moduleMaps = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__String___);
+__ecereNameSpace__ecere__moduleMaps = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_String__ecere__com__Map_TPL_String__const_String___);
 __ecereNameSpace__ecere__com__eInstance_IncRef(__ecereNameSpace__ecere__moduleMaps);
 }
 
index 253a4c1..98a2047 100644 (file)
@@ -93,7 +93,7 @@ unsigned int circ;
 struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev, * next;
-char * name;
+const char * name;
 int offset, structSize;
 int (** _vTbl)();
 int vTblSize;
@@ -111,16 +111,16 @@ int memberID, startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
-char * dataTypeString;
+const char * dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (* Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char * designerClass;
+const char * designerClass;
 unsigned int noExpansion;
-char * defaultProperty;
+const char * defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -132,7 +132,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char * fullName;
+const char * fullName;
 void * symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -158,12 +158,12 @@ int _refCount;
 struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev, * next;
-char * name;
+const char * name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char * dataTypeString;
+const char * dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (* Set)(void *, int);
@@ -174,7 +174,7 @@ void * symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char * category;
+const char * category;
 unsigned int compiled;
 unsigned int selfWatchable, isWatchable;
 } __attribute__ ((gcc_struct));
@@ -184,12 +184,12 @@ static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev, * next;
-char * name;
+const char * name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char * dataTypeString;
+const char * dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -205,7 +205,7 @@ static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char * name;
+const char * name;
 struct __ecereNameSpace__ecere__com__Method * parent, * left, * right;
 int depth;
 int (* function)();
@@ -213,7 +213,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void * symbol;
-char * dataTypeString;
+const char * dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -256,13 +256,13 @@ union
 {
 struct
 {
-char * dataTypeString;
+const char * dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char * memberString;
+const char * memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -334,7 +334,7 @@ int ferror(FILE * stream);
 int fileno(FILE * stream);
 
 
-struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char * name);
+struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char * name);
 
 void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
 
@@ -350,9 +350,9 @@ void * __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecer
 
 extern int __ecereVMethodID_class_OnGetDataFromString;
 
-unsigned int Instance_LocateModule(char * name, char * fileName);
+unsigned int Instance_LocateModule(const char * name, const char * fileName);
 
-void Instance_COM_Initialize(int argc, char ** argv, char ** parsedCommand, int * argcPtr, char *** argvPtr);
+void Instance_COM_Initialize(int argc, char ** argv, char ** parsedCommand, int * argcPtr, const char *** argvPtr);
 
 void * Instance_Module_Load(const char * libLocation, const char * name, void ** Load, void ** Unload);
 
@@ -362,17 +362,17 @@ static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__unichar;
 
-int __ecereNameSpace__ecere__sys__UTF32toUTF8Len(unsigned int *  source, int count, unsigned char *  dest, int max);
+int __ecereNameSpace__ecere__sys__UTF32toUTF8Len(const unsigned int *  source, int count, char *  dest, int max);
 
-char * __ecereMethod___ecereNameSpace__ecere__com__unichar_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, char * tempString, void * fieldData, unsigned int * needClass)
+const char * __ecereMethod___ecereNameSpace__ecere__com__unichar_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, char * tempString, void * fieldData, unsigned int * needClass)
 {
 __ecereNameSpace__ecere__sys__UTF32toUTF8Len(&(*this), 1, tempString, 5);
 return tempString;
 }
 
-unsigned int __ecereNameSpace__ecere__sys__UTF8GetChar(char *  string, int *  numBytes);
+unsigned int __ecereNameSpace__ecere__sys__UTF8GetChar(const char *  string, int *  numBytes);
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__com__unichar_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, char * string)
+unsigned int __ecereMethod___ecereNameSpace__ecere__com__unichar_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, unsigned int * this, const char * string)
 {
 int nb;
 
@@ -382,7 +382,7 @@ return 0x1;
 
 void __ecereNameSpace__ecere__com__eInstance_FireWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-void __ecereNameSpace__ecere__com__MemoryGuard_PushLoc(char * loc)
+void __ecereNameSpace__ecere__com__MemoryGuard_PushLoc(const char * loc)
 {
 }
 
@@ -396,7 +396,7 @@ extern unsigned int __ecereDll_Unload_ecere(struct __ecereNameSpace__ecere__com_
 
 struct __ecereNameSpace__ecere__com__BTNamedLink
 {
-char * name;
+const char * name;
 struct __ecereNameSpace__ecere__com__BTNamedLink * parent, * left, * right;
 int depth;
 void * data;
@@ -430,28 +430,28 @@ static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSpace__ecere__com__Class_char__PTR_, * __ecerePropM___ecereNameSpace__ecere__com__Class_char__PTR_;
 
-char *  __ecereProp___ecereNameSpace__ecere__com__Class_Get_char__PTR_(struct __ecereNameSpace__ecere__com__Class * this)
+const char *  __ecereProp___ecereNameSpace__ecere__com__Class_Get_char__PTR_(struct __ecereNameSpace__ecere__com__Class * this)
 {
 return this->name;
 }
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-struct __ecereNameSpace__ecere__com__Class * __ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_(char *  value)
+struct __ecereNameSpace__ecere__com__Class * __ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_(const char *  value)
 {
 struct __ecereNameSpace__ecere__com__Class * theClass = __ecereNameSpace__ecere__com__eSystem_FindClass(__thisModule, value);
 
 return theClass;
 }
 
-char * __ecereMethod___ecereNameSpace__ecere__com__Class_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Class * this, char * tempString, void * fieldData, unsigned int * needClass)
+const char * __ecereMethod___ecereNameSpace__ecere__com__Class_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Class * this, char * tempString, void * fieldData, unsigned int * needClass)
 {
 return this->name;
 }
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char * name;
+const char * name;
 struct __ecereNameSpace__ecere__com__NameSpace * btParent, * left, * right;
 int depth;
 struct __ecereNameSpace__ecere__com__NameSpace * parent;
@@ -474,7 +474,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -483,7 +483,7 @@ struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 } __attribute__ ((gcc_struct));
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__com__Class_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Class ** this, char * string)
+unsigned int __ecereMethod___ecereNameSpace__ecere__com__Class_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, struct __ecereNameSpace__ecere__com__Class ** this, const char * string)
 {
 struct __ecereNameSpace__ecere__com__Class * theClass;
 
@@ -494,7 +494,7 @@ theClass = __ecereNameSpace__ecere__com__eSystem_FindClass(((struct __ecereNameS
 return theClass != (((void *)0));
 }
 
-void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, void * data);
+void __ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize(struct __ecereNameSpace__ecere__com__Instance * this, struct __ecereNameSpace__ecere__com__Class * class, const void * data);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_char__PTR_;
 
@@ -531,11 +531,11 @@ static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter
 {
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter * prev, * next;
-char * name;
+const char * name;
 int type;
 union
 {
-char * dataTypeString;
+const char * dataTypeString;
 int memberType;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg;
@@ -551,12 +551,12 @@ static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 struct __ecereNameSpace__ecere__com__BitMember
 {
 struct __ecereNameSpace__ecere__com__BitMember * prev, * next;
-char * name;
+const char * name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char * dataTypeString;
+const char * dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -569,12 +569,12 @@ static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__ClassProperty
 {
-char * name;
+const char * name;
 struct __ecereNameSpace__ecere__com__ClassProperty * parent, * left, * right;
 int depth;
 void (* Set)(struct __ecereNameSpace__ecere__com__Class *, long long);
 long long (* Get)(struct __ecereNameSpace__ecere__com__Class *);
-char * dataTypeString;
+const char * dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 unsigned int constant;
 } __attribute__ ((gcc_struct));
@@ -584,8 +584,8 @@ static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 struct __ecereNameSpace__ecere__com__DefinedExpression
 {
 struct __ecereNameSpace__ecere__com__DefinedExpression * prev, * next;
-char * name;
-char * value;
+const char * name;
+const char * value;
 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
 } __attribute__ ((gcc_struct));
 
@@ -594,11 +594,11 @@ static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 struct __ecereNameSpace__ecere__com__GlobalFunction
 {
 struct __ecereNameSpace__ecere__com__GlobalFunction * prev, * next;
-char * name;
+const char * name;
 int (* function)();
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
-char * dataTypeString;
+const char * dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void * symbol;
 } __attribute__ ((gcc_struct));
@@ -1097,7 +1097,7 @@ void __ecereNameSpace__ecere__com__CheckMemory()
 {
 }
 
-static void __ecereNameSpace__ecere__com__ComputeClassParameters(struct __ecereNameSpace__ecere__com__Class * templatedClass, char *  templateParams, struct __ecereNameSpace__ecere__com__Instance * findModule);
+static void __ecereNameSpace__ecere__com__ComputeClassParameters(struct __ecereNameSpace__ecere__com__Class * templatedClass, const char *  templateParams, struct __ecereNameSpace__ecere__com__Instance * findModule);
 
 extern char *  strchr(const char * , int);
 
@@ -1110,7 +1110,7 @@ struct __ecereNameSpace__ecere__sys__OldLink * next;
 void *  data;
 } __attribute__ ((gcc_struct));
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
 extern void *  memmove(void * , const void * , size_t size);
 
@@ -1124,7 +1124,7 @@ struct __ecereNameSpace__ecere__sys__BTNode * __ecereProp___ecereNameSpace__ecer
 
 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__sys__BTNode_next;
 
-struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char *  key);
+struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char *  key);
 
 void __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete(struct __ecereNameSpace__ecere__sys__BinaryTree * this, struct __ecereNameSpace__ecere__sys__BTNode * node);
 
@@ -1148,7 +1148,7 @@ int size = _class->structSize - _class->offset;
 int oldSizeClass = _class->sizeClass;
 int sizeClass = _class->sizeClass - _class->offsetClass;
 struct __ecereNameSpace__ecere__com__Class * enumBase = (((void *)0));
-char * dataTypeString = (((void *)0));
+const char * dataTypeString = (((void *)0));
 struct __ecereNameSpace__ecere__com__Class * baseClass;
 unsigned int offsetBefore = _class->offset;
 int offsetClass, totalSizeClass;
@@ -1199,7 +1199,7 @@ _class->typeSize = sizeof(void *);
 }
 if(_class->type != 1000)
 _class->type = type;
-(__ecereNameSpace__ecere__com__eSystem_Delete(_class->dataTypeString), _class->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)_class->dataTypeString), _class->dataTypeString = 0);
 _class->dataTypeString = __ecereNameSpace__ecere__sys__CopyString(dataTypeString);
 if(totalSizeClass != oldSizeClass)
 {
@@ -1247,13 +1247,13 @@ if(method->function)
 _class->_vTbl[vMethod->vid] = method->function;
 if(!method->symbol)
 {
-(__ecereNameSpace__ecere__com__eSystem_Delete(method->name), method->name = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(method->dataTypeString), method->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)method->name), method->name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)method->dataTypeString), method->dataTypeString = 0);
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete(&_class->methods, (struct __ecereNameSpace__ecere__sys__BTNode *)method);
 }
 else
 {
-(__ecereNameSpace__ecere__com__eSystem_Delete(method->dataTypeString), method->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)method->dataTypeString), method->dataTypeString = 0);
 method->type = vMethod->type;
 method->dataTypeString = __ecereNameSpace__ecere__sys__CopyString(vMethod->dataTypeString);
 method->_class = vMethod->_class;
@@ -1295,8 +1295,8 @@ watcher->_property = _property;
 }
 _property->selfWatchable = 0x1;
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete(&_class->prop, (struct __ecereNameSpace__ecere__sys__BTNode *)link);
-(__ecereNameSpace__ecere__com__eSystem_Delete(prop->name), prop->name = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(prop->dataTypeString), prop->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)prop->name), prop->name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)prop->dataTypeString), prop->dataTypeString = 0);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Delete(&_class->membersAndProperties, prop);
 }
 }
@@ -1373,7 +1373,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 struct __ecereNameSpace__ecere__com__Application
 {
 int argc;
-char * *  argv;
+const char * *  argv;
 int exitCode;
 unsigned int isGUIApp;
 struct __ecereNameSpace__ecere__sys__OldList allModules;
@@ -1385,17 +1385,17 @@ extern int strcmp(const char * , const char * );
 
 extern char *  strncpy(char * , const char * , size_t n);
 
-extern char *  __ecereNameSpace__ecere__sys__RSearchString(char *  buffer, char *  subStr, int maxLen, unsigned int matchCase, unsigned int matchWord);
+extern char *  __ecereNameSpace__ecere__sys__RSearchString(const char *  buffer, const char *  subStr, int maxLen, unsigned int matchCase, unsigned int matchWord);
 
 extern size_t strlen(const char * );
 
-extern int printf(char * , ...);
+extern int printf(const char * , ...);
 
 static void __ecereNameSpace__ecere__com__FreeTemplatesDerivatives(struct __ecereNameSpace__ecere__com__Class * base);
 
 static void __ecereNameSpace__ecere__com__NameSpace_Free(struct __ecereNameSpace__ecere__com__NameSpace * parentNameSpace);
 
-static struct __ecereNameSpace__ecere__com__BTNamedLink * __ecereNameSpace__ecere__com__SearchNameSpace(struct __ecereNameSpace__ecere__com__NameSpace * nameSpace, char *  name, void *  listOffset);
+static struct __ecereNameSpace__ecere__com__BTNamedLink * __ecereNameSpace__ecere__com__SearchNameSpace(struct __ecereNameSpace__ecere__com__NameSpace * nameSpace, const char *  name, void *  listOffset);
 
 extern char *  strcpy(char * , const char * );
 
@@ -1405,7 +1405,7 @@ static void __ecereNameSpace__ecere__com__CopyTemplateArg(struct __ecereNameSpac
 
 extern char *  strstr(const char * , const char * );
 
-int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char *  a, char *  b);
+int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char *  a, const char *  b);
 
 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(struct __ecereNameSpace__ecere__sys__BinaryTree * this, struct __ecereNameSpace__ecere__sys__BTNode * node);
 
@@ -1413,7 +1413,7 @@ struct __ecereNameSpace__ecere__sys__OldLink * __ecereMethod___ecereNameSpace__e
 
 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(struct __ecereNameSpace__ecere__sys__OldList * this, void *  item);
 
-struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char * name, char * baseName, int size, int sizeClass, unsigned int (* Constructor)(void *), void (* Destructor)(void *), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess)
+struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char * name, const char * baseName, int size, int sizeClass, unsigned int (* Constructor)(void *), void (* Destructor)(void *), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess)
 {
 int start = 0, c;
 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace = (((void *)0));
@@ -1474,7 +1474,7 @@ int offsetClass;
 int totalSizeClass;
 struct __ecereNameSpace__ecere__com__BTNamedLink * classLink = (((void *)0));
 struct __ecereNameSpace__ecere__com__Class * _class = (((void *)0));
-char * dataTypeString = (((void *)0));
+const char * dataTypeString = (((void *)0));
 struct __ecereNameSpace__ecere__com__Class * enumBase = (((void *)0));
 struct __ecereNameSpace__ecere__com__Class * base = (baseName && baseName[0]) ? __ecereNameSpace__ecere__com__eSystem_FindClass(module, baseName) : (((void *)0));
 struct __ecereNameSpace__ecere__com__Class * prevBase = (((void *)0));
@@ -1556,7 +1556,7 @@ totalSizeClass = offsetClass + sizeClass;
 _class = __ecereNameSpace__ecere__com__eSystem_FindClass(module, name);
 if(!_class)
 {
-char * colons = __ecereNameSpace__ecere__sys__RSearchString(name, "::", strlen(name), 0x1, 0x0);
+const char * colons = __ecereNameSpace__ecere__sys__RSearchString(name, "::", strlen(name), 0x1, 0x0);
 
 if(colons && colons)
 {
@@ -1565,7 +1565,7 @@ if(_class)
 {
 if(_class->internalDecl)
 {
-(__ecereNameSpace__ecere__com__eSystem_Delete(_class->fullName), _class->fullName = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)_class->fullName), _class->fullName = 0);
 _class->fullName = __ecereNameSpace__ecere__sys__CopyString(name);
 }
 else
@@ -1639,7 +1639,7 @@ classLink = (struct __ecereNameSpace__ecere__com__BTNamedLink *)__ecereMethod___
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete(&(*_class->nameSpace).classes, (struct __ecereNameSpace__ecere__sys__BTNode *)classLink);
 }
 }
-(__ecereNameSpace__ecere__com__eSystem_Delete(_class->fullName), _class->fullName = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)_class->fullName), _class->fullName = 0);
 _class->fullName = __ecereNameSpace__ecere__sys__CopyString(name);
 }
 else
@@ -1658,7 +1658,7 @@ if(nameSpace)
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&(*nameSpace).classes, (struct __ecereNameSpace__ecere__sys__BTNode *)__extension__ ({
 struct __ecereNameSpace__ecere__com__BTNamedLink * __ecereInstance1 = __ecereNameSpace__ecere__com__eSystem_New0(structSize_BTNamedLink);
 
-__ecereInstance1->name = _class->name, __ecereInstance1->data = _class, __ecereInstance1;
+__ecereInstance1->name = (char *)_class->name, __ecereInstance1->data = _class, __ecereInstance1;
 }));
 {
 struct __ecereNameSpace__ecere__sys__OldLink * t;
@@ -1670,7 +1670,7 @@ struct __ecereNameSpace__ecere__com__Class * template = t->data;
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&(*nameSpace).classes, (struct __ecereNameSpace__ecere__sys__BTNode *)__extension__ ({
 struct __ecereNameSpace__ecere__com__BTNamedLink * __ecereInstance1 = __ecereNameSpace__ecere__com__eSystem_New0(structSize_BTNamedLink);
 
-__ecereInstance1->name = template->name, __ecereInstance1->data = template, __ecereInstance1;
+__ecereInstance1->name = (char *)template->name, __ecereInstance1->data = template, __ecereInstance1;
 }));
 }
 }
@@ -1711,7 +1711,7 @@ else
 memset(_class->data, 0, offsetClass);
 memset((unsigned char *)_class->data + offsetClass, 0, sizeClass);
 }
-(__ecereNameSpace__ecere__com__eSystem_Delete(_class->dataTypeString), _class->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)_class->dataTypeString), _class->dataTypeString = 0);
 _class->dataTypeString = __ecereNameSpace__ecere__sys__CopyString(dataTypeString);
 _class->defaultAlignment = base ? base->defaultAlignment : 0;
 if(_class->module)
@@ -1923,8 +1923,8 @@ static void __ecereNameSpace__ecere__com__DataMember_Free(struct __ecereNameSpac
 struct __ecereNameSpace__ecere__com__DataMember * member;
 struct __ecereNameSpace__ecere__com__BTNamedLink * namedLink;
 
-(__ecereNameSpace__ecere__com__eSystem_Delete(parentMember->name), parentMember->name = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(parentMember->dataTypeString), parentMember->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)parentMember->name), parentMember->name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)parentMember->dataTypeString), parentMember->dataTypeString = 0);
 while((member = parentMember->members.first))
 {
 __ecereNameSpace__ecere__com__DataMember_Free(member);
@@ -1956,10 +1956,10 @@ static void __ecereNameSpace__ecere__com__FreeTemplateArg(struct __ecereNameSpac
 switch(param->type)
 {
 case 0:
-(__ecereNameSpace__ecere__com__eSystem_Delete(template->templateArgs[id].dataTypeString), template->templateArgs[id].dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)template->templateArgs[id].dataTypeString), template->templateArgs[id].dataTypeString = 0);
 break;
 case 1:
-(__ecereNameSpace__ecere__com__eSystem_Delete(template->templateArgs[id].memberString), template->templateArgs[id].memberString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)template->templateArgs[id].memberString), template->templateArgs[id].memberString = 0);
 break;
 case 2:
 break;
@@ -1993,10 +1993,10 @@ for(param = _class->templateParams.first; param; param = param->next)
 switch(param->type)
 {
 case 0:
-(__ecereNameSpace__ecere__com__eSystem_Delete(template->templateArgs[id].dataTypeString), template->templateArgs[id].dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)template->templateArgs[id].dataTypeString), template->templateArgs[id].dataTypeString = 0);
 break;
 case 1:
-(__ecereNameSpace__ecere__com__eSystem_Delete(template->templateArgs[id].memberString), template->templateArgs[id].memberString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)template->templateArgs[id].memberString), template->templateArgs[id].memberString = 0);
 break;
 case 2:
 break;
@@ -2019,10 +2019,10 @@ struct __ecereNameSpace__ecere__com__BTNamedLink * link = (struct __ecereNameSpa
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete(&(*template->nameSpace).classes, (struct __ecereNameSpace__ecere__sys__BTNode *)link);
 }
 __ecereNameSpace__ecere__com__FreeTemplateArgs(template);
-(__ecereNameSpace__ecere__com__eSystem_Delete(template->fullName), template->fullName = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(template->name), template->name = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(template->templateArgs), template->templateArgs = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(template->dataTypeString), template->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)template->fullName), template->fullName = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)template->name), template->name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)template->templateArgs), template->templateArgs = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)template->dataTypeString), template->dataTypeString = 0);
 while((deriv = template->derivatives.first))
 {
 ((struct __ecereNameSpace__ecere__com__Class *)deriv->data)->base = (((void *)0));
@@ -2041,7 +2041,7 @@ __ecereNameSpace__ecere__com__FreeTemplates(deriv->data);
 }
 __ecereNameSpace__ecere__com__FreeTemplateArgs(_class);
 (__ecereNameSpace__ecere__com__eSystem_Delete(_class->templateArgs), _class->templateArgs = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(_class->dataTypeString), _class->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)_class->dataTypeString), _class->dataTypeString = 0);
 while((template = _class->templatized.first))
 {
 __ecereNameSpace__ecere__com__FreeTemplates(template->data);
@@ -2074,14 +2074,14 @@ while((member = _class->membersAndProperties.first))
 {
 if(!member->isProperty && (member->type == 1 || member->type == 2))
 __ecereNameSpace__ecere__com__DataMember_Free(member);
-(__ecereNameSpace__ecere__com__eSystem_Delete(member->name), member->name = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(member->dataTypeString), member->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)member->name), member->name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)member->dataTypeString), member->dataTypeString = 0);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Delete(&_class->membersAndProperties, member);
 }
 while((member = _class->conversions.first))
 {
-(__ecereNameSpace__ecere__com__eSystem_Delete(member->name), member->name = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(member->dataTypeString), member->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)member->name), member->name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)member->dataTypeString), member->dataTypeString = 0);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Delete(&_class->conversions, member);
 }
 while((namedLink = (struct __ecereNameSpace__ecere__com__BTNamedLink *)__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first(&_class->prop)))
@@ -2094,14 +2094,14 @@ __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete(&_class->members,
 }
 while((classProp = (struct __ecereNameSpace__ecere__com__ClassProperty *)__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first(&_class->classProperties)))
 {
-(__ecereNameSpace__ecere__com__eSystem_Delete(classProp->name), classProp->name = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(classProp->dataTypeString), classProp->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)classProp->name), classProp->name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)classProp->dataTypeString), classProp->dataTypeString = 0);
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete(&_class->classProperties, (struct __ecereNameSpace__ecere__sys__BTNode *)classProp);
 }
 while((method = (struct __ecereNameSpace__ecere__com__Method *)__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first(&_class->methods)))
 {
-(__ecereNameSpace__ecere__com__eSystem_Delete(method->name), method->name = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(method->dataTypeString), method->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)method->name), method->name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)method->dataTypeString), method->dataTypeString = 0);
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete(&_class->methods, (struct __ecereNameSpace__ecere__sys__BTNode *)method);
 }
 if(_class->type == 4)
@@ -2135,26 +2135,26 @@ struct __ecereNameSpace__ecere__com__BTNamedLink * link = (struct __ecereNameSpa
 
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete(&(*_class->nameSpace).classes, (struct __ecereNameSpace__ecere__sys__BTNode *)link);
 }
-(__ecereNameSpace__ecere__com__eSystem_Delete(_class->name), _class->name = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(_class->fullName), _class->fullName = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(_class->dataTypeString), _class->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)_class->name), _class->name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)_class->fullName), _class->fullName = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)_class->dataTypeString), _class->dataTypeString = 0);
 (__ecereNameSpace__ecere__com__eSystem_Delete(_class->data), _class->data = 0);
 while((param = _class->templateParams.first))
 {
 switch(param->type)
 {
 case 0:
-(__ecereNameSpace__ecere__com__eSystem_Delete(param->defaultArg.dataTypeString), param->defaultArg.dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)param->defaultArg.dataTypeString), param->defaultArg.dataTypeString = 0);
 break;
 case 1:
-(__ecereNameSpace__ecere__com__eSystem_Delete(param->defaultArg.memberString), param->defaultArg.memberString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)param->defaultArg.memberString), param->defaultArg.memberString = 0);
 break;
 case 2:
 break;
 }
 if(param->type != 1)
-(__ecereNameSpace__ecere__com__eSystem_Delete(param->dataTypeString), param->dataTypeString = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(param->name), param->name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)param->dataTypeString), param->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)param->name), param->name = 0);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Delete(&_class->templateParams, param);
 }
 __ecereNameSpace__ecere__com___free(_class);
@@ -2162,7 +2162,7 @@ __ecereNameSpace__ecere__com___free(_class);
 
 struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Find(struct __ecereNameSpace__ecere__sys__BinaryTree * this, uintptr_t key);
 
-static struct __ecereNameSpace__ecere__com__BTNamedLink * __ecereNameSpace__ecere__com__ScanNameSpace(struct __ecereNameSpace__ecere__com__NameSpace * nameSpace, char * name, void * listOffset)
+static struct __ecereNameSpace__ecere__com__BTNamedLink * __ecereNameSpace__ecere__com__ScanNameSpace(struct __ecereNameSpace__ecere__com__NameSpace * nameSpace, const char * name, void * listOffset)
 {
 struct __ecereNameSpace__ecere__sys__BinaryTree * tree = (struct __ecereNameSpace__ecere__sys__BinaryTree *)((unsigned char *)nameSpace + (uintptr_t)listOffset);
 struct __ecereNameSpace__ecere__com__BTNamedLink * link = (struct __ecereNameSpace__ecere__com__BTNamedLink *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Find((&*tree), (uintptr_t)name);
@@ -2180,7 +2180,7 @@ break;
 return link;
 }
 
-static struct __ecereNameSpace__ecere__com__BTNamedLink * __ecereNameSpace__ecere__com__SearchNameSpace(struct __ecereNameSpace__ecere__com__NameSpace * nameSpace, char * name, void * listOffset)
+static struct __ecereNameSpace__ecere__com__BTNamedLink * __ecereNameSpace__ecere__com__SearchNameSpace(struct __ecereNameSpace__ecere__com__NameSpace * nameSpace, const char * name, void * listOffset)
 {
 int start = 0, c;
 char ch;
@@ -2216,7 +2216,7 @@ return __ecereNameSpace__ecere__com__ScanNameSpace(nameSpace, name + start, list
 return (((void *)0));
 }
 
-static struct __ecereNameSpace__ecere__com__BTNamedLink * __ecereNameSpace__ecere__com__SearchModule(struct __ecereNameSpace__ecere__com__Instance * module, char * name, void * listOffset, unsigned int searchPrivate)
+static struct __ecereNameSpace__ecere__com__BTNamedLink * __ecereNameSpace__ecere__com__SearchModule(struct __ecereNameSpace__ecere__com__Instance * module, const char * name, void * listOffset, unsigned int searchPrivate)
 {
 struct __ecereNameSpace__ecere__com__SubModule * subModule;
 struct __ecereNameSpace__ecere__com__BTNamedLink * link;
@@ -2244,7 +2244,7 @@ return (((void *)0));
 
 extern int isspace(int c);
 
-long long __ecereNameSpace__ecere__com___strtoi64(char * string, char ** endString, int base)
+long long __ecereNameSpace__ecere__com___strtoi64(const char * string, const char ** endString, int base)
 {
 long long value = 0;
 int sign = 1;
@@ -2305,7 +2305,7 @@ break;
 return sign * value;
 }
 
-uint64 __ecereNameSpace__ecere__com___strtoui64(char * string, char ** endString, int base)
+uint64 __ecereNameSpace__ecere__com___strtoui64(const char * string, const char ** endString, int base)
 {
 uint64 value = 0;
 int sign = 1;
@@ -2366,14 +2366,18 @@ break;
 return sign * value;
 }
 
+extern int strncmp(const char * , const char * , size_t n);
+
 extern char *  strcat(char * , const char * );
 
-struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char * name)
+struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char * name)
 {
 if(name && module)
 {
 struct __ecereNameSpace__ecere__com__BTNamedLink * link;
 
+if(!strncmp(name, "const ", 6))
+name += 6;
 link = __ecereNameSpace__ecere__com__SearchNameSpace(&((struct __ecereNameSpace__ecere__com__Application *)(((char *)((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application + structSize_Module)))->systemNameSpace, name, &(*((struct __ecereNameSpace__ecere__com__NameSpace *)0)).classes);
 if(link)
 return link->data;
@@ -2428,7 +2432,7 @@ templatedClass->name = __ecereNameSpace__ecere__sys__CopyString(templatedClass->
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(&(*templatedClass->nameSpace).classes, (struct __ecereNameSpace__ecere__sys__BTNode *)__extension__ ({
 struct __ecereNameSpace__ecere__com__BTNamedLink * __ecereInstance1 = __ecereNameSpace__ecere__com__eSystem_New0(structSize_BTNamedLink);
 
-__ecereInstance1->name = templatedClass->name, __ecereInstance1->data = templatedClass, __ecereInstance1;
+__ecereInstance1->name = (char *)templatedClass->name, __ecereInstance1->data = templatedClass, __ecereInstance1;
 }));
 templatedClass->templateArgs = (((void *)0));
 templatedClass->numParams = 0;
@@ -2463,24 +2467,24 @@ break;
 }
 }
 
-extern char *  __ecereNameSpace__ecere__sys__TrimRSpaces(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__TrimRSpaces(const char *  string, char *  output);
 
 extern unsigned long strtoul(const char *  nptr, char * *  endptr, int base);
 
-extern double strtod(char * , char * * );
+extern double strtod(const char * , char * * );
 
-extern int sprintf(char * , char * , ...);
+extern int sprintf(char * , const char * , ...);
 
-struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
+struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
 
-struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+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);
 
-struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
-static void __ecereNameSpace__ecere__com__ComputeClassParameters(struct __ecereNameSpace__ecere__com__Class * templatedClass, char * templateParams, struct __ecereNameSpace__ecere__com__Instance * findModule)
+static void __ecereNameSpace__ecere__com__ComputeClassParameters(struct __ecereNameSpace__ecere__com__Class * templatedClass, const char * templateParams, struct __ecereNameSpace__ecere__com__Instance * findModule)
 {
 char ch;
-char * nextParamStart = templateParams ? (templateParams + 1) : (((void *)0));
+const char * nextParamStart = templateParams ? (templateParams + 1) : (((void *)0));
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter * curParam = (((void *)0));
 struct __ecereNameSpace__ecere__com__Class * lastClass = (((void *)0)), * sClass;
 int curParamID = 0;
@@ -2526,8 +2530,8 @@ __ecereNameSpace__ecere__com__CopyTemplateArg(param, &templatedClass->templateAr
 }
 while(nextParamStart)
 {
-char * paramStart = nextParamStart;
-char * paramEnd;
+const char * paramStart = nextParamStart;
+const char * paramEnd;
 int level = 0;
 
 while(*paramStart == ' ')
@@ -2546,7 +2550,7 @@ while(*paramEnd == ' ')
 paramEnd--;
 if(paramEnd > paramStart)
 {
-char * ptr, * equal = (((void *)0));
+const char * ptr, * equal = (((void *)0));
 
 for(ptr = paramStart; ptr <= paramEnd; ptr++)
 {
@@ -2558,7 +2562,7 @@ break;
 }
 if(equal)
 {
-char * end = equal - 1;
+const char * end = equal - 1;
 char ident[1024];
 
 while(*end == ' ')
@@ -2998,9 +3002,9 @@ struct __ecereNameSpace__ecere__com__ClassTemplateArgument * arg = &templatedCla
 if(param->type == 1 && (*arg).memberString)
 {
 struct __ecereNameSpace__ecere__com__Class * memberClass = templatedClass;
-char * memberString = (*arg).memberString;
-char * colon = strstr(memberString, "::");
-char * memberName = memberString;
+const char * memberString = (*arg).memberString;
+const char * colon = strstr(memberString, "::");
+const char * memberName = memberString;
 
 if(colon)
 memberName = colon + 2;
@@ -3138,7 +3142,7 @@ return 0x1;
 return 0x0;
 }
 
-static void __ecereNameSpace__ecere__com__FixDerivativeVirtualMethod(struct __ecereNameSpace__ecere__com__Class * base, char * name, int vid, void * origFunction, char * type)
+static void __ecereNameSpace__ecere__com__FixDerivativeVirtualMethod(struct __ecereNameSpace__ecere__com__Class * base, const char * name, int vid, void * origFunction, const char * type)
 {
 struct __ecereNameSpace__ecere__sys__OldLink * derivative;
 
@@ -3158,13 +3162,13 @@ if(method->function)
 function = method->function;
 if(!method->symbol)
 {
-(__ecereNameSpace__ecere__com__eSystem_Delete(method->name), method->name = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(method->dataTypeString), method->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)method->name), method->name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)method->dataTypeString), method->dataTypeString = 0);
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete(&_class->methods, (struct __ecereNameSpace__ecere__sys__BTNode *)method);
 }
 else
 {
-(__ecereNameSpace__ecere__com__eSystem_Delete(method->dataTypeString), method->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)method->dataTypeString), method->dataTypeString = 0);
 method->type = 1;
 method->dataTypeString = __ecereNameSpace__ecere__sys__CopyString(type);
 method->_class = base;
@@ -3203,7 +3207,7 @@ __ecereNameSpace__ecere__com__FixDerivativeVirtualMethod(template, name, vid, or
 }
 }
 
-struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * type, void * function, int declMode)
+struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, const char * type, void * function, int declMode)
 {
 if(_class && !_class->comRedefinition && name)
 {
@@ -3274,7 +3278,7 @@ return method;
 return (((void *)0));
 }
 
-struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * type, void * function, int declMode)
+struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, const char * type, void * function, int declMode)
 {
 if(_class && !_class->comRedefinition && name)
 {
@@ -3336,8 +3340,8 @@ if(watcher->_property == prop)
 watcher->_property = _property;
 }
 _property->selfWatchable = 0x1;
-(__ecereNameSpace__ecere__com__eSystem_Delete(prop->name), prop->name = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(prop->dataTypeString), prop->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)prop->name), prop->name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)prop->dataTypeString), prop->dataTypeString = 0);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Delete(&_class->membersAndProperties, prop);
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete(&_class->prop, (struct __ecereNameSpace__ecere__sys__BTNode *)link);
 }
@@ -3350,14 +3354,20 @@ __ecereNameSpace__ecere__com__FixDerivativeProperty(_class, _property);
 }
 }
 
-struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * dataType, void * setStmt, void * getStmt, int declMode)
+struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, const char * dataType, void * setStmt, void * getStmt, int declMode)
 {
 struct __ecereNameSpace__ecere__com__Property * _property = (((void *)0));
 
 if(_class)
 {
 struct __ecereNameSpace__ecere__com__BTNamedLink * link = (struct __ecereNameSpace__ecere__com__BTNamedLink *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(&_class->prop, name ? name : dataType);
+unsigned int isConversion = name ? 0x0 : 0x1;
 
+if(!name && dataType && !strncmp(dataType, "const ", 6))
+{
+name = dataType + 6;
+isConversion = 0x1;
+}
 if(link)
 _property = link->data;
 if(!_property)
@@ -3365,9 +3375,9 @@ if(!_property)
 _property = __extension__ ({
 struct __ecereNameSpace__ecere__com__Property * __ecereInstance1 = __ecereNameSpace__ecere__com__eSystem_New0(structSize_Property);
 
-__ecereInstance1->isProperty = 0x1, __ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(name ? name : dataType), __ecereInstance1->id = (name && (setStmt || getStmt || dataType)) ? _class->memberID++ : 0, __ecereInstance1->Set = setStmt, __ecereInstance1->Get = getStmt, __ecereInstance1->dataTypeString = __ecereNameSpace__ecere__sys__CopyString(dataType), __ecereInstance1->_class = _class, __ecereInstance1->compiled = 0x1, __ecereInstance1->conversion = name ? 0x0 : 0x1, __ecereInstance1->memberAccess = declMode, __ecereInstance1;
+__ecereInstance1->isProperty = 0x1, __ecereInstance1->name = __ecereNameSpace__ecere__sys__CopyString(name ? name : dataType), __ecereInstance1->id = (name && (setStmt || getStmt || dataType)) ? _class->memberID++ : 0, __ecereInstance1->Set = setStmt, __ecereInstance1->Get = getStmt, __ecereInstance1->dataTypeString = __ecereNameSpace__ecere__sys__CopyString(dataType), __ecereInstance1->_class = _class, __ecereInstance1->compiled = 0x1, __ecereInstance1->conversion = isConversion, __ecereInstance1->memberAccess = declMode, __ecereInstance1;
 });
-if(name)
+if(!isConversion)
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&_class->membersAndProperties, _property);
 else
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&_class->conversions, _property);
@@ -3415,7 +3425,7 @@ __ecereNameSpace__ecere__com__SetDelayedCPValues(deriv->data, _property);
 }
 }
 
-struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_AddClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * dataType, void * setStmt, void * getStmt)
+struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_AddClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, const char * dataType, void * setStmt, void * getStmt)
 {
 if(name && !__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(&_class->classProperties, name))
 {
@@ -3428,7 +3438,7 @@ return _property;
 return (((void *)0));
 }
 
-struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_FindClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name)
+struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_FindClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name)
 {
 struct __ecereNameSpace__ecere__com__ClassProperty * _property = (((void *)0));
 
@@ -3452,7 +3462,7 @@ _property = __ecereNameSpace__ecere__com__eClass_FindClassProperty(enumClass, na
 return _property;
 }
 
-long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name)
+long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name)
 {
 struct __ecereNameSpace__ecere__com__ClassProperty * _property = __ecereNameSpace__ecere__com__eClass_FindClassProperty(_class, name);
 
@@ -3465,7 +3475,7 @@ return result;
 return 0;
 }
 
-void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name, long long value)
+void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, long long value)
 {
 struct __ecereNameSpace__ecere__com__ClassProperty * _property = __ecereNameSpace__ecere__com__eClass_FindClassProperty(_class, name);
 
@@ -3479,12 +3489,12 @@ else
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&_class->delayedCPValues, __extension__ ({
 struct __ecereNameSpace__ecere__sys__NamedLink64 * __ecereInstance1 = __ecereNameSpace__ecere__com__eSystem_New0(structSize_NamedLink64);
 
-__ecereInstance1->name = name, __ecereInstance1->data = value, __ecereInstance1;
+__ecereInstance1->name = (char *)name, __ecereInstance1->data = value, __ecereInstance1;
 }));
 }
 }
 
-struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, char * name, struct __ecereNameSpace__ecere__com__Instance * module)
+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)
 {
 if(_class && name)
 {
@@ -3763,10 +3773,12 @@ __ecereNameSpace__ecere__com___free(instance);
 }
 }
 
-struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char * name, struct __ecereNameSpace__ecere__com__Instance * module)
+struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, struct __ecereNameSpace__ecere__com__Instance * module)
 {
 if(_class && name)
 {
+if(!strncmp(name, "const ", 6))
+name += 6;
 for(; _class; _class = _class->base)
 {
 struct __ecereNameSpace__ecere__com__BTNamedLink * link;
@@ -3805,7 +3817,7 @@ break;
 return (((void *)0));
 }
 
-static struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__FindDataMember(struct __ecereNameSpace__ecere__sys__OldList * list, struct __ecereNameSpace__ecere__sys__BinaryTree * alist, char * name, unsigned int * offset, int * id, unsigned int searchPrivate, struct __ecereNameSpace__ecere__com__DataMember ** subMemberStack, int * subMemberStackPos)
+static struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__FindDataMember(struct __ecereNameSpace__ecere__sys__OldList * list, struct __ecereNameSpace__ecere__sys__BinaryTree * alist, const char * name, unsigned int * offset, int * id, unsigned int searchPrivate, struct __ecereNameSpace__ecere__com__DataMember ** subMemberStack, int * subMemberStackPos)
 {
 struct __ecereNameSpace__ecere__com__BTNamedLink * link;
 struct __ecereNameSpace__ecere__com__DataMember * dataMember;
@@ -3848,7 +3860,7 @@ if(subMemberStackPos)
 return (((void *)0));
 }
 
-struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char * name, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember ** subMemberStack, int * subMemberStackPos)
+struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember ** subMemberStack, int * subMemberStackPos)
 {
 struct __ecereNameSpace__ecere__com__DataMember * dataMember = (((void *)0));
 
@@ -3889,7 +3901,7 @@ break;
 return dataMember;
 }
 
-struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(struct __ecereNameSpace__ecere__com__Class * _class, char * name, unsigned int * offset, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember ** subMemberStack, int * subMemberStackPos)
+struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, unsigned int * offset, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember ** subMemberStack, int * subMemberStackPos)
 {
 struct __ecereNameSpace__ecere__com__DataMember * dataMember = (((void *)0));
 
@@ -3932,7 +3944,7 @@ break;
 return dataMember;
 }
 
-struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMemberAndId(struct __ecereNameSpace__ecere__com__Class * _class, char * name, int * id, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember ** subMemberStack, int * subMemberStackPos)
+struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMemberAndId(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, int * id, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember ** subMemberStack, int * subMemberStackPos)
 {
 struct __ecereNameSpace__ecere__com__DataMember * dataMember = (((void *)0));
 
@@ -4067,7 +4079,7 @@ while(*curMember && (*curMember)->memberAccess == 2)
 }
 }
 
-void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char * name, void * function)
+void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char * name, void * function)
 {
 if(instance && name)
 {
@@ -4142,7 +4154,7 @@ for(deriv = _class->derivatives.first; deriv; deriv = deriv->next)
 __ecereNameSpace__ecere__com__FixOffsets(deriv->data);
 }
 
-struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * type, unsigned int size, unsigned int alignment, int declMode)
+struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, const char * type, unsigned int size, unsigned int alignment, int declMode)
 {
 if(_class && name)
 {
@@ -4176,7 +4188,7 @@ return dataMember;
 return (((void *)0));
 }
 
-struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_AddDataMember(struct __ecereNameSpace__ecere__com__DataMember * member, char * name, char * type, unsigned int size, unsigned int alignment, int declMode)
+struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_AddDataMember(struct __ecereNameSpace__ecere__com__DataMember * member, const char * name, const char * type, unsigned int size, unsigned int alignment, int declMode)
 {
 if(name && !__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(&member->membersAlpha, name))
 {
@@ -4311,7 +4323,7 @@ _class->memberOffset += dataMember->memberOffset;
 return 0x1;
 }
 
-struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, char * name, char * type, int bitSize, int bitPos, int declMode)
+struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, const char * type, int bitSize, int bitPos, int declMode)
 {
 if(_class && name && !__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(&_class->members, name))
 {
@@ -4343,15 +4355,15 @@ return bitMember;
 return (((void *)0));
 }
 
-extern char *  __ecereNameSpace__ecere__sys__GetLastDirectory(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__GetLastDirectory(const char *  string, char *  output);
 
-extern char *  __ecereNameSpace__ecere__sys__GetExtension(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__GetExtension(const char *  string, char *  output);
 
 extern unsigned int __ecereNameSpace__ecere__sys__StripExtension(char *  string);
 
 extern int strcasecmp(const char * , const char * );
 
-static struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__Module_Load(struct __ecereNameSpace__ecere__com__Instance * fromModule, char * name, int importAccess, unsigned int ensureCOM)
+static struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__Module_Load(struct __ecereNameSpace__ecere__com__Instance * fromModule, const char * name, int importAccess, unsigned int ensureCOM)
 {
 unsigned int (stdcall * Load)(struct __ecereNameSpace__ecere__com__Instance * module) = (((void *)0));
 unsigned int (stdcall * Unload)(struct __ecereNameSpace__ecere__com__Instance * module) = (((void *)0));
@@ -4473,17 +4485,17 @@ module->_refCount++;
 return module;
 }
 
-struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_Load(struct __ecereNameSpace__ecere__com__Instance * fromModule, char * name, int importAccess)
+struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_Load(struct __ecereNameSpace__ecere__com__Instance * fromModule, const char * name, int importAccess)
 {
 return __ecereNameSpace__ecere__com__Module_Load(fromModule, name, importAccess, 0x1);
 }
 
-struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStrict(struct __ecereNameSpace__ecere__com__Instance * fromModule, char * name, int importAccess)
+struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStrict(struct __ecereNameSpace__ecere__com__Instance * fromModule, const char * name, int importAccess)
 {
 return __ecereNameSpace__ecere__com__Module_Load(fromModule, name, importAccess, 0x0);
 }
 
-struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStatic(struct __ecereNameSpace__ecere__com__Instance * fromModule, char * name, int importAccess, unsigned int (* Load)(struct __ecereNameSpace__ecere__com__Instance * module), unsigned int (* Unload)(struct __ecereNameSpace__ecere__com__Instance * module))
+struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStatic(struct __ecereNameSpace__ecere__com__Instance * fromModule, const char * name, int importAccess, unsigned int (* Load)(struct __ecereNameSpace__ecere__com__Instance * module), unsigned int (* Unload)(struct __ecereNameSpace__ecere__com__Instance * module))
 {
 struct __ecereNameSpace__ecere__com__Instance * module;
 
@@ -4540,7 +4552,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Delete(&((struct __ecereName
 }
 }
 
-void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, char * string, int value)
+void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, const char * string, int value)
 {
 if(_class && _class->type == 4)
 {
@@ -4563,7 +4575,7 @@ data->largest = value;
 }
 }
 
-int __ecereNameSpace__ecere__com__eEnum_AddValue(struct __ecereNameSpace__ecere__com__Class * _class, char * string)
+int __ecereNameSpace__ecere__com__eEnum_AddValue(struct __ecereNameSpace__ecere__com__Class * _class, const char * string)
 {
 if(_class && _class->type == 4)
 {
@@ -4593,7 +4605,7 @@ static void __ecereNameSpace__ecere__com__NameSpace_Free(struct __ecereNameSpace
 {
 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace;
 
-(__ecereNameSpace__ecere__com__eSystem_Delete(parentNameSpace->name), parentNameSpace->name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)parentNameSpace->name), parentNameSpace->name = 0);
 while((nameSpace = (struct __ecereNameSpace__ecere__com__NameSpace *)__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first(&parentNameSpace->nameSpaces)))
 {
 __ecereNameSpace__ecere__com__NameSpace_Free(nameSpace);
@@ -4722,8 +4734,8 @@ __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete(&(*def->nameSpace)
 break;
 }
 }
-(__ecereNameSpace__ecere__com__eSystem_Delete(def->name), def->name = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(def->value), def->value = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)def->name), def->name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)def->value), def->value = 0);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Delete(&((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->defines, def);
 }
 for(; (function = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->functions.first); )
@@ -4739,11 +4751,11 @@ __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete(&(*function->nameS
 break;
 }
 }
-(__ecereNameSpace__ecere__com__eSystem_Delete(function->name), function->name = 0);
-(__ecereNameSpace__ecere__com__eSystem_Delete(function->dataTypeString), function->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)function->name), function->name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)function->dataTypeString), function->dataTypeString = 0);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Delete(&((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->functions, function);
 }
-(__ecereNameSpace__ecere__com__eSystem_Delete(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->name), ((struct __ecereNameSpace__ecere__com__Module * )(((char * )module + structSize_Instance)))->name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->name), ((struct __ecereNameSpace__ecere__com__Module * )(((char * )module + structSize_Instance)))->name = 0);
 __ecereNameSpace__ecere__com__NameSpace_Free(&((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->privateNameSpace);
 __ecereNameSpace__ecere__com__NameSpace_Free(&((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->publicNameSpace);
 if(module != ((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application)
@@ -4780,7 +4792,7 @@ string[c] -= 'a' - 'A';
 return string;
 }
 
-struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(char * name, char * value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode)
+struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(const char * name, const char * value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode)
 {
 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace = (((void *)0));
 int start = 0, c;
@@ -4837,7 +4849,7 @@ return def;
 return (((void *)0));
 }
 
-struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char * name, char * type, void * func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode)
+struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char * name, const char * type, void * func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode)
 {
 struct __ecereNameSpace__ecere__com__NameSpace * nameSpace = (((void *)0));
 int start = 0, c;
@@ -4894,7 +4906,7 @@ return function;
 return (((void *)0));
 }
 
-struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_FindDefine(struct __ecereNameSpace__ecere__com__Instance * module, char * name)
+struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_FindDefine(struct __ecereNameSpace__ecere__com__Instance * module, const char * name)
 {
 if(name && module)
 {
@@ -4910,7 +4922,7 @@ return link->data;
 return (((void *)0));
 }
 
-struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_FindFunction(struct __ecereNameSpace__ecere__com__Instance * module, char * name)
+struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_FindFunction(struct __ecereNameSpace__ecere__com__Instance * module, const char * name)
 {
 if(name && module)
 {
@@ -5022,7 +5034,7 @@ __ecereNameSpace__ecere__com__FixDerivativesBase(_class, _class);
 }
 }
 
-void __ecereNameSpace__ecere__com__eProperty_SelfWatch(struct __ecereNameSpace__ecere__com__Class * _class, char * name, void (* callback)(void *))
+void __ecereNameSpace__ecere__com__eProperty_SelfWatch(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, void (* callback)(void *))
 {
 if(_class)
 {
@@ -5137,7 +5149,7 @@ return __ecereNameSpace__ecere__com__eClass_GetDesigner(((struct __ecereNameSpac
 return (((void *)0));
 }
 
-unsigned int __ecereNameSpace__ecere__com__LocateModule(char * name, char * fileName)
+unsigned int __ecereNameSpace__ecere__com__LocateModule(const char * name, const char * fileName)
 {
 return Instance_LocateModule(name, fileName);
 }
@@ -5218,15 +5230,13 @@ extern char *  strpbrk(const char * , const char * );
 
 extern int strncasecmp(const char * , const char * , size_t n);
 
-extern int strncmp(const char * , const char * , size_t n);
-
 extern int memcmp(const void * , const void * , size_t size);
 
 extern int vsprintf(char * , const char * , __builtin_va_list);
 
-extern int puts(char * );
+extern int puts(const char * );
 
-extern int fputs(char * , void *  stream);
+extern int fputs(const char * , void *  stream);
 
 extern int isalnum(int c);
 
@@ -5272,7 +5282,7 @@ __ecereNameSpace__ecere__com__InitializeDataTypes1(module);
 enumClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "enum", (((void *)0)), 0, force64Bits ? 40 : sizeof(struct __ecereNameSpace__ecere__com__EnumClassData), (((void *)0)), (((void *)0)), module, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddClassProperty(enumClass, "enumSize", "int", (((void *)0)), __ecereNameSpace__ecere__com__GetEnumSize)->constant = 0x1;
 enumClass->type = 1000;
-(__ecereNameSpace__ecere__com__eSystem_Delete(enumClass->dataTypeString), enumClass->dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)enumClass->dataTypeString), enumClass->dataTypeString = 0);
 enumClass->dataTypeString = __ecereNameSpace__ecere__sys__CopyString("int");
 structClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "struct", (((void *)0)), 0, 0, (((void *)0)), (((void *)0)), module, 4, 1);
 structClass->type = 1000;
@@ -5287,7 +5297,7 @@ __ecereNameSpace__ecere__com__eEnum_AddFixedValue(boolClass, "false", 0x0);
 moduleClass = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::Module", (((void *)0)), force64Bits ? 8 + 32 + 32 + 32 + 32 + 8 + 8 + 8 + 8 + 8 + 4 + 4 + (32 + 8 + 8 + 4 * 32) + (32 + 8 + 8 + 4 * 32) : sizeof(struct __ecereNameSpace__ecere__com__Module), 0, (void *)__ecereNameSpace__ecere__com__Module_Constructor, (void *)__ecereNameSpace__ecere__com__Module_Destructor, module, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(moduleClass, "OnLoad", "bool()", (((void *)0)), 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(moduleClass, "OnUnload", "void()", (((void *)0)), 1);
-__ecereNameSpace__ecere__com__eClass_AddMethod(moduleClass, "Load", "Module(char * name, AccessMode importAccess)", __ecereNameSpace__ecere__com__eModule_Load, 1);
+__ecereNameSpace__ecere__com__eClass_AddMethod(moduleClass, "Load", "Module(const char * name, AccessMode importAccess)", __ecereNameSpace__ecere__com__eModule_Load, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(moduleClass, "Unload", "void(Module module)", __ecereNameSpace__ecere__com__eModule_Unload, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(moduleClass, "application", "Application", pointerSize, pointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(moduleClass, "classes", "OldList", force64Bits ? 32 : force32Bits ? 20 : sizeof(struct __ecereNameSpace__ecere__sys__OldList), pointerSize, 1);
@@ -5296,7 +5306,7 @@ __ecereNameSpace__ecere__com__eClass_AddDataMember(moduleClass, "functions", "Ol
 __ecereNameSpace__ecere__com__eClass_AddDataMember(moduleClass, "modules", "OldList", force64Bits ? 32 : force32Bits ? 20 : sizeof(struct __ecereNameSpace__ecere__sys__OldList), pointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(moduleClass, "prev", "Module", pointerSize, pointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(moduleClass, "next", "Module", pointerSize, pointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(moduleClass, "name", "char *", pointerSize, pointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(moduleClass, "name", "const char *", pointerSize, pointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(moduleClass, "library", "void *", pointerSize, pointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(moduleClass, "Unload", "void *", pointerSize, pointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(moduleClass, "importType", "ImportType", sizeof(int), 4, 1);
@@ -5315,7 +5325,7 @@ applicationClass->structSize = applicationClass->offset + (4 + 4 + 4 + 4 + 20 +
 }
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(applicationClass, "Main", "void()", (((void *)0)), 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(applicationClass, "argc", "int", sizeof(int), 4, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(applicationClass, "argv", "char **", pointerSize, pointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(applicationClass, "argv", "const char **", pointerSize, pointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(applicationClass, "exitCode", "int", sizeof(int), 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(applicationClass, "isGUIApp", "bool", sizeof(unsigned int), 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(applicationClass, "allModules", "OldList", force64Bits ? 32 : force32Bits ? 20 : sizeof(struct __ecereNameSpace__ecere__sys__OldList), pointerSize, 1);
@@ -5346,8 +5356,8 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ceil", "double ceil(doub
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("floor", "double floor(double number)", floor, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("exp", "double exp(double number)", exp, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("qsort", "void qsort(void *, uintsize, uintsize, int (*)(void *, void *))", qsort, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("strtod", "double strtod(char*, char**)", strtod, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("strtol", "int strtol(char*, char**, int base)", strtol, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("strtod", "double strtod(const char*, char**)", strtod, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("strtol", "int strtol(const char*, char**, int base)", strtol, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("system", "int system(const char*)", system, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("atoi", "int atoi(const char*)", atoi, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("atof", "double atof(const char*)", atof, module, 4);
@@ -5379,13 +5389,13 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("strncpy", "char * strncp
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("memcpy", "void * memcpy(void *, const void *, uintsize size)", memcpy, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("memmove", "void * memmove(void *, const void *, uintsize size)", memmove, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("memcmp", "int memcmp(const void *, const void *, uintsize size)", memcmp, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("sprintf", "int sprintf(char *, char *, ...)", sprintf, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("snprintf", "int sprintf(char *, uintsize, char *, ...)", snprintf, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("printf", "int printf(char *, ...)", printf, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("sprintf", "int sprintf(char *, const char *, ...)", sprintf, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("snprintf", "int sprintf(char *, uintsize, const char *, ...)", snprintf, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("printf", "int printf(const char *, ...)", printf, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("vsprintf", "int vsprintf(char*, const char*, __builtin_va_list)", vsprintf, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("vsnprintf", "int vsnprintf(char*, uintsize, const char*, __builtin_va_list)", vsnprintf, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("puts", "int puts(char *)", puts, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("fputs", "int fputs(char *, void * stream)", fputs, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("puts", "int puts(const char *)", puts, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("fputs", "int fputs(const char *, void * stream)", fputs, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("isalnum", "int isalnum(int c)", isalnum, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("isspace", "int isspace(int c)", isspace, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("isalpha", "int isalpha(int c)", isalpha, module, 4);
@@ -5416,7 +5426,7 @@ __ecereNameSpace__ecere__com__LoadCOM(app);
 return app;
 }
 
-struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, char * name, int type, void * info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg)
+struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, const char * name, int type, const void * info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg)
 {
 if(_class && name)
 {
@@ -5466,8 +5476,8 @@ for(param = base->templateParams.first; param; param = param->next)
 if(param->type == 1 && param->defaultArg.memberString)
 {
 struct __ecereNameSpace__ecere__com__Class * memberClass = base;
-char * colon = strstr(param->defaultArg.memberString, "::");
-char * memberName;
+const char * colon = strstr(param->defaultArg.memberString, "::");
+const char * memberName;
 
 if(colon)
 {
@@ -5565,12 +5575,12 @@ static struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 int __ecereVMethodID_class_OnGetString;
 
-char *  __ecereProp___ecereNameSpace__ecere__com__Platform_Get_char__PTR_(int this)
+const char *  __ecereProp___ecereNameSpace__ecere__com__Platform_Get_char__PTR_(int this)
 {
-return ((char *  (*)(struct __ecereNameSpace__ecere__com__Class *, void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass___ecereNameSpace__ecere__com__Platform->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass___ecereNameSpace__ecere__com__Platform, &this, (((void *)0)), (((void *)0)), (((void *)0)));
+return ((const char *  (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass___ecereNameSpace__ecere__com__Platform->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass___ecereNameSpace__ecere__com__Platform, &this, (((void *)0)), (((void *)0)), (((void *)0)));
 }
 
-int __ecereProp___ecereNameSpace__ecere__com__Platform_Set_char__PTR_(char *  value)
+int __ecereProp___ecereNameSpace__ecere__com__Platform_Set_char__PTR_(const char *  value)
 {
 if(value)
 {
@@ -5583,7 +5593,7 @@ return c;
 return 0;
 }
 
-char * __ecereMethod___ecereNameSpace__ecere__com__Platform_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, int * this, char * tempString, void * fieldData, unsigned int * needClass)
+const char * __ecereMethod___ecereNameSpace__ecere__com__Platform_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, int * this, char * tempString, void * fieldData, unsigned int * needClass)
 {
 if((*this) >= __ecereNameSpace__ecere__com__firstPlatform && (*this) <= __ecereNameSpace__ecere__com__lastPlatform)
 {
@@ -5596,7 +5606,7 @@ tempString[0] = '\0';
 return (((void *)0));
 }
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__com__Platform_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, int * this, char * string)
+unsigned int __ecereMethod___ecereNameSpace__ecere__com__Platform_OnGetDataFromString(struct __ecereNameSpace__ecere__com__Class * class, int * this, const char * string)
 {
 (*this) = __ecereProp___ecereNameSpace__ecere__com__Platform_Set_char__PTR_(string);
 return (*this) != 0;
@@ -5634,7 +5644,7 @@ static struct __ecereNameSpace__ecere__com__Property * __ecereProp___ecereNameSp
 struct __ecereNameSpace__ecere__com__DesignerBase
 {
 struct __ecereNameSpace__ecere__com__Instance * classDesigner;
-char * objectClass;
+const char * objectClass;
 unsigned int isDragging;
 } __attribute__ ((gcc_struct));
 
@@ -5655,14 +5665,14 @@ __ecerePointer___ecereNameSpace__ecere__com__DesignerBase->classDesigner = value
 __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecereProp___ecereNameSpace__ecere__com__DesignerBase_classDesigner), __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(this, __ecerePropM___ecereNameSpace__ecere__com__DesignerBase_classDesigner);
 }
 
-char *  __ecereProp___ecereNameSpace__ecere__com__DesignerBase_Get_objectClass(struct __ecereNameSpace__ecere__com__Instance * this)
+const char *  __ecereProp___ecereNameSpace__ecere__com__DesignerBase_Get_objectClass(struct __ecereNameSpace__ecere__com__Instance * this)
 {
 struct __ecereNameSpace__ecere__com__DesignerBase * __ecerePointer___ecereNameSpace__ecere__com__DesignerBase = (struct __ecereNameSpace__ecere__com__DesignerBase *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__DesignerBase->offset) : 0);
 
 return __ecerePointer___ecereNameSpace__ecere__com__DesignerBase->objectClass;
 }
 
-void __ecereProp___ecereNameSpace__ecere__com__DesignerBase_Set_objectClass(struct __ecereNameSpace__ecere__com__Instance * this, char *  value)
+void __ecereProp___ecereNameSpace__ecere__com__DesignerBase_Set_objectClass(struct __ecereNameSpace__ecere__com__Instance * this, const char *  value)
 {
 struct __ecereNameSpace__ecere__com__DesignerBase * __ecerePointer___ecereNameSpace__ecere__com__DesignerBase = (struct __ecereNameSpace__ecere__com__DesignerBase *)(this ? (((char *)this) + __ecereClass___ecereNameSpace__ecere__com__DesignerBase->offset) : 0);
 
@@ -5706,7 +5716,7 @@ __ecereNameSpace__ecere__com__poolingDisabled = disabled;
 
 
 
-unsigned int __ecereNameSpace__ecere__sys__UTF8Validate(char * source)
+unsigned int __ecereNameSpace__ecere__sys__UTF8Validate(const char * source)
 {
 if(source)
 {
@@ -5762,7 +5772,7 @@ return 0x0;
 return 0x1;
 }
 
-int __ecereNameSpace__ecere__sys__ISO8859_1toUTF8(char * source, char * dest, int max)
+int __ecereNameSpace__ecere__sys__ISO8859_1toUTF8(const char * source, char * dest, int max)
 {
 int c;
 int d = 0;
@@ -5812,7 +5822,7 @@ dest[d] = (char)0;
 return d;
 }
 
-char * __ecereNameSpace__ecere__sys__UTF16toUTF8(unsigned short * source)
+char * __ecereNameSpace__ecere__sys__UTF16toUTF8(const unsigned short * source)
 {
 int c;
 int d = 0;
@@ -5870,7 +5880,7 @@ dest = __ecereNameSpace__ecere__com__eSystem_Renew(dest, sizeof(char) * (d + 1))
 return dest;
 }
 
-int __ecereNameSpace__ecere__sys__UTF16toUTF8Buffer(unsigned short * source, unsigned char * dest, int max)
+int __ecereNameSpace__ecere__sys__UTF16toUTF8Buffer(const unsigned short * source, char * dest, int max)
 {
 int c;
 int d = 0;
@@ -5915,11 +5925,11 @@ dest[d++] = (unsigned char)0x80 | (unsigned char)((ch & 0xFC0) >> 6);
 dest[d++] = (unsigned char)0x80 | (unsigned char)(ch & 0x03F);
 }
 }
-dest[d] = (unsigned char)0;
+dest[d] = (char)0;
 return d;
 }
 
-unsigned int __ecereNameSpace__ecere__sys__UTF8GetChar(char * string, int * numBytes)
+unsigned int __ecereNameSpace__ecere__sys__UTF8GetChar(const char * string, int * numBytes)
 {
 unsigned int ch;
 unsigned char b = ((unsigned char *)string)[0];
@@ -5973,7 +5983,7 @@ if(numBytes)
 return ch;
 }
 
-int __ecereNameSpace__ecere__sys__UTF8toUTF16Buffer(char * source, unsigned short * dest, int max)
+int __ecereNameSpace__ecere__sys__UTF8toUTF16Buffer(const char * source, unsigned short * dest, int max)
 {
 if(source)
 {
@@ -6032,7 +6042,7 @@ return d;
 return 0;
 }
 
-int __ecereNameSpace__ecere__sys__UTF32toUTF8Len(unsigned int * source, int count, unsigned char * dest, int max)
+int __ecereNameSpace__ecere__sys__UTF32toUTF8Len(const unsigned int * source, int count, char * dest, int max)
 {
 int c;
 int d = 0;
@@ -6071,11 +6081,11 @@ dest[d++] = (unsigned char)0x80 | (unsigned char)((ch & 0xFC0) >> 6);
 dest[d++] = (unsigned char)0x80 | (unsigned char)(ch & 0x03F);
 }
 }
-dest[d] = (unsigned char)0;
+dest[d] = (char)0;
 return d;
 }
 
-unsigned short * __ecereNameSpace__ecere__sys__UTF8toUTF16(char * source, int * wordCount)
+unsigned short * __ecereNameSpace__ecere__sys__UTF8toUTF16(const char * source, int * wordCount)
 {
 if(source)
 {
@@ -6196,12 +6206,12 @@ if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize
 __ecereClass___ecereNameSpace__ecere__com__Property = class;
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::com::Property", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::com::Property", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "isProperty", "bool", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "memberAccess", "ecere::com::AccessMode", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "id", "int", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "_class", "ecere::com::Class", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeString", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeString", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeClass", "ecere::com::Class", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataType", "Type", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "Set", "void (*)(void *, int)", arch_PointerSize, arch_PointerSize, 1);
@@ -6212,7 +6222,7 @@ __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "symbol", "void *", ar
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "vid", "int", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "conversion", "bool", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "watcherOffset", "uint", 4, 4, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "category", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "category", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "compiled", "bool", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "selfWatchable", "bool", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "isWatchable", "bool", 4, 4, 1);
@@ -6220,12 +6230,12 @@ if(class)
 class->fixed = (unsigned int)1;
 if(class)
 class->noExpansion = (unsigned int)1;
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::MemoryGuard_PushLoc", "void ecere::com::MemoryGuard_PushLoc(char * loc)", __ecereNameSpace__ecere__com__MemoryGuard_PushLoc, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::MemoryGuard_PushLoc", "void ecere::com::MemoryGuard_PushLoc(const char * loc)", __ecereNameSpace__ecere__com__MemoryGuard_PushLoc, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::MemoryGuard_PopLoc", "void ecere::com::MemoryGuard_PopLoc(void)", __ecereNameSpace__ecere__com__MemoryGuard_PopLoc, module, 4);
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::com::BTNamedLink", 0, sizeof(struct __ecereNameSpace__ecere__com__BTNamedLink), 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)
 __ecereClass___ecereNameSpace__ecere__com__BTNamedLink = class;
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "parent", "ecere::com::BTNamedLink", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "left", "ecere::com::BTNamedLink", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "right", "ecere::com::BTNamedLink", arch_PointerSize, arch_PointerSize, 1);
@@ -6278,10 +6288,10 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereM
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetDataFromString", 0, __ecereMethod___ecereNameSpace__ecere__com__Class_OnGetDataFromString, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnSerialize", 0, __ecereMethod___ecereNameSpace__ecere__com__Class_OnSerialize, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnUnserialize", 0, __ecereMethod___ecereNameSpace__ecere__com__Class_OnUnserialize, 1);
-__ecereProp___ecereNameSpace__ecere__com__Class_char__PTR_ = __ecereNameSpace__ecere__com__eClass_AddProperty(class, 0, "char *", __ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_, __ecereProp___ecereNameSpace__ecere__com__Class_Get_char__PTR_, 1);
+__ecereProp___ecereNameSpace__ecere__com__Class_char__PTR_ = __ecereNameSpace__ecere__com__eClass_AddProperty(class, 0, "const char *", __ecereProp___ecereNameSpace__ecere__com__Class_Set_char__PTR_, __ecereProp___ecereNameSpace__ecere__com__Class_Get_char__PTR_, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::com::Class", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::com::Class", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "offset", "int", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "structSize", "int", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "_vTbl", "int (* *)()", arch_PointerSize, arch_PointerSize, 1);
@@ -6302,16 +6312,16 @@ __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "startMemberID", "int"
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "type", "ecere::com::ClassType", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "module", "ecere::com::Module", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "nameSpace", "ecere::com::NameSpace *", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeString", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeString", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataType", "Type", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "typeSize", "int", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "defaultAlignment", "int", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "Initialize", "void (*)()", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "memberOffset", "int", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "selfWatchers", "ecere::sys::OldList", structSize_OldList, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "designerClass", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "designerClass", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "noExpansion", "bool", 4, 4, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "defaultProperty", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "defaultProperty", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "comRedefinition", "bool", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "count", "int", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "isRemote", "int", 4, 4, 1);
@@ -6323,7 +6333,7 @@ __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "destructionWatchOffse
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "fixed", "bool", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "delayedCPValues", "ecere::sys::OldList", structSize_OldList, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "inheritanceAccess", "ecere::com::AccessMode", 4, 4, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "fullName", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "fullName", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "symbol", "void *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "conversions", "ecere::sys::OldList", structSize_OldList, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "templateParams", "ecere::sys::OldList", structSize_OldList, arch_PointerSize, 1);
@@ -6358,7 +6368,7 @@ struct __ecereNameSpace__ecere__com__DataMember * dataMember0 = __ecereNameSpace
 {
 struct __ecereNameSpace__ecere__com__DataMember * dataMember1 = __ecereNameSpace__ecere__com__eMember_New(2, 1);
 
-__ecereNameSpace__ecere__com__eMember_AddDataMember(dataMember1, "dataTypeString", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eMember_AddDataMember(dataMember1, "dataTypeString", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eMember_AddDataMember(dataMember1, "dataTypeClass", "ecere::com::Class", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eMember_AddMember(dataMember0, dataMember1);
 }
@@ -6366,7 +6376,7 @@ __ecereNameSpace__ecere__com__eMember_AddDataMember(dataMember0, "expression", "
 {
 struct __ecereNameSpace__ecere__com__DataMember * dataMember1 = __ecereNameSpace__ecere__com__eMember_New(2, 1);
 
-__ecereNameSpace__ecere__com__eMember_AddDataMember(dataMember1, "memberString", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eMember_AddDataMember(dataMember1, "memberString", "const char *", arch_PointerSize, arch_PointerSize, 1);
 {
 struct __ecereNameSpace__ecere__com__DataMember * dataMember2 = __ecereNameSpace__ecere__com__eMember_New(1, 1);
 
@@ -6384,12 +6394,12 @@ if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize
 __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter = class;
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::com::ClassTemplateParameter", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::com::ClassTemplateParameter", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "type", "ecere::com::TemplateParameterType", 4, 4, 1);
 {
 struct __ecereNameSpace__ecere__com__DataMember * dataMember0 = __ecereNameSpace__ecere__com__eMember_New(1, 1);
 
-__ecereNameSpace__ecere__com__eMember_AddDataMember(dataMember0, "dataTypeString", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eMember_AddDataMember(dataMember0, "dataTypeString", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eMember_AddDataMember(dataMember0, "memberType", "ecere::com::TemplateMemberType", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddMember(class, dataMember0);
 }
@@ -6405,7 +6415,7 @@ __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "virtualMethod", 1);
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::com::Method", 0, sizeof(struct __ecereNameSpace__ecere__com__Method), 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)
 __ecereClass___ecereNameSpace__ecere__com__Method = class;
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "parent", "ecere::com::Method", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "left", "ecere::com::Method", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "right", "ecere::com::Method", arch_PointerSize, arch_PointerSize, 1);
@@ -6415,7 +6425,7 @@ __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "vid", "int", 4, 4, 1)
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "type", "ecere::com::MethodType", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "_class", "ecere::com::Class", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "symbol", "void *", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeString", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeString", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataType", "Type", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "memberAccess", "ecere::com::AccessMode", 4, 4, 1);
 if(class)
@@ -6431,7 +6441,7 @@ __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "comCheckImport", 4);
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::com::NameSpace", 0, sizeof(struct __ecereNameSpace__ecere__com__NameSpace), 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)
 __ecereClass___ecereNameSpace__ecere__com__NameSpace = class;
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "btParent", "ecere::com::NameSpace *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "left", "ecere::com::NameSpace *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "right", "ecere::com::NameSpace *", arch_PointerSize, arch_PointerSize, 1);
@@ -6465,12 +6475,12 @@ if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize
 __ecereClass___ecereNameSpace__ecere__com__DataMember = class;
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::com::DataMember", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::com::DataMember", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "isProperty", "bool", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "memberAccess", "ecere::com::AccessMode", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "id", "int", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "_class", "ecere::com::Class", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeString", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeString", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeClass", "ecere::com::Class", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataType", "Type", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "type", "ecere::com::DataMemberType", 4, 4, 1);
@@ -6487,12 +6497,12 @@ if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize
 __ecereClass___ecereNameSpace__ecere__com__BitMember = class;
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::com::BitMember", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::com::BitMember", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "isProperty", "bool", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "memberAccess", "ecere::com::AccessMode", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "id", "int", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "_class", "ecere::com::Class", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeString", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeString", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeClass", "ecere::com::Class", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataType", "Type", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "type", "ecere::com::DataMemberType", 4, 4, 1);
@@ -6504,14 +6514,14 @@ class->fixed = (unsigned int)1;
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::com::ClassProperty", 0, sizeof(struct __ecereNameSpace__ecere__com__ClassProperty), 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)
 __ecereClass___ecereNameSpace__ecere__com__ClassProperty = class;
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "parent", "ecere::com::ClassProperty", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "left", "ecere::com::ClassProperty", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "right", "ecere::com::ClassProperty", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "depth", "int", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "Set", "void (*)(ecere::com::Class, int64)", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "Get", "int64 (*)(ecere::com::Class)", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeString", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeString", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataType", "Type", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "constant", "bool", 4, 4, 1);
 if(class)
@@ -6521,8 +6531,8 @@ if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize
 __ecereClass___ecereNameSpace__ecere__com__DefinedExpression = class;
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::com::DefinedExpression", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::com::DefinedExpression", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "value", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "const char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "value", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "nameSpace", "ecere::com::NameSpace *", arch_PointerSize, arch_PointerSize, 1);
 if(class)
 class->fixed = (unsigned int)1;
@@ -6531,11 +6541,11 @@ if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize
 __ecereClass___ecereNameSpace__ecere__com__GlobalFunction = class;
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "prev", "ecere::com::GlobalFunction", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "next", "ecere::com::GlobalFunction", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "name", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "function", "int (*)()", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "module", "ecere::com::Module", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "nameSpace", "ecere::com::NameSpace *", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeString", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeString", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataType", "Type", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "symbol", "void *", arch_PointerSize, arch_PointerSize, 1);
 if(class)
@@ -6577,50 +6587,50 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::log2i", "uin
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::pow2i", "uint ecere::com::pow2i(uint number)", __ecereNameSpace__ecere__com__pow2i, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::memswap", "void ecere::com::memswap(byte * a, byte * b, uint size)", __ecereNameSpace__ecere__com__memswap, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::CheckMemory", "void ecere::com::CheckMemory(void)", __ecereNameSpace__ecere__com__CheckMemory, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eSystem_RegisterClass", "ecere::com::Class ecere::com::eSystem_RegisterClass(ecere::com::ClassType type, char * name, char * baseName, int size, int sizeClass, bool (* Constructor)(void *), void (* Destructor)(void *), ecere::com::Module module, ecere::com::AccessMode declMode, ecere::com::AccessMode inheritanceAccess)", __ecereNameSpace__ecere__com__eSystem_RegisterClass, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eSystem_RegisterClass", "ecere::com::Class ecere::com::eSystem_RegisterClass(ecere::com::ClassType type, const char * name, const char * baseName, int size, int sizeClass, bool (* Constructor)(void *), void (* Destructor)(void *), ecere::com::Module module, ecere::com::AccessMode declMode, ecere::com::AccessMode inheritanceAccess)", __ecereNameSpace__ecere__com__eSystem_RegisterClass, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_Unregister", "void ecere::com::eClass_Unregister(ecere::com::Class _class)", __ecereNameSpace__ecere__com__eClass_Unregister, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::_strtoi64", "int64 ecere::com::_strtoi64(char * string, char * * endString, int base)", __ecereNameSpace__ecere__com___strtoi64, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::_strtoui64", "uint64 ecere::com::_strtoui64(char * string, char * * endString, int base)", __ecereNameSpace__ecere__com___strtoui64, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eSystem_FindClass", "ecere::com::Class ecere::com::eSystem_FindClass(ecere::com::Module module, char * name)", __ecereNameSpace__ecere__com__eSystem_FindClass, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::_strtoi64", "int64 ecere::com::_strtoi64(const char * string, const char * * endString, int base)", __ecereNameSpace__ecere__com___strtoi64, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::_strtoui64", "uint64 ecere::com::_strtoui64(const char * string, const char * * endString, int base)", __ecereNameSpace__ecere__com___strtoui64, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eSystem_FindClass", "ecere::com::Class ecere::com::eSystem_FindClass(ecere::com::Module module, const char * name)", __ecereNameSpace__ecere__com__eSystem_FindClass, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::DefaultFunction", "bool ecere::com::DefaultFunction(void)", __ecereNameSpace__ecere__com__DefaultFunction, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_IsDerived", "bool ecere::com::eClass_IsDerived(ecere::com::Class _class, ecere::com::Class from)", __ecereNameSpace__ecere__com__eClass_IsDerived, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_AddMethod", "ecere::com::Method ecere::com::eClass_AddMethod(ecere::com::Class _class, char * name, char * type, void * function, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eClass_AddMethod, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_AddVirtualMethod", "ecere::com::Method ecere::com::eClass_AddVirtualMethod(ecere::com::Class _class, char * name, char * type, void * function, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eClass_AddVirtualMethod, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_AddProperty", "ecere::com::Property ecere::com::eClass_AddProperty(ecere::com::Class _class, char * name, char * dataType, void * setStmt, void * getStmt, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eClass_AddProperty, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_AddClassProperty", "ecere::com::ClassProperty ecere::com::eClass_AddClassProperty(ecere::com::Class _class, char * name, char * dataType, void * setStmt, void * getStmt)", __ecereNameSpace__ecere__com__eClass_AddClassProperty, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_FindClassProperty", "ecere::com::ClassProperty ecere::com::eClass_FindClassProperty(ecere::com::Class _class, char * name)", __ecereNameSpace__ecere__com__eClass_FindClassProperty, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_GetProperty", "int64 ecere::com::eClass_GetProperty(ecere::com::Class _class, char * name)", __ecereNameSpace__ecere__com__eClass_GetProperty, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_SetProperty", "void ecere::com::eClass_SetProperty(ecere::com::Class _class, char * name, int64 value)", __ecereNameSpace__ecere__com__eClass_SetProperty, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_FindMethod", "ecere::com::Method ecere::com::eClass_FindMethod(ecere::com::Class _class, char * name, ecere::com::Module module)", __ecereNameSpace__ecere__com__eClass_FindMethod, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_AddMethod", "ecere::com::Method ecere::com::eClass_AddMethod(ecere::com::Class _class, const char * name, const char * type, void * function, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eClass_AddMethod, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_AddVirtualMethod", "ecere::com::Method ecere::com::eClass_AddVirtualMethod(ecere::com::Class _class, const char * name, const char * type, void * function, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eClass_AddVirtualMethod, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_AddProperty", "ecere::com::Property ecere::com::eClass_AddProperty(ecere::com::Class _class, const char * name, const char * dataType, void * setStmt, void * getStmt, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eClass_AddProperty, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_AddClassProperty", "ecere::com::ClassProperty ecere::com::eClass_AddClassProperty(ecere::com::Class _class, const char * name, const char * dataType, void * setStmt, void * getStmt)", __ecereNameSpace__ecere__com__eClass_AddClassProperty, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_FindClassProperty", "ecere::com::ClassProperty ecere::com::eClass_FindClassProperty(ecere::com::Class _class, const char * name)", __ecereNameSpace__ecere__com__eClass_FindClassProperty, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_GetProperty", "int64 ecere::com::eClass_GetProperty(ecere::com::Class _class, const char * name)", __ecereNameSpace__ecere__com__eClass_GetProperty, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_SetProperty", "void ecere::com::eClass_SetProperty(ecere::com::Class _class, const char * name, int64 value)", __ecereNameSpace__ecere__com__eClass_SetProperty, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_FindMethod", "ecere::com::Method ecere::com::eClass_FindMethod(ecere::com::Class _class, const char * name, ecere::com::Module module)", __ecereNameSpace__ecere__com__eClass_FindMethod, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eInstance_New", "void * ecere::com::eInstance_New(ecere::com::Class _class)", __ecereNameSpace__ecere__com__eInstance_New, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eInstance_Evolve", "void ecere::com::eInstance_Evolve(ecere::com::Instance * instancePtr, ecere::com::Class _class)", __ecereNameSpace__ecere__com__eInstance_Evolve, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eInstance_Delete", "void ecere::com::eInstance_Delete(ecere::com::Instance instance)", __ecereNameSpace__ecere__com__eInstance_Delete, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_FindProperty", "ecere::com::Property ecere::com::eClass_FindProperty(ecere::com::Class _class, char * name, ecere::com::Module module)", __ecereNameSpace__ecere__com__eClass_FindProperty, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_FindDataMember", "ecere::com::DataMember ecere::com::eClass_FindDataMember(ecere::com::Class _class, char * name, ecere::com::Module module, ecere::com::DataMember * subMemberStack, int * subMemberStackPos)", __ecereNameSpace__ecere__com__eClass_FindDataMember, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_FindDataMemberAndOffset", "ecere::com::DataMember ecere::com::eClass_FindDataMemberAndOffset(ecere::com::Class _class, char * name, uint * offset, ecere::com::Module module, ecere::com::DataMember * subMemberStack, int * subMemberStackPos)", __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_FindDataMemberAndId", "ecere::com::DataMember ecere::com::eClass_FindDataMemberAndId(ecere::com::Class _class, char * name, int * id, ecere::com::Module module, ecere::com::DataMember * subMemberStack, int * subMemberStackPos)", __ecereNameSpace__ecere__com__eClass_FindDataMemberAndId, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_FindProperty", "ecere::com::Property ecere::com::eClass_FindProperty(ecere::com::Class _class, const char * name, ecere::com::Module module)", __ecereNameSpace__ecere__com__eClass_FindProperty, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_FindDataMember", "ecere::com::DataMember ecere::com::eClass_FindDataMember(ecere::com::Class _class, const char * name, ecere::com::Module module, ecere::com::DataMember * subMemberStack, int * subMemberStackPos)", __ecereNameSpace__ecere__com__eClass_FindDataMember, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_FindDataMemberAndOffset", "ecere::com::DataMember ecere::com::eClass_FindDataMemberAndOffset(ecere::com::Class _class, const char * name, uint * offset, ecere::com::Module module, ecere::com::DataMember * subMemberStack, int * subMemberStackPos)", __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_FindDataMemberAndId", "ecere::com::DataMember ecere::com::eClass_FindDataMemberAndId(ecere::com::Class _class, const char * name, int * id, ecere::com::Module module, ecere::com::DataMember * subMemberStack, int * subMemberStackPos)", __ecereNameSpace__ecere__com__eClass_FindDataMemberAndId, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_FindNextMember", "void ecere::com::eClass_FindNextMember(ecere::com::Class _class, ecere::com::Class * curClass, ecere::com::DataMember * curMember, ecere::com::DataMember * subMemberStack, int * subMemberStackPos)", __ecereNameSpace__ecere__com__eClass_FindNextMember, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eInstance_SetMethod", "void ecere::com::eInstance_SetMethod(ecere::com::Instance instance, char * name, void * function)", __ecereNameSpace__ecere__com__eInstance_SetMethod, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eInstance_SetMethod", "void ecere::com::eInstance_SetMethod(ecere::com::Instance instance, const char * name, void * function)", __ecereNameSpace__ecere__com__eInstance_SetMethod, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eInstance_IsDerived", "bool ecere::com::eInstance_IsDerived(ecere::com::Instance instance, ecere::com::Class from)", __ecereNameSpace__ecere__com__eInstance_IsDerived, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eInstance_IncRef", "void ecere::com::eInstance_IncRef(ecere::com::Instance instance)", __ecereNameSpace__ecere__com__eInstance_IncRef, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eInstance_DecRef", "void ecere::com::eInstance_DecRef(ecere::com::Instance instance)", __ecereNameSpace__ecere__com__eInstance_DecRef, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_Resize", "void ecere::com::eClass_Resize(ecere::com::Class _class, int newSize)", __ecereNameSpace__ecere__com__eClass_Resize, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_AddDataMember", "ecere::com::DataMember ecere::com::eClass_AddDataMember(ecere::com::Class _class, char * name, char * type, uint size, uint alignment, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eClass_AddDataMember, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eMember_AddDataMember", "ecere::com::DataMember ecere::com::eMember_AddDataMember(ecere::com::DataMember member, char * name, char * type, uint size, uint alignment, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eMember_AddDataMember, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_AddDataMember", "ecere::com::DataMember ecere::com::eClass_AddDataMember(ecere::com::Class _class, const char * name, const char * type, uint size, uint alignment, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eClass_AddDataMember, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eMember_AddDataMember", "ecere::com::DataMember ecere::com::eMember_AddDataMember(ecere::com::DataMember member, const char * name, const char * type, uint size, uint alignment, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eMember_AddDataMember, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eMember_New", "ecere::com::DataMember ecere::com::eMember_New(ecere::com::DataMemberType type, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eMember_New, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eMember_AddMember", "bool ecere::com::eMember_AddMember(ecere::com::DataMember addTo, ecere::com::DataMember dataMember)", __ecereNameSpace__ecere__com__eMember_AddMember, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_AddMember", "bool ecere::com::eClass_AddMember(ecere::com::Class _class, ecere::com::DataMember dataMember)", __ecereNameSpace__ecere__com__eClass_AddMember, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_AddBitMember", "ecere::com::BitMember ecere::com::eClass_AddBitMember(ecere::com::Class _class, char * name, char * type, int bitSize, int bitPos, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eClass_AddBitMember, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eModule_Load", "ecere::com::Module ecere::com::eModule_Load(ecere::com::Module fromModule, char * name, ecere::com::AccessMode importAccess)", __ecereNameSpace__ecere__com__eModule_Load, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eModule_LoadStrict", "ecere::com::Module ecere::com::eModule_LoadStrict(ecere::com::Module fromModule, char * name, ecere::com::AccessMode importAccess)", __ecereNameSpace__ecere__com__eModule_LoadStrict, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eModule_LoadStatic", "ecere::com::Module ecere::com::eModule_LoadStatic(ecere::com::Module fromModule, char * name, ecere::com::AccessMode importAccess, bool (* Load)(ecere::com::Module module), bool (* Unload)(ecere::com::Module module))", __ecereNameSpace__ecere__com__eModule_LoadStatic, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_AddBitMember", "ecere::com::BitMember ecere::com::eClass_AddBitMember(ecere::com::Class _class, const char * name, const char * type, int bitSize, int bitPos, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eClass_AddBitMember, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eModule_Load", "ecere::com::Module ecere::com::eModule_Load(ecere::com::Module fromModule, const char * name, ecere::com::AccessMode importAccess)", __ecereNameSpace__ecere__com__eModule_Load, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eModule_LoadStrict", "ecere::com::Module ecere::com::eModule_LoadStrict(ecere::com::Module fromModule, const char * name, ecere::com::AccessMode importAccess)", __ecereNameSpace__ecere__com__eModule_LoadStrict, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eModule_LoadStatic", "ecere::com::Module ecere::com::eModule_LoadStatic(ecere::com::Module fromModule, const char * name, ecere::com::AccessMode importAccess, bool (* Load)(ecere::com::Module module), bool (* Unload)(ecere::com::Module module))", __ecereNameSpace__ecere__com__eModule_LoadStatic, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eModule_Unload", "void ecere::com::eModule_Unload(ecere::com::Module fromModule, ecere::com::Module module)", __ecereNameSpace__ecere__com__eModule_Unload, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eEnum_AddFixedValue", "void ecere::com::eEnum_AddFixedValue(ecere::com::Class _class, char * string, int value)", __ecereNameSpace__ecere__com__eEnum_AddFixedValue, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eEnum_AddValue", "int ecere::com::eEnum_AddValue(ecere::com::Class _class, char * string)", __ecereNameSpace__ecere__com__eEnum_AddValue, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eSystem_RegisterDefine", "ecere::com::DefinedExpression ecere::com::eSystem_RegisterDefine(char * name, char * value, ecere::com::Module module, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eSystem_RegisterDefine, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eSystem_RegisterFunction", "ecere::com::GlobalFunction ecere::com::eSystem_RegisterFunction(char * name, char * type, void * func, ecere::com::Module module, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eSystem_RegisterFunction, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eSystem_FindDefine", "ecere::com::DefinedExpression ecere::com::eSystem_FindDefine(ecere::com::Module module, char * name)", __ecereNameSpace__ecere__com__eSystem_FindDefine, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eSystem_FindFunction", "ecere::com::GlobalFunction ecere::com::eSystem_FindFunction(ecere::com::Module module, char * name)", __ecereNameSpace__ecere__com__eSystem_FindFunction, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eEnum_AddFixedValue", "void ecere::com::eEnum_AddFixedValue(ecere::com::Class _class, const char * string, int value)", __ecereNameSpace__ecere__com__eEnum_AddFixedValue, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eEnum_AddValue", "int ecere::com::eEnum_AddValue(ecere::com::Class _class, const char * string)", __ecereNameSpace__ecere__com__eEnum_AddValue, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eSystem_RegisterDefine", "ecere::com::DefinedExpression ecere::com::eSystem_RegisterDefine(const char * name, const char * value, ecere::com::Module module, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eSystem_RegisterDefine, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eSystem_RegisterFunction", "ecere::com::GlobalFunction ecere::com::eSystem_RegisterFunction(const char * name, const char * type, void * func, ecere::com::Module module, ecere::com::AccessMode declMode)", __ecereNameSpace__ecere__com__eSystem_RegisterFunction, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eSystem_FindDefine", "ecere::com::DefinedExpression ecere::com::eSystem_FindDefine(ecere::com::Module module, const char * name)", __ecereNameSpace__ecere__com__eSystem_FindDefine, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eSystem_FindFunction", "ecere::com::GlobalFunction ecere::com::eSystem_FindFunction(ecere::com::Module module, const char * name)", __ecereNameSpace__ecere__com__eSystem_FindFunction, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eSystem_Renew", "void * ecere::com::eSystem_Renew(void * memory, uint size)", __ecereNameSpace__ecere__com__eSystem_Renew, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eSystem_Renew0", "void * ecere::com::eSystem_Renew0(void * memory, uint size)", __ecereNameSpace__ecere__com__eSystem_Renew0, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eSystem_New", "void * ecere::com::eSystem_New(uint size)", __ecereNameSpace__ecere__com__eSystem_New, module, 4);
@@ -6630,22 +6640,22 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eInstance_Fi
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eInstance_FireWatchers", "void ecere::com::eInstance_FireWatchers(ecere::com::Instance instance, ecere::com::Property _property)", __ecereNameSpace__ecere__com__eInstance_FireWatchers, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eProperty_Watchable", "void ecere::com::eProperty_Watchable(ecere::com::Property _property)", __ecereNameSpace__ecere__com__eProperty_Watchable, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_DestructionWatchable", "void ecere::com::eClass_DestructionWatchable(ecere::com::Class _class)", __ecereNameSpace__ecere__com__eClass_DestructionWatchable, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eProperty_SelfWatch", "void ecere::com::eProperty_SelfWatch(ecere::com::Class _class, char * name, void (* callback)(void *))", __ecereNameSpace__ecere__com__eProperty_SelfWatch, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eProperty_SelfWatch", "void ecere::com::eProperty_SelfWatch(ecere::com::Class _class, const char * name, void (* callback)(void *))", __ecereNameSpace__ecere__com__eProperty_SelfWatch, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eInstance_Watch", "void ecere::com::eInstance_Watch(void * instance, ecere::com::Property _property, void * object, void (* callback)(void *, void *))", __ecereNameSpace__ecere__com__eInstance_Watch, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eInstance_WatchDestruction", "void ecere::com::eInstance_WatchDestruction(ecere::com::Instance instance, ecere::com::Instance object, void (* callback)(ecere::com::Instance, ecere::com::Instance))", __ecereNameSpace__ecere__com__eInstance_WatchDestruction, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eInstance_StopWatching", "void ecere::com::eInstance_StopWatching(ecere::com::Instance instance, ecere::com::Property _property, ecere::com::Instance object)", __ecereNameSpace__ecere__com__eInstance_StopWatching, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_GetDesigner", "subclass(ecere::com::ClassDesignerBase) ecere::com::eClass_GetDesigner(ecere::com::Class _class)", __ecereNameSpace__ecere__com__eClass_GetDesigner, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eInstance_GetDesigner", "subclass(ecere::com::ClassDesignerBase) ecere::com::eInstance_GetDesigner(ecere::com::Instance instance)", __ecereNameSpace__ecere__com__eInstance_GetDesigner, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::LocateModule", "bool ecere::com::LocateModule(char * name, char * fileName)", __ecereNameSpace__ecere__com__LocateModule, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::LocateModule", "bool ecere::com::LocateModule(const char * name, const char * fileName)", __ecereNameSpace__ecere__com__LocateModule, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::__ecere_COM_Initialize", "ecere::com::Application ecere::com::__ecere_COM_Initialize(bool guiApp, int argc, char * argv[])", __ecereNameSpace__ecere__com____ecere_COM_Initialize, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_AddTemplateParameter", "ecere::com::ClassTemplateParameter ecere::com::eClass_AddTemplateParameter(ecere::com::Class _class, char * name, ecere::com::TemplateParameterType type, void * info, ecere::com::ClassTemplateArgument defaultArg)", __ecereNameSpace__ecere__com__eClass_AddTemplateParameter, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_AddTemplateParameter", "ecere::com::ClassTemplateParameter ecere::com::eClass_AddTemplateParameter(ecere::com::Class _class, const char * name, ecere::com::TemplateParameterType type, const void * info, ecere::com::ClassTemplateArgument defaultArg)", __ecereNameSpace__ecere__com__eClass_AddTemplateParameter, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eClass_DoneAddingTemplateParameters", "void ecere::com::eClass_DoneAddingTemplateParameters(ecere::com::Class base)", __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters, module, 4);
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::com::Platform", 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)
 __ecereClass___ecereNameSpace__ecere__com__Platform = class;
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetString", 0, __ecereMethod___ecereNameSpace__ecere__com__Platform_OnGetString, 1);
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnGetDataFromString", 0, __ecereMethod___ecereNameSpace__ecere__com__Platform_OnGetDataFromString, 1);
-__ecereProp___ecereNameSpace__ecere__com__Platform_char__PTR_ = __ecereNameSpace__ecere__com__eClass_AddProperty(class, 0, "char *", __ecereProp___ecereNameSpace__ecere__com__Platform_Set_char__PTR_, __ecereProp___ecereNameSpace__ecere__com__Platform_Get_char__PTR_, 1);
+__ecereProp___ecereNameSpace__ecere__com__Platform_char__PTR_ = __ecereNameSpace__ecere__com__eClass_AddProperty(class, 0, "const char *", __ecereProp___ecereNameSpace__ecere__com__Platform_Set_char__PTR_, __ecereProp___ecereNameSpace__ecere__com__Platform_Get_char__PTR_, 1);
 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "unknown", 0);
 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "win32", 1);
 __ecereNameSpace__ecere__com__eEnum_AddFixedValue(class, "tux", 2);
@@ -6668,8 +6678,8 @@ __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "i18nStrings", "void *
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::DesignerBase", "ecere::gui::Window", sizeof(struct __ecereNameSpace__ecere__com__DesignerBase), 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)
 __ecereClass___ecereNameSpace__ecere__com__DesignerBase = class;
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FindObject", "bool FindObject(ecere::com::Instance * instance, char * string)", 0, 1);
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "RenameObject", "void RenameObject(ecere::com::ObjectInfo object, char * name)", 0, 1);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FindObject", "bool FindObject(ecere::com::Instance * instance, const char * string)", 0, 1);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "RenameObject", "void RenameObject(ecere::com::ObjectInfo object, const char * name)", 0, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "SelectObjectFromDesigner", "void SelectObjectFromDesigner(ecere::com::ObjectInfo object)", 0, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "CodeAddObject", "void CodeAddObject(ecere::com::Instance instance, ecere::com::ObjectInfo * object)", 0, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "SheetAddObject", "void SheetAddObject(ecere::com::ObjectInfo object)", 0, 1);
@@ -6680,12 +6690,12 @@ __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "ObjectContainsCode
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "ModifyCode", "void ModifyCode(void)", 0, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "UpdateProperties", "void UpdateProperties(void)", 0, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "classDesigner", "ecere::com::ClassDesignerBase", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "objectClass", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "objectClass", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "isDragging", "bool", 4, 4, 1);
 __ecerePropM___ecereNameSpace__ecere__com__DesignerBase_classDesigner = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "classDesigner", "ecere::com::ClassDesignerBase", __ecereProp___ecereNameSpace__ecere__com__DesignerBase_Set_classDesigner, __ecereProp___ecereNameSpace__ecere__com__DesignerBase_Get_classDesigner, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
 __ecereProp___ecereNameSpace__ecere__com__DesignerBase_classDesigner = __ecerePropM___ecereNameSpace__ecere__com__DesignerBase_classDesigner, __ecerePropM___ecereNameSpace__ecere__com__DesignerBase_classDesigner = (void *)0;
-__ecerePropM___ecereNameSpace__ecere__com__DesignerBase_objectClass = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "objectClass", "char *", __ecereProp___ecereNameSpace__ecere__com__DesignerBase_Set_objectClass, __ecereProp___ecereNameSpace__ecere__com__DesignerBase_Get_objectClass, 1);
+__ecerePropM___ecereNameSpace__ecere__com__DesignerBase_objectClass = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "objectClass", "const char *", __ecereProp___ecereNameSpace__ecere__com__DesignerBase_Set_objectClass, __ecereProp___ecereNameSpace__ecere__com__DesignerBase_Get_objectClass, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application)
 __ecereProp___ecereNameSpace__ecere__com__DesignerBase_objectClass = __ecerePropM___ecereNameSpace__ecere__com__DesignerBase_objectClass, __ecerePropM___ecereNameSpace__ecere__com__DesignerBase_objectClass = (void *)0;
 __ecerePropM___ecereNameSpace__ecere__com__DesignerBase_isDragging = __ecereNameSpace__ecere__com__eClass_AddProperty(class, "isDragging", "bool", __ecereProp___ecereNameSpace__ecere__com__DesignerBase_Set_isDragging, __ecereProp___ecereNameSpace__ecere__com__DesignerBase_Get_isDragging, 1);
@@ -6704,20 +6714,20 @@ __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "PostCreateObject",
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "DroppedObject", "void ::DroppedObject(ecere::com::Instance instance, ecere::com::ObjectInfo object, bool isClass, ecere::com::Instance _class)", 0, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "DestroyObject", "void ::DestroyObject(ecere::com::Instance object)", 0, 1);
 __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "FixProperty", "void ::FixProperty(ecere::com::Property prop, ecere::com::Instance object)", 0, 1);
-__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "CreateNew", "void ::CreateNew(EditBox editBox, Size clientSize, char * name, char * inherit)", 0, 1);
+__ecereNameSpace__ecere__com__eClass_AddVirtualMethod(class, "CreateNew", "void ::CreateNew(EditBox editBox, Size clientSize, const char * name, const char * inherit)", 0, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::SetActiveDesigner", "void ecere::com::SetActiveDesigner(ecere::com::DesignerBase designer)", __ecereNameSpace__ecere__com__SetActiveDesigner, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::GetActiveDesigner", "ecere::com::DesignerBase ecere::com::GetActiveDesigner(void)", __ecereNameSpace__ecere__com__GetActiveDesigner, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::com::eSystem_SetPoolingDisabled", "void ecere::com::eSystem_SetPoolingDisabled(bool disabled)", __ecereNameSpace__ecere__com__eSystem_SetPoolingDisabled, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::sys::LEAD_OFFSET", "0xD800 - (0x10000 >> 10)", module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::sys::SURROGATE_OFFSET", "0x10000 - (0xD800 << 10) - 0xDC00", module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UTF8Validate", "bool ecere::sys::UTF8Validate(char * source)", __ecereNameSpace__ecere__sys__UTF8Validate, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ISO8859_1toUTF8", "int ecere::sys::ISO8859_1toUTF8(char * source, char * dest, int max)", __ecereNameSpace__ecere__sys__ISO8859_1toUTF8, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UTF16toUTF8", "char * ecere::sys::UTF16toUTF8(uint16 * source)", __ecereNameSpace__ecere__sys__UTF16toUTF8, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UTF16toUTF8Buffer", "int ecere::sys::UTF16toUTF8Buffer(uint16 * source, byte * dest, int max)", __ecereNameSpace__ecere__sys__UTF16toUTF8Buffer, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UTF8GetChar", "ecere::com::unichar ecere::sys::UTF8GetChar(char * string, int * numBytes)", __ecereNameSpace__ecere__sys__UTF8GetChar, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UTF8toUTF16Buffer", "int ecere::sys::UTF8toUTF16Buffer(char * source, uint16 * dest, int max)", __ecereNameSpace__ecere__sys__UTF8toUTF16Buffer, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UTF32toUTF8Len", "int ecere::sys::UTF32toUTF8Len(ecere::com::unichar * source, int count, byte * dest, int max)", __ecereNameSpace__ecere__sys__UTF32toUTF8Len, module, 4);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UTF8toUTF16", "uint16 * ecere::sys::UTF8toUTF16(char * source, int * wordCount)", __ecereNameSpace__ecere__sys__UTF8toUTF16, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UTF8Validate", "bool ecere::sys::UTF8Validate(const char * source)", __ecereNameSpace__ecere__sys__UTF8Validate, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::ISO8859_1toUTF8", "int ecere::sys::ISO8859_1toUTF8(const char * source, char * dest, int max)", __ecereNameSpace__ecere__sys__ISO8859_1toUTF8, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UTF16toUTF8", "char * ecere::sys::UTF16toUTF8(const uint16 * source)", __ecereNameSpace__ecere__sys__UTF16toUTF8, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UTF16toUTF8Buffer", "int ecere::sys::UTF16toUTF8Buffer(const uint16 * source, char * dest, int max)", __ecereNameSpace__ecere__sys__UTF16toUTF8Buffer, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UTF8GetChar", "ecere::com::unichar ecere::sys::UTF8GetChar(const char * string, int * numBytes)", __ecereNameSpace__ecere__sys__UTF8GetChar, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UTF8toUTF16Buffer", "int ecere::sys::UTF8toUTF16Buffer(const char * source, uint16 * dest, int max)", __ecereNameSpace__ecere__sys__UTF8toUTF16Buffer, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UTF32toUTF8Len", "int ecere::sys::UTF32toUTF8Len(const ecere::com::unichar * source, int count, char * dest, int max)", __ecereNameSpace__ecere__sys__UTF32toUTF8Len, module, 4);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::UTF8toUTF16", "uint16 * ecere::sys::UTF8toUTF16(const char * source, int * wordCount)", __ecereNameSpace__ecere__sys__UTF8toUTF16, module, 4);
 }
 
 void __ecereUnregisterModule_instance(struct __ecereNameSpace__ecere__com__Instance * module)
index 6fbdac7..d41cc38 100644 (file)
@@ -71,7 +71,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -92,16 +92,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -113,7 +113,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -125,9 +125,9 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
 
@@ -135,12 +135,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 void (*  Set)(void * , int);
@@ -151,7 +151,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -159,7 +159,7 @@ unsigned int isWatchable;
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -184,12 +184,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int type;
@@ -205,7 +205,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -215,7 +215,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Instance * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -258,13 +258,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -328,7 +328,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_memory(struct __ecereNameSpace__ecere__com__Instance * module)
 {
index 9a4764a..6bee900 100644 (file)
@@ -81,7 +81,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -91,7 +91,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -118,7 +118,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -420,7 +420,7 @@ struct TemplateDatatype * dataType;
 int memberType;
 } __attribute__ ((gcc_struct));
 struct TemplateArgument * defaultArgument;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * baseType;
 } __attribute__ ((gcc_struct));
 
@@ -691,6 +691,7 @@ unsigned int dllExport : 1;
 unsigned int attrStdcall : 1;
 unsigned int declaredWithStruct : 1;
 unsigned int typedByReference : 1;
+unsigned int casted : 1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
@@ -699,7 +700,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -720,16 +721,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -741,7 +742,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -753,13 +754,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -784,12 +785,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -819,13 +820,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -1163,7 +1164,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -1179,13 +1180,13 @@ static struct __ecereNameSpace__ecere__com__NameSpace globalData;
 
 extern struct Identifier * GetDeclId(struct Declarator * decl);
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
 extern void ProcessExpressionType(struct Expression * exp);
 
 extern void ComputeExpression(struct Expression * exp);
 
-extern int strtol(char * , char * * , int base);
+extern int strtol(const char * , char * * , int base);
 
 extern void FreeExpression(struct Expression * exp);
 
@@ -1199,12 +1200,12 @@ struct __ecereNameSpace__ecere__com__BitMember
 {
 struct __ecereNameSpace__ecere__com__BitMember * prev;
 struct __ecereNameSpace__ecere__com__BitMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -1213,11 +1214,11 @@ int pos;
 uint64 mask;
 } __attribute__ ((gcc_struct));
 
-extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, int bitSize, int bitPos, int declMode);
+extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, int bitSize, int bitPos, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_AddDataMember(struct __ecereNameSpace__ecere__com__DataMember * member, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_AddDataMember(struct __ecereNameSpace__ecere__com__DataMember * member, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_New(int type, int declMode);
 
@@ -1231,29 +1232,29 @@ extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
 
 extern char *  StringFromSpecDecl(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt, int declMode);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassProperty;
 
 struct __ecereNameSpace__ecere__com__ClassProperty
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__ClassProperty * parent;
 struct __ecereNameSpace__ecere__com__ClassProperty * left;
 struct __ecereNameSpace__ecere__com__ClassProperty * right;
 int depth;
 void (*  Set)(struct __ecereNameSpace__ecere__com__Class *, long long);
 long long (*  Get)(struct __ecereNameSpace__ecere__com__Class *);
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 unsigned int constant;
 } __attribute__ ((gcc_struct));
 
-extern struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_AddClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt);
+extern struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_AddClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
 
 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
 
@@ -1542,13 +1543,13 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&parentMemberDefine->dat
 
 extern void FreeType(struct Type * type);
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
 extern char *  strcpy(char * , const char * );
 
@@ -1626,18 +1627,18 @@ struct __ecereNameSpace__ecere__com__ClassTemplateParameter
 {
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter * prev;
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter * next;
-char *  name;
+const char *  name;
 int type;
 union
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 int memberType;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg;
 void *  param;
 } __attribute__ ((gcc_struct));
 
-extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, int type, void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
+extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, int type, const void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
 
 static void ProcessClass(int classType, struct __ecereNameSpace__ecere__sys__OldList * definitions, struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs, struct __ecereNameSpace__ecere__sys__OldList * enumValues, unsigned int isWatchable, int declMode)
 {
@@ -1895,26 +1896,26 @@ extern void FreeExpContents(struct Expression * exp);
 
 extern char *  PrintUInt(uint64 result);
 
-extern struct Type * ProcessTypeString(char *  string, unsigned int staticMethod);
+extern struct Type * ProcessTypeString(const char *  string, unsigned int staticMethod);
 
-extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, char *  string, int value);
+extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, const char *  string, int value);
 
 extern void PrintExpression(struct Expression * exp, char *  string);
 
-extern int printf(char * , ...);
+extern int printf(const char * , ...);
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern int __ecereNameSpace__ecere__com__eEnum_AddValue(struct __ecereNameSpace__ecere__com__Class * _class, char *  string);
+extern int __ecereNameSpace__ecere__com__eEnum_AddValue(struct __ecereNameSpace__ecere__com__Class * _class, const char *  string);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Application;
 
 struct __ecereNameSpace__ecere__com__Application
 {
 int argc;
-char * *  argv;
+const char * *  argv;
 int exitCode;
 unsigned int isGUIApp;
 struct __ecereNameSpace__ecere__sys__OldList allModules;
@@ -2009,9 +2010,9 @@ __ecereNameSpace__ecere__com__eEnum_AddValue(regClass, e->id->string);
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  GetAST(void);
 
-extern struct Symbol * FindClass(char *  name);
+extern struct Symbol * FindClass(const char *  name);
 
-extern void SetCurrentNameSpace(char *  s);
+extern void SetCurrentNameSpace(const char *  s);
 
 extern void ComputeModuleClasses(struct __ecereNameSpace__ecere__com__Instance * module);
 
@@ -2185,7 +2186,7 @@ ProcessClassEnumValues(4, specifier->definitions, symbol, specifier->baseSpecs,
 }
 }
 
-int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, char *  format, ...);
+int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, const char *  format, ...);
 
 static void OutputDataMembers(struct ClassDefine * classDefine, struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__Instance * f)
 {
@@ -2290,7 +2291,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "         .\n");
 }
 }
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char *  fileName, int mode);
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(const char *  fileName, int mode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ImportedModule;
 
@@ -2306,7 +2307,7 @@ unsigned int dllOnly;
 int importAccess;
 } __attribute__ ((gcc_struct));
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
 extern void __ecereNameSpace__ecere__sys__ChangeCh(char *  string, char ch1, char ch2);
 
@@ -2322,7 +2323,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__DefinedExpression;
 
-extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_FindDefine(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_FindDefine(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
 extern void OutputExpression(struct Expression * exp, struct __ecereNameSpace__ecere__com__Instance * f);
 
@@ -2332,7 +2333,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
-static void OutputSymbols(char * fileName)
+static void OutputSymbols(const char * fileName)
 {
 struct __ecereNameSpace__ecere__com__Instance * f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 2);
 
@@ -2553,27 +2554,27 @@ extern size_t strlen(const char * );
 
 extern char *  PassArg(char *  output, const char *  input);
 
-extern char *  GetOutputFile(void);
+extern const char *  GetOutputFile(void);
 
-extern void SetOutputFile(char *  s);
+extern void SetOutputFile(const char *  s);
 
-extern char *  GetSourceFile(void);
+extern const char *  GetSourceFile(void);
 
-extern void SetSourceFile(char *  s);
+extern void SetSourceFile(const char *  s);
 
-extern void SetSymbolsDir(char *  s);
+extern void SetSymbolsDir(const char *  s);
 
-extern void SetDefaultNameSpace(char *  s);
+extern void SetDefaultNameSpace(const char *  s);
 
 extern void SetStrictNameSpaces(unsigned int b);
 
-extern void SetI18nModuleName(char *  s);
+extern void SetI18nModuleName(const char *  s);
 
-extern char *  GetSymbolsDir(void);
+extern const char *  GetSymbolsDir(void);
 
-extern char *  __ecereNameSpace__ecere__sys__PathCat(char *  string, char *  addedPath);
+extern char *  __ecereNameSpace__ecere__sys__PathCat(char *  string, const char *  addedPath);
 
-extern char *  __ecereNameSpace__ecere__sys__ChangeExtension(char *  string, char *  ext, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__ChangeExtension(const char *  string, const char *  ext, char *  output);
 
 extern void SetGlobalData(struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace);
 
@@ -2603,13 +2604,13 @@ extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__
 
 extern void SetPrivateModule(struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern unsigned int __ecereNameSpace__ecere__sys__FileExists(char *  fileName);
+extern unsigned int __ecereNameSpace__ecere__sys__FileExists(const char *  fileName);
 
-extern unsigned int __ecereNameSpace__ecere__sys__DeleteFile(char *  fileName);
+extern unsigned int __ecereNameSpace__ecere__sys__DeleteFile(const char *  fileName);
 
-extern int snprintf(char * , size_t, char * , ...);
+extern int snprintf(char * , size_t, const char * , ...);
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpen(unsigned int mode, char *  commandLine);
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpen(unsigned int mode, const char *  commandLine);
 
 extern void SetFileInput(struct __ecereNameSpace__ecere__com__Instance * file);
 
@@ -2641,9 +2642,9 @@ extern void FreeGlobalData(struct __ecereNameSpace__ecere__com__NameSpace * glob
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__TempFile;
 
-char *  __ecereProp___ecereNameSpace__ecere__com__Platform_Get_char__PTR_(int this);
+const char *  __ecereProp___ecereNameSpace__ecere__com__Platform_Get_char__PTR_(int this);
 
-int __ecereProp___ecereNameSpace__ecere__com__Platform_Set_char__PTR_(char *  value);
+int __ecereProp___ecereNameSpace__ecere__com__Platform_Set_char__PTR_(const char *  value);
 
 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__Platform_char__PTR_;
 
@@ -2674,7 +2675,7 @@ int targetBits = GetHostBits();
 
 for(c = 1; c < ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argc; c++)
 {
-char * arg = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argv[c];
+const char * arg = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argv[c];
 
 if(arg[0] == '-')
 {
@@ -2742,7 +2743,7 @@ else if(!strcmp(arg + 1, "isystem") || !strcmp(arg + 1, "isysroot"))
 if(c + 1 < ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argc)
 {
 char * buf;
-char * arg1 = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argv[++c];
+const char * arg1 = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argv[++c];
 int size = cppOptionsLen + 1 + strlen(arg) * 2 + strlen(arg1) * 2 + 1;
 
 cppOptions = __ecereNameSpace__ecere__com__eSystem_Renew(cppOptions, sizeof(char) * (size));
@@ -2888,7 +2889,7 @@ struct Symbol * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(_
 __ecereInstance1->string = __ecereNameSpace__ecere__sys__CopyString("size_t"), __ecereInstance1->type = ProcessTypeString("uintsize", 0x0), __ecereInstance1;
 }));
 {
-char * outputFilePath = GetOutputFile();
+const char * outputFilePath = GetOutputFile();
 
 if(__ecereNameSpace__ecere__sys__FileExists(outputFilePath))
 __ecereNameSpace__ecere__sys__DeleteFile(outputFilePath);
@@ -2919,7 +2920,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = cppOutput
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__DualPipe->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Read])(cppOutput, junk, 1, 4096);
 
-((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
+((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__TempFile->_vTbl;
@@ -2981,7 +2982,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -2994,7 +2995,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_ecp(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -3049,7 +3050,7 @@ void __ecereUnregisterModule_ecp(struct __ecereNameSpace__ecere__com__Instance *
 
 }
 
-int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char *  a, char *  b);
+int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char *  a, const char *  b);
 
 void __ecereCreateModuleInstances_ecp()
 {
index 39f4bb4..3162d50 100644 (file)
@@ -80,7 +80,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -90,7 +90,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -117,7 +117,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -259,7 +259,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -280,16 +280,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -301,7 +301,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -313,13 +313,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -344,12 +344,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -379,13 +379,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -554,15 +554,15 @@ void __ecereDestroyModuleInstances_ecp();
 
 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com____ecere_COM_Initialize(unsigned int guiApp, int argc, char *  argv[]);
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStatic(struct __ecereNameSpace__ecere__com__Instance * fromModule, char *  name, int importAccess, unsigned int (*  Load)(struct __ecereNameSpace__ecere__com__Instance * module), unsigned int (*  Unload)(struct __ecereNameSpace__ecere__com__Instance * module));
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStatic(struct __ecereNameSpace__ecere__com__Instance * fromModule, const char *  name, int importAccess, unsigned int (*  Load)(struct __ecereNameSpace__ecere__com__Instance * module), unsigned int (*  Unload)(struct __ecereNameSpace__ecere__com__Instance * module));
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern void __ecereNameSpace__ecere__LoadTranslatedStrings(char * moduleName, char *  name);
+extern void __ecereNameSpace__ecere__LoadTranslatedStrings(const char * moduleName, const char *  name);
 
 extern void __ecereNameSpace__ecere__com__eInstance_Evolve(struct __ecereNameSpace__ecere__com__Instance **  instancePtr, struct __ecereNameSpace__ecere__com__Class * _class);
 
@@ -570,7 +570,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -593,7 +593,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -602,14 +602,14 @@ struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 } __attribute__ ((gcc_struct));
 
-extern void __ecereNameSpace__ecere__UnloadTranslatedStrings(char * name);
+extern void __ecereNameSpace__ecere__UnloadTranslatedStrings(const char * name);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Application;
 
 struct __ecereNameSpace__ecere__com__Application
 {
 int argc;
-char * *  argv;
+const char * *  argv;
 int exitCode;
 unsigned int isGUIApp;
 struct __ecereNameSpace__ecere__sys__OldList allModules;
index ea13002..4c576ae 100644 (file)
@@ -80,7 +80,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -90,7 +90,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -117,7 +117,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -391,6 +391,7 @@ unsigned int dllExport : 1;
 unsigned int attrStdcall : 1;
 unsigned int declaredWithStruct : 1;
 unsigned int typedByReference : 1;
+unsigned int casted : 1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
@@ -399,7 +400,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -420,16 +421,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -441,7 +442,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -453,13 +454,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -484,12 +485,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -519,13 +520,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -576,7 +577,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -600,9 +601,9 @@ static char mainModuleName[797];
 
 static char projectName[797];
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char *  fileName, int mode);
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(const char *  fileName, int mode);
 
-extern char *  __ecereNameSpace__ecere__sys__TrimLSpaces(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__TrimLSpaces(const char *  string, char *  output);
 
 extern int strcmp(const char * , const char * );
 
@@ -610,7 +611,7 @@ extern struct ModuleImport * GetMainModule(void);
 
 extern void SetMainModule(struct ModuleImport * moduleImport);
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_MethodImport;
 
@@ -649,11 +650,11 @@ unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(struct __e
 
 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__OldList_AddName(struct __ecereNameSpace__ecere__sys__OldList * this, void *  item);
 
-void *  __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindName(struct __ecereNameSpace__ecere__sys__OldList * this, char *  name, unsigned int warn);
+void *  __ecereMethod___ecereNameSpace__ecere__sys__OldList_FindName(struct __ecereNameSpace__ecere__sys__OldList * this, const char *  name, unsigned int warn);
 
 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
-static void LoadImports(char * fileName)
+static void LoadImports(const char * fileName)
 {
 struct __ecereNameSpace__ecere__com__Instance * f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 1);
 
@@ -879,7 +880,7 @@ unsigned int globalInstance;
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass_ModuleInfo;
 
-extern char *  __ecereNameSpace__ecere__sys__GetLastDirectory(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__GetLastDirectory(const char *  string, char *  output);
 
 extern unsigned int __ecereNameSpace__ecere__sys__StripExtension(char *  string);
 
@@ -905,17 +906,17 @@ static void BindDCOMServer();
 
 static void BindDCOMClient();
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
-extern void FullClassNameCat(char *  output, char *  className, unsigned int includeTemplateParams);
+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, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
 extern struct Context * SetupTemplatesContext(struct __ecereNameSpace__ecere__com__Class * _class);
 
-extern struct Type * ProcessTypeString(char *  string, unsigned int staticMethod);
+extern struct Type * ProcessTypeString(const char *  string, unsigned int staticMethod);
 
 extern void FinishTemplatesContext(struct Context * context);
 
@@ -925,18 +926,18 @@ struct __ecereNameSpace__ecere__com__GlobalFunction
 {
 struct __ecereNameSpace__ecere__com__GlobalFunction * prev;
 struct __ecereNameSpace__ecere__com__GlobalFunction * next;
-char *  name;
+const char *  name;
 int (*  function)();
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 void *  symbol;
 } __attribute__ ((gcc_struct));
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_FindFunction(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_FindFunction(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
-extern int sprintf(char * , char * , ...);
+extern int sprintf(char * , const char * , ...);
 
 extern void __ecereNameSpace__ecere__com__eInstance_Delete(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -944,7 +945,7 @@ int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts;
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
 
-int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, char *  format, ...);
+int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, const char *  format, ...);
 
 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Seek;
 
@@ -954,7 +955,7 @@ int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Read;
 
 int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Write;
 
-static void WriteMain(char * fileName)
+static void WriteMain(const char * fileName)
 {
 struct __ecereNameSpace__ecere__com__Instance * f = __ecereNameSpace__ecere__sys__FileOpen(fileName, 2);
 
@@ -1136,7 +1137,7 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 
 if(!read)
 break;
-((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
+((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = f;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
@@ -1615,7 +1616,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__BTNamedLink
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__BTNamedLink * parent;
 struct __ecereNameSpace__ecere__com__BTNamedLink * left;
 struct __ecereNameSpace__ecere__com__BTNamedLink * right;
@@ -1670,7 +1671,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -1718,9 +1719,9 @@ struct __ecereNameSpace__ecere__sys__OldLink * next;
 void *  data;
 } __attribute__ ((gcc_struct));
 
-extern void DeclareClass(struct Symbol * classSym, char *  className);
+extern void DeclareClass(struct Symbol * classSym, const char *  className);
 
-extern struct Symbol * FindClass(char *  name);
+extern struct Symbol * FindClass(const char *  name);
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  MkList(void);
 
@@ -1728,11 +1729,11 @@ extern void PrintTypeNoConst(struct Type * type, char *  string, unsigned int pr
 
 extern void PrintType(struct Type * type, char *  string, unsigned int printName, unsigned int fullName);
 
-extern struct Declarator * SpecDeclFromString(char *  string, struct __ecereNameSpace__ecere__sys__OldList *  specs, struct Declarator * baseDecl);
+extern struct Declarator * SpecDeclFromString(const char *  string, struct __ecereNameSpace__ecere__sys__OldList *  specs, struct Declarator * baseDecl);
 
 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
 
@@ -1740,7 +1741,7 @@ extern void OutputTypeName(struct TypeName * type, struct __ecereNameSpace__ecer
 
 extern char *  strcat(char * , const char * );
 
-extern void DeclareMethod(struct __ecereNameSpace__ecere__com__Method * method, char *  name);
+extern void DeclareMethod(struct __ecereNameSpace__ecere__com__Method * method, const char *  name);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__TempFile;
 
@@ -2093,7 +2094,7 @@ static void BindDCOMServer()
 unsigned int mutexDeclared = 0x0;
 struct __ecereNameSpace__ecere__com__Class * _class;
 
-for(_class = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)privateModule + structSize_Instance)))->classes.first; _class; _class = _class->next)
+for(_class = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)privateModule + 24)))->classes.first; _class; _class = _class->next)
 {
 if(_class->isRemote == 3)
 break;
@@ -2424,13 +2425,13 @@ extern int __ecereNameSpace__ecere__com__GetRuntimePlatform(void);
 
 extern int GetHostBits(void);
 
-extern void SetSymbolsDir(char *  s);
+extern void SetSymbolsDir(const char *  s);
 
-extern int printf(char * , ...);
+extern int printf(const char * , ...);
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
-extern char *  __ecereNameSpace__ecere__sys__GetExtension(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__GetExtension(const char *  string, char *  output);
 
 extern void SetDefines(struct __ecereNameSpace__ecere__sys__OldList *  list);
 
@@ -2456,7 +2457,7 @@ extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__
 
 extern void SetPrivateModule(struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern char *  GetSymbolsDir(void);
+extern const char *  GetSymbolsDir(void);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IteratorPointer;
 
@@ -2474,11 +2475,11 @@ extern int __ecereNameSpace__ecere__sys__Tokenize(char *  string, int maxTokens,
 
 extern int strcasecmp(const char * , const char * );
 
-extern unsigned int LoadSymbols(char *  fileName, int importType, unsigned int loadDllOnly);
+extern unsigned int LoadSymbols(const char *  fileName, int importType, unsigned int loadDllOnly);
 
 extern void CheckDataRedefinitions(void);
 
-extern char *  __ecereNameSpace__ecere__sys__ChangeExtension(char *  string, char *  ext, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__ChangeExtension(const char *  string, const char *  ext, char *  output);
 
 extern char *  strstr(const char * , const char * );
 
@@ -2502,7 +2503,7 @@ struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
 
 extern void ComputeModuleClasses(struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern char *  __ecereNameSpace__ecere__sys__PathCat(char *  string, char *  addedPath);
+extern char *  __ecereNameSpace__ecere__sys__PathCat(char *  string, const char *  addedPath);
 
 extern void FreeContext(struct Context * context);
 
@@ -2531,7 +2532,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 struct __ecereNameSpace__ecere__com__Application
 {
 int argc;
-char * *  argv;
+const char * *  argv;
 int exitCode;
 unsigned int isGUIApp;
 struct __ecereNameSpace__ecere__sys__OldList allModules;
@@ -2539,9 +2540,9 @@ char *  parsedCommand;
 struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
 } __attribute__ ((gcc_struct));
 
-char *  __ecereProp___ecereNameSpace__ecere__com__Platform_Get_char__PTR_(int this);
+const char *  __ecereProp___ecereNameSpace__ecere__com__Platform_Get_char__PTR_(int this);
 
-int __ecereProp___ecereNameSpace__ecere__com__Platform_Set_char__PTR_(char *  value);
+int __ecereProp___ecereNameSpace__ecere__com__Platform_Set_char__PTR_(const char *  value);
 
 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__Platform_char__PTR_;
 
@@ -2557,7 +2558,7 @@ int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Add;
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__List;
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 index, unsigned int create);
+unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 index, unsigned int create);
 
 uint64 __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(struct __ecereNameSpace__ecere__com__Iterator * this);
 
@@ -2579,7 +2580,7 @@ struct __ecereNameSpace__ecere__com__AVLNode * root;
 int count;
 } __attribute__ ((gcc_struct));
 
-uint64 __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_key(struct __ecereNameSpace__ecere__com__MapIterator * this);
+const uint64 __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_key(struct __ecereNameSpace__ecere__com__MapIterator * this);
 
 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__MapIterator_key;
 
@@ -2591,7 +2592,7 @@ void __ecereMethod_SymbolgenApp_Main(struct __ecereNameSpace__ecere__com__Instan
 {
 int c;
 unsigned int valid = 0x1;
-char * output = (((void *)0));
+const char * output = (((void *)0));
 
 outputPot = 0x0;
 disabledPooling = 0x0;
@@ -2599,7 +2600,7 @@ targetPlatform = __ecereNameSpace__ecere__com__GetRuntimePlatform();
 targetBits = GetHostBits();
 for(c = 1; c < ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argc; c++)
 {
-char * arg = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argv[c];
+const char * arg = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argv[c];
 
 if(arg[0] == '-')
 {
@@ -2693,13 +2694,13 @@ mainModule = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ModuleImpo
 SetMainModule(mainModule);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&_imports, mainModule);
 {
-char * symbolsDir = GetSymbolsDir();
+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);
 
 for(c = 1; c < ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argc; c++)
 {
-char * file = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argv[c];
+const char * file = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argv[c];
 struct __ecereNameSpace__ecere__com__Instance * f = (((void *)0));
 char line[16384];
 int count = 0;
@@ -2715,7 +2716,7 @@ f = __ecereNameSpace__ecere__sys__FileOpen(&file[1], 1);
 else
 {
 count = 1;
-tokens[0] = file;
+tokens[0] = (char *)file;
 }
 while(count || f)
 {
@@ -2742,7 +2743,7 @@ count = 0;
 }
 for(c = 1; c < ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argc; c++)
 {
-char * file = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argv[c];
+const char * file = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argv[c];
 
 if(file[0] == '-')
 {
@@ -2752,7 +2753,7 @@ c++;
 }
 for(c = 1; c < ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argc; c++)
 {
-char * file = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argv[c];
+const char * file = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)this + structSize_Module)))->argv[c];
 struct __ecereNameSpace__ecere__com__Instance * f = (((void *)0));
 char line[16384];
 int count = 0;
@@ -2768,7 +2769,7 @@ f = __ecereNameSpace__ecere__sys__FileOpen(&file[1], 1);
 else
 {
 count = 1;
-tokens[0] = file;
+tokens[0] = (char *)file;
 }
 while(count || f)
 {
@@ -2875,7 +2876,7 @@ msgstr[len - 1] = (unsigned char)0;
 }
 if(msgid && msgstr)
 {
-struct ContextStringPair pair = 
+struct ContextStringPair pair =
 {
 msgid, msgctxt
 };
@@ -2886,7 +2887,7 @@ if(!__ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(&it, (&pair), 0x0
 msgid = (((void *)0));
 msgctxt = (((void *)0));
 __extension__ ({
-struct __ecereNameSpace__ecere__com__Iterator __internalIterator = 
+struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
 {
 intlStrings, 0
 };
@@ -2899,7 +2900,7 @@ comments = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameS
 else
 {
 {
-struct __ecereNameSpace__ecere__com__Iterator s = 
+struct __ecereNameSpace__ecere__com__Iterator s =
 {
 (comments), 0
 };
@@ -3023,7 +3024,7 @@ struct ContextStringPair pair = (*(struct ContextStringPair *)__ecereProp___ecer
 struct __ecereNameSpace__ecere__com__Instance * comments = ((struct __ecereNameSpace__ecere__com__Instance *)__ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(&i));
 
 {
-struct __ecereNameSpace__ecere__com__Iterator s = 
+struct __ecereNameSpace__ecere__com__Iterator s =
 {
 (comments), 0
 };
@@ -3115,11 +3116,11 @@ FreeGlobalData(&globalData);
 SetSymbolsDir((((void *)0)));
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
 void __ecereRegisterModule_ecs(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -3139,7 +3140,7 @@ void __ecereUnregisterModule_ecs(struct __ecereNameSpace__ecere__com__Instance *
 
 }
 
-int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char *  a, char *  b);
+int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char *  a, const char *  b);
 
 void __ecereCreateModuleInstances_ecs()
 {
index 9b8aba3..9d91f6f 100644 (file)
@@ -80,7 +80,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -90,7 +90,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -117,7 +117,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -259,7 +259,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -280,16 +280,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -301,7 +301,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -313,13 +313,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -344,12 +344,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -379,13 +379,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -564,15 +564,15 @@ void __ecereDestroyModuleInstances_ecs();
 
 extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com____ecere_COM_Initialize(unsigned int guiApp, int argc, char *  argv[]);
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStatic(struct __ecereNameSpace__ecere__com__Instance * fromModule, char *  name, int importAccess, unsigned int (*  Load)(struct __ecereNameSpace__ecere__com__Instance * module), unsigned int (*  Unload)(struct __ecereNameSpace__ecere__com__Instance * module));
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStatic(struct __ecereNameSpace__ecere__com__Instance * fromModule, const char *  name, int importAccess, unsigned int (*  Load)(struct __ecereNameSpace__ecere__com__Instance * module), unsigned int (*  Unload)(struct __ecereNameSpace__ecere__com__Instance * module));
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern void __ecereNameSpace__ecere__LoadTranslatedStrings(char * moduleName, char *  name);
+extern void __ecereNameSpace__ecere__LoadTranslatedStrings(const char * moduleName, const char *  name);
 
 extern void __ecereNameSpace__ecere__com__eInstance_Evolve(struct __ecereNameSpace__ecere__com__Instance **  instancePtr, struct __ecereNameSpace__ecere__com__Class * _class);
 
@@ -580,7 +580,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -603,7 +603,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -612,14 +612,14 @@ struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
 struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 } __attribute__ ((gcc_struct));
 
-extern void __ecereNameSpace__ecere__UnloadTranslatedStrings(char * name);
+extern void __ecereNameSpace__ecere__UnloadTranslatedStrings(const char * name);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Application;
 
 struct __ecereNameSpace__ecere__com__Application
 {
 int argc;
-char * *  argv;
+const char * *  argv;
 int exitCode;
 unsigned int isGUIApp;
 struct __ecereNameSpace__ecere__sys__OldList allModules;
index e01066d..9802030 100644 (file)
@@ -81,7 +81,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -91,7 +91,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -102,12 +102,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -118,7 +118,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -537,7 +537,7 @@ struct TemplateDatatype * dataType;
 int memberType;
 } __attribute__ ((gcc_struct));
 struct TemplateArgument * defaultArgument;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * baseType;
 } __attribute__ ((gcc_struct));
 
@@ -834,6 +834,7 @@ unsigned int dllExport : 1;
 unsigned int attrStdcall : 1;
 unsigned int declaredWithStruct : 1;
 unsigned int typedByReference : 1;
+unsigned int casted : 1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
@@ -842,7 +843,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -863,16 +864,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -884,7 +885,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -896,13 +897,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -927,12 +928,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -962,13 +963,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -1222,13 +1223,13 @@ extern struct Location yylloc;
 
 extern char * yytext;
 
-char * defaultNameSpace;
+const char * defaultNameSpace;
 
 int defaultNameSpaceLen;
 
 extern size_t strlen(const char * );
 
-void SetDefaultNameSpace(char * s)
+void SetDefaultNameSpace(const char * s)
 {
 defaultNameSpace = s;
 defaultNameSpaceLen = s ? strlen(s) : 0;
@@ -1257,11 +1258,11 @@ void SetDefaultDeclMode(int accessMode)
 defaultDeclMode = accessMode;
 }
 
-char * currentNameSpace;
+const char * currentNameSpace;
 
 int currentNameSpaceLen;
 
-void SetCurrentNameSpace(char * s)
+void SetCurrentNameSpace(const char * s)
 {
 currentNameSpace = s;
 currentNameSpaceLen = s ? strlen(s) : 0;
@@ -1300,9 +1301,9 @@ extern void *  memcpy(void * , const void * , size_t size);
 
 extern int strcmp(const char * , const char * );
 
-struct Specifier * MkSpecifierName(char *  name);
+struct Specifier * MkSpecifierName(const char *  name);
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplatedType;
 
@@ -1316,17 +1317,17 @@ int depth;
 struct TemplateParameter * param;
 } __attribute__ ((gcc_struct));
 
-struct TemplatedType * FindTemplateTypeParameter(struct Context * ctx, char *  name);
+struct TemplatedType * FindTemplateTypeParameter(struct Context * ctx, const char *  name);
 
 extern struct Context * curContext;
 
-struct Symbol * FindClass(char *  name);
+struct Symbol * FindClass(const char *  name);
 
-struct Specifier * _MkSpecifierName(char *  name, struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
+struct Specifier * _MkSpecifierName(const char *  name, struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
 
 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
 
-struct Identifier * MkIdentifier(char * string)
+struct Identifier * MkIdentifier(const char * string)
 {
 struct Identifier * id = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Identifier);
 int c;
@@ -1334,7 +1335,7 @@ int c;
 id->_class = (((void *)0));
 if(string)
 {
-char * namePart;
+const char * namePart;
 unsigned int gotColon = 0x0;
 
 for(c = strlen(string) - 1; c >= 0; c--)
@@ -1510,7 +1511,7 @@ struct Expression * MkExpIdentifier(struct Identifier * id)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 0, __ecereInstance1->identifier = id, __ecereInstance1;
+__ecereInstance1->type = 0, __ecereInstance1->identifier = id, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1521,21 +1522,21 @@ struct Expression * exp = (exp = __ecereNameSpace__ecere__com__eInstance_New(__e
 return exp;
 }
 
-struct Expression * MkExpConstant(char * string)
+struct Expression * MkExpConstant(const char * string)
 {
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 2, __ecereInstance1->constant = __ecereNameSpace__ecere__sys__CopyString(string), __ecereInstance1;
+__ecereInstance1->type = 2, __ecereInstance1->constant = __ecereNameSpace__ecere__sys__CopyString(string), __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
-struct Expression * MkExpString(char * string)
+struct Expression * MkExpString(const char * string)
 {
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 3, __ecereInstance1->string = __ecereNameSpace__ecere__sys__CopyString(string), __ecereInstance1;
+__ecereInstance1->type = 3, __ecereInstance1->string = __ecereNameSpace__ecere__sys__CopyString(string), __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1567,11 +1568,11 @@ struct __ecereNameSpace__ecere__com__Instance * intlStrings;
 
 extern unsigned int inCompiler;
 
-extern char *  QMkString(char *  source);
+extern char *  QMkString(const char *  source);
 
-extern char *  i18nModuleName;
+extern const char *  i18nModuleName;
 
-extern struct Expression * QMkExpId(char *  id);
+extern struct Expression * QMkExpId(const char *  id);
 
 struct Expression * MkExpCall(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * arguments);
 
@@ -1587,7 +1588,7 @@ struct __ecereNameSpace__ecere__com__Instance * container;
 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
 } __attribute__ ((gcc_struct));
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 index, unsigned int create);
+unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 index, unsigned int create);
 
 uint64 __ecereProp___ecereNameSpace__ecere__com__Iterator_Get_data(struct __ecereNameSpace__ecere__com__Iterator * this);
 
@@ -1599,7 +1600,7 @@ int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Add;
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__List;
 
-struct Expression * MkExpIntlString(char * string, char * context)
+struct Expression * MkExpIntlString(const char * string, const char * context)
 {
 if(inCompiler)
 {
@@ -1726,7 +1727,7 @@ struct Expression * MkExpCall(struct Expression * expression, struct __ecereName
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 7, __ecereInstance1->call.exp = expression, __ecereInstance1->call.arguments = arguments, __ecereInstance1;
+__ecereInstance1->type = 7, __ecereInstance1->call.exp = expression, __ecereInstance1->call.arguments = arguments, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1735,7 +1736,7 @@ struct Expression * MkExpMember(struct Expression * expression, struct Identifie
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 8, __ecereInstance1->member.exp = expression, __ecereInstance1->member.member = member, __ecereInstance1;
+__ecereInstance1->type = 8, __ecereInstance1->member.exp = expression, __ecereInstance1->member.member = member, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1744,7 +1745,7 @@ struct Expression * MkExpPointer(struct Expression * expression, struct Identifi
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 9, __ecereInstance1->member.exp = expression, __ecereInstance1->member.member = member, __ecereInstance1;
+__ecereInstance1->type = 9, __ecereInstance1->member.exp = expression, __ecereInstance1->member.member = member, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1753,7 +1754,7 @@ struct Expression * MkExpTypeSize(struct TypeName * typeName)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 10, __ecereInstance1->typeName = typeName, __ecereInstance1;
+__ecereInstance1->type = 10, __ecereInstance1->typeName = typeName, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1762,7 +1763,7 @@ struct Expression * MkExpTypeAlign(struct TypeName * typeName)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 36, __ecereInstance1->typeName = typeName, __ecereInstance1;
+__ecereInstance1->type = 36, __ecereInstance1->typeName = typeName, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1771,7 +1772,7 @@ struct Expression * MkExpClassSize(struct Specifier * _class)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 15, __ecereInstance1->_class = _class, __ecereInstance1;
+__ecereInstance1->type = 15, __ecereInstance1->_class = _class, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1780,7 +1781,7 @@ struct Expression * MkExpCast(struct TypeName * typeName, struct Expression * ex
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 11, __ecereInstance1->cast.typeName = typeName, __ecereInstance1->cast.exp = expression, __ecereInstance1;
+__ecereInstance1->type = 11, __ecereInstance1->cast.typeName = typeName, __ecereInstance1->cast.exp = expression, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1789,7 +1790,7 @@ struct Expression * MkExpCondition(struct Expression * cond, struct __ecereNameS
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 12, __ecereInstance1->cond.cond = cond, __ecereInstance1->cond.exp = expressions, __ecereInstance1->cond.elseExp = elseExp, __ecereInstance1;
+__ecereInstance1->type = 12, __ecereInstance1->cond.cond = cond, __ecereInstance1->cond.exp = expressions, __ecereInstance1->cond.elseExp = elseExp, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1798,7 +1799,7 @@ struct Expression * MkExpRenew(struct Expression * memExp, struct TypeName * typ
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 14, __ecereInstance1->_renew.exp = memExp, __ecereInstance1->_renew.typeName = type, __ecereInstance1->_renew.size = size, __ecereInstance1;
+__ecereInstance1->type = 14, __ecereInstance1->_renew.exp = memExp, __ecereInstance1->_renew.typeName = type, __ecereInstance1->_renew.size = size, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1807,7 +1808,7 @@ struct Expression * MkExpRenew0(struct Expression * memExp, struct TypeName * ty
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 27, __ecereInstance1->_renew.exp = memExp, __ecereInstance1->_renew.typeName = type, __ecereInstance1->_renew.size = size, __ecereInstance1;
+__ecereInstance1->type = 27, __ecereInstance1->_renew.exp = memExp, __ecereInstance1->_renew.typeName = type, __ecereInstance1->_renew.size = size, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1816,7 +1817,7 @@ struct Expression * MkExpNew(struct TypeName * type, struct Expression * size)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 13, __ecereInstance1->_new.typeName = type, __ecereInstance1->_new.size = size, __ecereInstance1;
+__ecereInstance1->type = 13, __ecereInstance1->_new.typeName = type, __ecereInstance1->_new.size = size, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1825,7 +1826,7 @@ struct Expression * MkExpNew0(struct TypeName * type, struct Expression * size)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 26, __ecereInstance1->_new.typeName = type, __ecereInstance1->_new.size = size, __ecereInstance1;
+__ecereInstance1->type = 26, __ecereInstance1->_new.typeName = type, __ecereInstance1->_new.size = size, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1834,7 +1835,7 @@ struct Expression * MkExpVaArg(struct Expression * exp, struct TypeName * type)
 return __extension__ ({
 struct Expression * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
 
-__ecereInstance1->type = 34, __ecereInstance1->vaArg.exp = exp, __ecereInstance1->vaArg.typeName = type, __ecereInstance1;
+__ecereInstance1->type = 34, __ecereInstance1->vaArg.exp = exp, __ecereInstance1->vaArg.typeName = type, __ecereInstance1->loc = yylloc, __ecereInstance1;
 });
 }
 
@@ -1931,7 +1932,7 @@ FreeType(type);
 return spec;
 }
 
-struct Symbol * FindType(struct Context * ctx, char *  name);
+struct Symbol * FindType(struct Context * ctx, const char *  name);
 
 struct Specifier * MkStructOrUnion(int type, struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * definitions)
 {
@@ -2144,7 +2145,7 @@ __ecereInstance1->declarator = declarator, __ecereInstance1->initializer = initi
 });
 }
 
-int CheckType(char *  text);
+int CheckType(const char *  text);
 
 extern void FreeDeclarator(struct Declarator * decl);
 
@@ -2187,7 +2188,7 @@ __ecereInstance1->qualifiers = qualifiers, __ecereInstance1->declarator = declar
 });
 }
 
-extern char *  __ecereNameSpace__ecere__sys__RSearchString(char *  buffer, char *  subStr, int maxLen, unsigned int matchCase, unsigned int matchWord);
+extern char *  __ecereNameSpace__ecere__sys__RSearchString(const char *  buffer, const char *  subStr, int maxLen, unsigned int matchCase, unsigned int matchWord);
 
 extern void FreeSpecifier(struct Specifier * spec);
 
@@ -2206,7 +2207,7 @@ for(spec = qualifiers->first; spec; spec = next)
 next = spec->next;
 if(gotType && !declarator && ((spec->type == 1 && spec->name) || (spec->type == 0 && gotFullType)))
 {
-char * s = (((void *)0));
+const char * s = (((void *)0));
 
 if(spec->type == 1)
 {
@@ -2325,17 +2326,17 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__DefinedExpression;
 
-extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_FindDefine(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_FindDefine(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
 extern struct __ecereNameSpace__ecere__com__Instance * privateModule;
 
-extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(char *  name, char *  value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(const char *  name, const char *  value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 extern unsigned int buildingECERECOMModule;
 
-extern void Compiler_Warning(char *  format, ...);
+extern void Compiler_Warning(const char *  format, ...);
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
 struct Declaration * MkDeclarationDefine(struct Identifier * id, struct Expression * exp)
 {
@@ -2377,9 +2378,9 @@ Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "Redefinitio
 return decl;
 }
 
-extern int sprintf(char * , char * , ...);
+extern int sprintf(char * , const char * , ...);
 
-struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char *  key);
+struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char *  key);
 
 struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators)
 {
@@ -2419,11 +2420,11 @@ spec = specifiers->last;
 {
 if((spec->type == 1 && spec->name) || spec->type == 0)
 {
-char * s = (((void *)0));
+const char * s = (((void *)0));
 
 if(spec->type == 1)
 {
-char * colon = __ecereNameSpace__ecere__sys__RSearchString(spec->name, "::", strlen(spec->name), 0x1, 0x0);
+const char * colon = __ecereNameSpace__ecere__sys__RSearchString(spec->name, "::", strlen(spec->name), 0x1, 0x0);
 
 s = colon ? colon + 2 : spec->name;
 }
@@ -2456,7 +2457,7 @@ else
 {
 if(gotType && initDeclarators == (((void *)0)) && !spec->next && ((spec->type == 1 && spec->name) || spec->type == 0))
 {
-char * s = (((void *)0));
+const char * s = (((void *)0));
 
 if(spec->type == 1)
 {
@@ -2597,11 +2598,11 @@ for(spec = specifiers->first; spec; spec = next)
 next = spec->next;
 if(gotType && declarators == (((void *)0)) && ((spec->type == 1 && spec->name) || spec->type == 0))
 {
-char * s = (((void *)0));
+const char * s = (((void *)0));
 
 if(spec->type == 1)
 {
-char * colon = __ecereNameSpace__ecere__sys__RSearchString(spec->name, "::", strlen(spec->name), 0x1, 0x0);
+const char * colon = __ecereNameSpace__ecere__sys__RSearchString(spec->name, "::", strlen(spec->name), 0x1, 0x0);
 
 s = colon ? colon + 2 : spec->name;
 }
@@ -2771,7 +2772,7 @@ return _MkFunction(specifiers, declarator, declarationList, 0x1);
 
 extern struct Declarator * GetFuncDecl(struct Declarator * decl);
 
-extern void Compiler_Error(char *  format, ...);
+extern void Compiler_Error(const char *  format, ...);
 
 struct FunctionDefinition * _MkFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * declarationList, unsigned int errorOnOmit)
 {
@@ -3011,7 +3012,7 @@ extern struct __ecereNameSpace__ecere__com__Class * thisClass;
 
 extern char *  StringFromSpecDecl(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl);
 
-struct Symbol * _DeclClass(int symbolID, char *  name);
+struct Symbol * _DeclClass(int symbolID, const char *  name);
 
 extern void FreeList(struct __ecereNameSpace__ecere__sys__OldList * list, void (*  FreeFunction)(void * ));
 
@@ -3115,7 +3116,7 @@ FreeList(templateArgs, FreeTemplateArgument);
 
 extern int strncmp(const char * , const char * , size_t n);
 
-struct Specifier * _MkSpecifierName(char * name, struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * templateArgs)
+struct Specifier * _MkSpecifierName(const char * name, struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * templateArgs)
 {
 struct Specifier * spec = (spec = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Specifier), spec->type = 1, spec);
 
@@ -3158,12 +3159,12 @@ SetClassTemplateArgs(spec, templateArgs);
 return spec;
 }
 
-struct Specifier * MkSpecifierName(char * name)
+struct Specifier * MkSpecifierName(const char * name)
 {
 return _MkSpecifierName(name, (((void *)0)), (((void *)0)));
 }
 
-struct Specifier * MkSpecifierNameArgs(char * name, struct __ecereNameSpace__ecere__sys__OldList * templateArgs)
+struct Specifier * MkSpecifierNameArgs(const char * name, struct __ecereNameSpace__ecere__sys__OldList * templateArgs)
 {
 return _MkSpecifierName(name, (((void *)0)), templateArgs);
 }
@@ -3387,7 +3388,7 @@ __ecereInstance1->type = 9, __ecereInstance1->decl = decl, __ecereInstance1;
 });
 }
 
-struct ClassDef * MkClassDefDesigner(char * designer)
+struct ClassDef * MkClassDefDesigner(const char * designer)
 {
 return __extension__ ({
 struct ClassDef * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ClassDef);
@@ -3457,7 +3458,7 @@ def->function = function;
 return def;
 }
 
-struct Symbol * DeclClassAddNameSpace(int symbolID, char * className)
+struct Symbol * DeclClassAddNameSpace(int symbolID, const char * className)
 {
 char name[1024];
 int len = 0, stringLen;
@@ -3489,7 +3490,7 @@ return _DeclClass(symbolID, name);
 
 extern char *  strchr(const char * , int);
 
-struct Symbol * DeclClass(int symbolID, char * name)
+struct Symbol * DeclClass(int symbolID, const char * name)
 {
 if(strchr(name, ':'))
 return _DeclClass(symbolID, name);
@@ -3497,7 +3498,7 @@ else
 return DeclClassAddNameSpace(symbolID, name);
 }
 
-struct Symbol * _DeclClass(int symbolID, char * name)
+struct Symbol * _DeclClass(int symbolID, const char * name)
 {
 struct Symbol * symbol = FindClass(name);
 
@@ -3540,11 +3541,11 @@ struct __ecereNameSpace__ecere__com__ClassTemplateParameter
 {
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter * prev;
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter * next;
-char *  name;
+const char *  name;
 int type;
 union
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 int memberType;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg;
@@ -3731,7 +3732,7 @@ __ecereInstance1->type = 11, __ecereInstance1->id = id, __ecereInstance1->initia
 });
 }
 
-int CheckType(char * text)
+int CheckType(const char * text)
 {
 if(FindTemplateTypeParameter(curContext, text))
 {
@@ -3766,7 +3767,7 @@ void PopContext(struct Context * ctx)
 curContext = ctx->parent;
 }
 
-struct Symbol * FindType(struct Context * ctx, char * name)
+struct Symbol * FindType(struct Context * ctx, const char * name)
 {
 struct Symbol * type = (((void *)0));
 
@@ -3779,7 +3780,7 @@ type = FindType(ctx->parent, name);
 return type;
 }
 
-struct TemplatedType * FindTemplateTypeParameter(struct Context * ctx, char * name)
+struct TemplatedType * FindTemplateTypeParameter(struct Context * ctx, const char * name)
 {
 struct TemplatedType * templatedType = (((void *)0));
 
@@ -3796,7 +3797,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -3819,7 +3820,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -3880,9 +3881,9 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*imports), module);
 return module;
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
-struct Symbol * FindClass(char * name)
+struct Symbol * FindClass(const char * name)
 {
 struct Symbol * cl = (((void *)0));
 struct __ecereNameSpace__ecere__com__Class * _class;
@@ -4026,9 +4027,9 @@ extern int targetBits;
 
 extern int targetPlatform;
 
-extern int strtol(char * , char * * , int base);
+extern int strtol(const char * , char * * , int base);
 
-extern struct Symbol * FindSymbol(char *  name, struct Context * startContext, struct Context * endContext, unsigned int isStruct, unsigned int globalNameSpace);
+extern struct Symbol * FindSymbol(const char *  name, struct Context * startContext, struct Context * endContext, unsigned int isStruct, unsigned int globalNameSpace);
 
 static struct Type * ProcessTypeSpecs(struct __ecereNameSpace__ecere__sys__OldList * specs, unsigned int assumeEllipsis, unsigned int keepTypeName)
 {
@@ -4344,7 +4345,7 @@ extern void ComputeExpression(struct Expression * exp);
 
 extern unsigned long strtoul(const char *  nptr, char * *  endptr, int base);
 
-extern void __ecereNameSpace__ecere__com__PrintLn(struct __ecereNameSpace__ecere__com__Class * class, void * object, ...);
+extern void __ecereNameSpace__ecere__com__PrintLn(struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_char__PTR_;
 
@@ -4563,9 +4564,9 @@ struct Type * ProcessType(struct __ecereNameSpace__ecere__sys__OldList * specs,
 return ProcessTypeDecls(specs, decl, (((void *)0)));
 }
 
-extern struct Declarator * SpecDeclFromString(char *  string, struct __ecereNameSpace__ecere__sys__OldList *  specs, struct Declarator * baseDecl);
+extern struct Declarator * SpecDeclFromString(const char *  string, struct __ecereNameSpace__ecere__sys__OldList *  specs, struct Declarator * baseDecl);
 
-struct Type * ProcessTypeString(char * string, unsigned int staticMethod)
+struct Type * ProcessTypeString(const char * string, unsigned int staticMethod)
 {
 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
 struct Declarator * decl = SpecDeclFromString(string, specs, (((void *)0)));
@@ -4595,7 +4596,7 @@ return type;
 return (((void *)0));
 }
 
-struct Type * MkClassType(char * name)
+struct Type * MkClassType(const char * name)
 {
 if(name)
 {
@@ -4793,13 +4794,13 @@ __ecereInstance1->type = 35, __ecereInstance1->list = expressions, __ecereInstan
 
 extern struct External * curExternal;
 
-extern void FullClassNameCat(char *  output, char *  className, unsigned int includeTemplateParams);
+extern void FullClassNameCat(char *  output, const char *  className, unsigned int includeTemplateParams);
 
 extern void MangleClassName(char *  className);
 
-extern void DeclareClass(struct Symbol * classSym, char *  className);
+extern void DeclareClass(struct Symbol * classSym, const char *  className);
 
-struct Expression * GetTemplateArgExpByName(char * paramName, struct __ecereNameSpace__ecere__com__Class * curClass, int tplType)
+struct Expression * GetTemplateArgExpByName(const char * paramName, struct __ecereNameSpace__ecere__com__Class * curClass, int tplType)
 {
 struct Expression * argExp = (((void *)0));
 struct __ecereNameSpace__ecere__com__Class * _class = curClass ? curClass : ((curExternal && curExternal->type == 0 && curExternal->function) ? curExternal->function->_class : (((void *)0)));
@@ -4850,15 +4851,15 @@ struct Expression * GetTemplateArgExp(struct TemplateParameter * param, struct _
 return param->identifier ? GetTemplateArgExpByName(param->identifier->string, curClass, 0) : (((void *)0));
 }
 
-extern char *  GetSourceFile(void);
+extern const char *  GetSourceFile(void);
 
-extern char *  GetOutputFile(void);
+extern const char *  GetOutputFile(void);
 
-extern char *  __ecereNameSpace__ecere__sys__ChangeExtension(char *  string, char *  ext, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__ChangeExtension(const char *  string, const char *  ext, char *  output);
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char *  fileName, int mode);
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(const char *  fileName, int mode);
 
-extern char *  __ecereNameSpace__ecere__sys__GetSlashPathBuffer(char *  d, char *  p);
+extern char *  __ecereNameSpace__ecere__sys__GetSlashPathBuffer(char *  d, const char *  p);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__MapIterator;
 
@@ -4886,11 +4887,11 @@ extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameS
 
 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next();
 
-uint64 __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_key(struct __ecereNameSpace__ecere__com__MapIterator * this);
+const uint64 __ecereProp___ecereNameSpace__ecere__com__MapIterator_Get_key(struct __ecereNameSpace__ecere__com__MapIterator * this);
 
 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__MapIterator_key;
 
-int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, char *  format, ...);
+int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, const char *  format, ...);
 
 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -4902,8 +4903,8 @@ void OutputIntlStrings()
 {
 if(((struct __ecereNameSpace__ecere__com__CustomAVLTree *)(((char *)intlStrings + structSize_Instance)))->count)
 {
-char * srcFile = GetSourceFile();
-char * objFile = GetOutputFile();
+const char * srcFile = GetSourceFile();
+const char * objFile = GetOutputFile();
 char srcFileFixed[797];
 char potFile[797];
 struct __ecereNameSpace__ecere__com__Instance * f;
@@ -4912,7 +4913,7 @@ __ecereNameSpace__ecere__sys__ChangeExtension(objFile, "bowl", potFile);
 f = __ecereNameSpace__ecere__sys__FileOpen(potFile, 2);
 if(f)
 {
-char * filePrefix = "";
+const char * filePrefix = "";
 
 if(!(srcFile[0] && (srcFile[1] == ':' || srcFile[0] == '/')))
 filePrefix = "./";
@@ -4982,30 +4983,30 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 void __ecereRegisterModule_ast(struct __ecereNameSpace__ecere__com__Instance * module)
 {
 struct __ecereNameSpace__ecere__com__Class * class;
 
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetDefaultNameSpace", "void SetDefaultNameSpace(char * s)", SetDefaultNameSpace, module, 1);
+__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);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetDeclMode", "void SetDeclMode(ecere::com::AccessMode accessMode)", SetDeclMode, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetDefaultDeclMode", "void SetDefaultDeclMode(ecere::com::AccessMode accessMode)", SetDefaultDeclMode, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetCurrentNameSpace", "void SetCurrentNameSpace(char * s)", SetCurrentNameSpace, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetCurrentNameSpace", "void SetCurrentNameSpace(const char * s)", SetCurrentNameSpace, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkList", "ecere::sys::OldList * MkList(void)", MkList, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkListOne", "ecere::sys::OldList * MkListOne(void * item)", MkListOne, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ListAdd", "void ListAdd(ecere::sys::OldList list, void * item)", ListAdd, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ListAddFront", "void ListAddFront(ecere::sys::OldList list, void * item)", ListAddFront, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkIdentifier", "Identifier MkIdentifier(char * string)", MkIdentifier, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkIdentifier", "Identifier MkIdentifier(const char * string)", MkIdentifier, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkTypeTemplateParameter", "TemplateParameter MkTypeTemplateParameter(Identifier identifier, TemplateDatatype baseTplDatatype, TemplateArgument defaultArgument)", MkTypeTemplateParameter, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkIdentifierTemplateParameter", "TemplateParameter MkIdentifierTemplateParameter(Identifier identifier, ecere::com::TemplateMemberType memberType, TemplateArgument defaultArgument)", MkIdentifierTemplateParameter, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpressionTemplateParameter", "TemplateParameter MkExpressionTemplateParameter(Identifier identifier, TemplateDatatype dataType, TemplateArgument defaultArgument)", MkExpressionTemplateParameter, module, 1);
@@ -5018,8 +5019,8 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpExtensionExpression
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpExtensionInitializer", "Expression MkExpExtensionInitializer(TypeName typeName, Initializer initializer)", MkExpExtensionInitializer, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpIdentifier", "Expression MkExpIdentifier(Identifier id)", MkExpIdentifier, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpDummy", "Expression MkExpDummy(void)", MkExpDummy, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpConstant", "Expression MkExpConstant(char * string)", MkExpConstant, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpString", "Expression MkExpString(char * string)", MkExpString, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpConstant", "Expression MkExpConstant(const char * string)", MkExpConstant, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpString", "Expression MkExpString(const char * string)", MkExpString, module, 2);
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ContextStringPair", 0, sizeof(struct ContextStringPair), 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)
 __ecereClass_ContextStringPair = class;
@@ -5027,7 +5028,7 @@ __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnCompare", 0, __ecereMet
 __ecereNameSpace__ecere__com__eClass_AddMethod(class, "OnFree", 0, __ecereMethod_ContextStringPair_OnFree, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "string", "String", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "context", "String", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpIntlString", "Expression MkExpIntlString(char * string, char * context)", MkExpIntlString, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpIntlString", "Expression MkExpIntlString(const char * string, const char * context)", MkExpIntlString, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpOp", "Expression MkExpOp(Expression exp1, int op, Expression exp2)", MkExpOp, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpBrackets", "Expression MkExpBrackets(ecere::sys::OldList expressions)", MkExpBrackets, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpIndex", "Expression MkExpIndex(Expression expression, ecere::sys::OldList index)", MkExpIndex, module, 2);
@@ -5100,9 +5101,9 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExternalImport", "Exte
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExternalDeclaration", "External MkExternalDeclaration(Declaration declaration)", MkExternalDeclaration, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExternalNameSpace", "External MkExternalNameSpace(Identifier identifier)", MkExternalNameSpace, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetClassTemplateArgs", "void SetClassTemplateArgs(Specifier spec, ecere::sys::OldList templateArgs)", SetClassTemplateArgs, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("_MkSpecifierName", "Specifier _MkSpecifierName(char * name, Symbol symbol, ecere::sys::OldList templateArgs)", _MkSpecifierName, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkSpecifierName", "Specifier MkSpecifierName(char * name)", MkSpecifierName, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkSpecifierNameArgs", "Specifier MkSpecifierNameArgs(char * name, ecere::sys::OldList * templateArgs)", MkSpecifierNameArgs, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("_MkSpecifierName", "Specifier _MkSpecifierName(const char * name, Symbol symbol, ecere::sys::OldList templateArgs)", _MkSpecifierName, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkSpecifierName", "Specifier MkSpecifierName(const char * name)", MkSpecifierName, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkSpecifierNameArgs", "Specifier MkSpecifierNameArgs(const char * name, ecere::sys::OldList * templateArgs)", MkSpecifierNameArgs, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassFunction", "ClassFunction MkClassFunction(ecere::sys::OldList specifiers, Specifier _class, Declarator decl, ecere::sys::OldList declList)", MkClassFunction, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessClassFunctionBody", "void ProcessClassFunctionBody(ClassFunction func, Statement body)", ProcessClassFunctionBody, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkSpecsClass", "ecere::sys::OldList * MkSpecsClass(Specifier _class)", MkSpecsClass, module, 2);
@@ -5116,15 +5117,15 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassDefAccessOverride
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassDefMemberAccess", "ClassDef MkClassDefMemberAccess(void)", MkClassDefMemberAccess, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassDefDeclaration", "ClassDef MkClassDefDeclaration(Declaration decl)", MkClassDefDeclaration, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassDefClassData", "ClassDef MkClassDefClassData(Declaration decl)", MkClassDefClassData, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassDefDesigner", "ClassDef MkClassDefDesigner(char * designer)", MkClassDefDesigner, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassDefDesigner", "ClassDef MkClassDefDesigner(const char * designer)", MkClassDefDesigner, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassDefNoExpansion", "ClassDef MkClassDefNoExpansion(void)", MkClassDefNoExpansion, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassDefFixed", "ClassDef MkClassDefFixed(void)", MkClassDefFixed, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassDefDesignerDefaultProperty", "ClassDef MkClassDefDesignerDefaultProperty(Identifier id)", MkClassDefDesignerDefaultProperty, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassDefDefaultProperty", "ClassDef MkClassDefDefaultProperty(ecere::sys::OldList defProperties)", MkClassDefDefaultProperty, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassDefFunction", "ClassDef MkClassDefFunction(ClassFunction function)", MkClassDefFunction, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclClassAddNameSpace", "Symbol DeclClassAddNameSpace(int symbolID, char * className)", DeclClassAddNameSpace, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclClass", "Symbol DeclClass(int symbolID, char * name)", DeclClass, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("_DeclClass", "Symbol _DeclClass(int symbolID, char * name)", _DeclClass, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclClassAddNameSpace", "Symbol DeclClassAddNameSpace(int symbolID, const char * className)", DeclClassAddNameSpace, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclClass", "Symbol DeclClass(int symbolID, const char * name)", DeclClass, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("_DeclClass", "Symbol _DeclClass(int symbolID, const char * name)", _DeclClass, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetupBaseSpecs", "void SetupBaseSpecs(Symbol symbol, ecere::sys::OldList baseSpecs)", SetupBaseSpecs, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClass", "ClassDefinition MkClass(Symbol symbol, ecere::sys::OldList baseSpecs, ecere::sys::OldList definitions)", MkClass, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpInstance", "Expression MkExpInstance(Instantiation inst)", MkExpInstance, module, 2);
@@ -5133,20 +5134,20 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkProperty", "PropertyDe
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassDefProperty", "ClassDef MkClassDefProperty(PropertyDef propertyDef)", MkClassDefProperty, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassDefClassProperty", "ClassDef MkClassDefClassProperty(PropertyDef propertyDef)", MkClassDefClassProperty, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassDefClassPropertyValue", "ClassDef MkClassDefClassPropertyValue(Identifier id, Initializer initializer)", MkClassDefClassPropertyValue, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("CheckType", "int CheckType(char * text)", CheckType, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("CheckType", "int CheckType(const char * text)", CheckType, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("check_type", "int check_type(void)", check_type, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("PushContext", "Context PushContext(void)", PushContext, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("PopContext", "void PopContext(Context ctx)", PopContext, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FindType", "Symbol FindType(Context ctx, char * name)", FindType, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FindTemplateTypeParameter", "TemplatedType FindTemplateTypeParameter(Context ctx, char * name)", FindTemplateTypeParameter, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FindType", "Symbol FindType(Context ctx, const char * name)", FindType, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FindTemplateTypeParameter", "TemplatedType FindTemplateTypeParameter(Context ctx, const char * name)", FindTemplateTypeParameter, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ModuleAccess", "bool ModuleAccess(ecere::com::Module searchIn, ecere::com::Module searchFor)", ModuleAccess, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FindModule", "ModuleImport FindModule(ecere::com::Module moduleToFind)", FindModule, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FindClass", "Symbol FindClass(char * name)", FindClass, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FindClass", "Symbol FindClass(const char * name)", FindClass, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("CopyTypeInto", "void CopyTypeInto(Type type, Type src)", CopyTypeInto, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessType", "Type ProcessType(ecere::sys::OldList specs, Declarator decl)", ProcessType, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessTypeString", "Type ProcessTypeString(char * string, bool staticMethod)", ProcessTypeString, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessTypeString", "Type ProcessTypeString(const char * string, bool staticMethod)", ProcessTypeString, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassTypeSymbol", "Type MkClassTypeSymbol(Symbol symbol)", MkClassTypeSymbol, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassType", "Type MkClassType(char * name)", MkClassType, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassType", "Type MkClassType(const char * name)", MkClassType, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkAsmField", "AsmField MkAsmField(char * command, Expression expression, Identifier symbolic)", MkAsmField, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkAsmStmt", "Statement MkAsmStmt(Specifier spec, char * statements, ecere::sys::OldList inputFields, ecere::sys::OldList outputFields, ecere::sys::OldList clobberedFields)", MkAsmStmt, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkClassDefPropertyWatch", "ClassDef MkClassDefPropertyWatch(PropertyWatch watcher)", MkClassDefPropertyWatch, module, 2);
@@ -5167,7 +5168,7 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpDBField", "Expressi
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpDBIndex", "Expression MkExpDBIndex(char * table, Identifier id)", MkExpDBIndex, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpDBTable", "Expression MkExpDBTable(char * table)", MkExpDBTable, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MkExpArray", "Expression MkExpArray(ecere::sys::OldList * expressions)", MkExpArray, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetTemplateArgExpByName", "Expression GetTemplateArgExpByName(char * paramName, ecere::com::Class curClass, ecere::com::TemplateParameterType tplType)", GetTemplateArgExpByName, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetTemplateArgExpByName", "Expression GetTemplateArgExpByName(const char * paramName, ecere::com::Class curClass, ecere::com::TemplateParameterType tplType)", GetTemplateArgExpByName, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetTemplateArgExp", "Expression GetTemplateArgExp(TemplateParameter param, ecere::com::Class curClass, bool pointer)", GetTemplateArgExp, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("OutputIntlStrings", "void OutputIntlStrings(void)", OutputIntlStrings, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetAST", "void SetAST(ecere::sys::OldList * list)", SetAST, module, 1);
index af7ec3b..e968f0b 100644 (file)
@@ -69,7 +69,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -79,7 +79,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -90,12 +90,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -106,7 +106,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -715,6 +715,7 @@ unsigned int dllExport : 1;
 unsigned int attrStdcall : 1;
 unsigned int declaredWithStruct : 1;
 unsigned int typedByReference : 1;
+unsigned int casted : 1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
@@ -723,7 +724,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -744,16 +745,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -765,7 +766,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -777,13 +778,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -808,12 +809,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -843,13 +844,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -860,7 +861,7 @@ struct __ecereNameSpace__ecere__com__Method * method;
 } __attribute__ ((gcc_struct));
 } __attribute__ ((gcc_struct));
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 struct Specifier * CopySpecifier(struct Specifier * spec);
 
@@ -993,7 +994,7 @@ return MkMembersInitList(list);
 
 extern struct Instantiation * MkInstantiation(struct Specifier * _class, struct Expression * exp, struct __ecereNameSpace__ecere__sys__OldList * members);
 
-extern struct Symbol * FindClass(char *  name);
+extern struct Symbol * FindClass(const char *  name);
 
 static struct Instantiation * CopyInstantiation(struct Instantiation * inst)
 {
@@ -1030,9 +1031,9 @@ extern struct Expression * MkExpIdentifier(struct Identifier * id);
 
 extern struct Expression * MkExpInstance(struct Instantiation * inst);
 
-extern struct Expression * MkExpConstant(char *  string);
+extern struct Expression * MkExpConstant(const char *  string);
 
-extern struct Expression * MkExpString(char *  string);
+extern struct Expression * MkExpString(const char *  string);
 
 extern struct Expression * MkExpOp(struct Expression * exp1, int op, struct Expression * exp2);
 
@@ -1298,7 +1299,7 @@ extern struct Specifier * MkStructOrUnion(int type, struct Identifier * id, stru
 
 struct ExtDecl * CopyExtDecl(struct ExtDecl * extDecl);
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
 extern struct Specifier * MkSpecifierSubClass(struct Specifier * _class);
 
@@ -1566,7 +1567,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_copy(struct __ecereNameSpace__ecere__com__Instance * module)
 {
index e420295..8a720b4 100644 (file)
@@ -69,7 +69,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -79,7 +79,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -90,12 +90,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -106,7 +106,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -725,6 +725,7 @@ unsigned int dllExport : 1;
 unsigned int attrStdcall : 1;
 unsigned int declaredWithStruct : 1;
 unsigned int typedByReference : 1;
+unsigned int casted : 1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
@@ -733,7 +734,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -754,16 +755,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -775,7 +776,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -787,13 +788,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -818,12 +819,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -853,13 +854,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -1175,11 +1176,11 @@ extern void *  memcpy(void * , const void * , size_t size);
 
 extern void __ecereNameSpace__ecere__sys__ChangeCh(char *  string, char ch1, char ch2);
 
-extern int sprintf(char * , char * , ...);
+extern int sprintf(char * , const char * , ...);
 
 extern void FreeExpContents(struct Expression * exp);
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 extern struct Statement * MkCompoundStmt(struct __ecereNameSpace__ecere__sys__OldList * declarations, struct __ecereNameSpace__ecere__sys__OldList * statements);
 
@@ -1191,7 +1192,7 @@ extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__O
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  MkListOne(void *  item);
 
-extern struct Specifier * MkSpecifierName(char *  name);
+extern struct Specifier * MkSpecifierName(const char *  name);
 
 extern struct InitDeclarator * MkInitDeclarator(struct Declarator * declarator, struct Initializer * initializer);
 
@@ -1207,7 +1208,7 @@ extern struct Statement * MkIfStmt(struct __ecereNameSpace__ecere__sys__OldList
 
 extern struct Statement * MkReturnStmt(struct __ecereNameSpace__ecere__sys__OldList * exp);
 
-extern struct Expression * MkExpConstant(char *  string);
+extern struct Expression * MkExpConstant(const char *  string);
 
 extern struct Statement * MkExpressionStmt(struct __ecereNameSpace__ecere__sys__OldList * expressions);
 
@@ -1223,9 +1224,9 @@ extern struct Declarator * MkDeclaratorArray(struct Declarator * declarator, str
 
 extern struct Initializer * MkInitializerList(struct __ecereNameSpace__ecere__sys__OldList * list);
 
-extern void Compiler_Error(char *  format, ...);
+extern void Compiler_Error(const char *  format, ...);
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
 
@@ -1403,7 +1404,6 @@ args = MkList();
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), exp->dbopen.name);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*args), MkExpIdentifier(MkIdentifier("create")));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*compound->compound.statements), MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier("db")), '=', MkExpCall(MkExpMember(exp->dbopen.ds, MkIdentifier("OpenDatabase")), args)))));
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*compound->compound.statements), MkExpressionStmt(MkListOne(MkExpIdentifier(MkIdentifier("true")))));
 exp->dbopen.name = (((void *)0));
 exp->dbopen.ds = (((void *)0));
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*databaseOpenStmt->compound.statements), MkIfStmt(MkListOne(MkExpIdentifier(MkIdentifier("db"))), ifDBStmt = MkCompoundStmt(MkList(), MkList()), (((void *)0))));
@@ -1846,7 +1846,7 @@ extern struct External * MkExternalDeclaration(struct Declaration * declaration)
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  ast;
 
-extern struct Expression * MkExpString(char *  string);
+extern struct Expression * MkExpString(const char *  string);
 
 extern struct Expression * MkExpInstance(struct Instantiation * inst);
 
@@ -1860,7 +1860,7 @@ extern struct Context * PushContext(void);
 
 extern struct ClassDefinition * MkClass(struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs, struct __ecereNameSpace__ecere__sys__OldList * definitions);
 
-extern struct Symbol * DeclClass(int symbolID, char *  name);
+extern struct Symbol * DeclClass(int symbolID, const char *  name);
 
 extern struct Context * globalContext;
 
@@ -1898,7 +1898,7 @@ extern struct ClassDef * MkClassDefClassPropertyValue(struct Identifier * id, st
 
 extern struct Expression * MkExpDBTable(char *  table);
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
 extern struct Expression * MkExpDBField(char *  table, struct Identifier * id);
 
@@ -2311,7 +2311,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_dbpass(struct __ecereNameSpace__ecere__com__Instance * module)
 {
index 8bdbcc3..03aa2f3 100644 (file)
@@ -69,7 +69,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -79,7 +79,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -90,12 +90,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -106,7 +106,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -252,7 +252,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -273,16 +273,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -294,7 +294,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -306,13 +306,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -337,12 +337,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -372,13 +372,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -737,15 +737,15 @@ void __ecereRegisterModule_type(struct __ecereNameSpace__ecere__com__Instance *
 
 void __ecereUnregisterModule_type(struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStatic(struct __ecereNameSpace__ecere__com__Instance * fromModule, char *  name, int importAccess, unsigned int (*  Load)(struct __ecereNameSpace__ecere__com__Instance * module), unsigned int (*  Unload)(struct __ecereNameSpace__ecere__com__Instance * module));
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStatic(struct __ecereNameSpace__ecere__com__Instance * fromModule, const char *  name, int importAccess, unsigned int (*  Load)(struct __ecereNameSpace__ecere__com__Instance * module), unsigned int (*  Unload)(struct __ecereNameSpace__ecere__com__Instance * module));
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern void __ecereNameSpace__ecere__LoadTranslatedStrings(char * moduleName, char *  name);
+extern void __ecereNameSpace__ecere__LoadTranslatedStrings(const char * moduleName, const char *  name);
 
 unsigned int __ecereDll_Load_ec(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -953,7 +953,7 @@ __ecereCreateModuleInstances_pass1();
 return 0x1;
 }
 
-extern void __ecereNameSpace__ecere__UnloadTranslatedStrings(char * name);
+extern void __ecereNameSpace__ecere__UnloadTranslatedStrings(const char * name);
 
 unsigned int __ecereDll_Unload_ec(struct __ecereNameSpace__ecere__com__Instance * module)
 {
index 1ec6503..84d2d9f 100644 (file)
@@ -86,7 +86,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -96,7 +96,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -107,12 +107,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -123,7 +123,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -525,7 +525,7 @@ struct TemplateDatatype * dataType;
 int memberType;
 } __attribute__ ((gcc_struct));
 struct TemplateArgument * defaultArgument;
-char * dataTypeString;
+const char * dataTypeString;
 struct Type * baseType;
 } __attribute__ ((gcc_struct));
 
@@ -814,6 +814,7 @@ unsigned int dllExport : 1;
 unsigned int attrStdcall : 1;
 unsigned int declaredWithStruct : 1;
 unsigned int typedByReference : 1;
+unsigned int casted : 1;
 } __attribute__ ((gcc_struct));
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass_Type;
@@ -824,7 +825,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -845,16 +846,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -866,7 +867,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -878,13 +879,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -909,12 +910,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -944,13 +945,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -1312,51 +1313,51 @@ fileInput = file;
 
 char * symbolsDir = (((void *)0));
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
-void SetSymbolsDir(char * s)
+void SetSymbolsDir(const char * s)
 {
 (__ecereNameSpace__ecere__com__eSystem_Delete(symbolsDir), symbolsDir = 0);
 symbolsDir = __ecereNameSpace__ecere__sys__CopyString(s);
 }
 
-char * GetSymbolsDir()
+const char * GetSymbolsDir()
 {
 return symbolsDir ? symbolsDir : "";
 }
 
-char * outputFile;
+const char * outputFile;
 
-void SetOutputFile(char * s)
+void SetOutputFile(const char * s)
 {
 outputFile = s;
 }
 
-char * GetOutputFile()
+const char * GetOutputFile()
 {
 return outputFile;
 }
 
-char * sourceFile;
+const char * sourceFile;
 
-void SetSourceFile(char * s)
+void SetSourceFile(const char * s)
 {
 sourceFile = s;
 }
 
-char * GetSourceFile()
+const char * GetSourceFile()
 {
 return sourceFile;
 }
 
-char * i18nModuleName;
+const char * i18nModuleName;
 
-void SetI18nModuleName(char * s)
+void SetI18nModuleName(const char * s)
 {
 i18nModuleName = s;
 }
 
-char * GetI18nModuleName()
+const char * GetI18nModuleName()
 {
 return i18nModuleName;
 }
@@ -1435,7 +1436,8 @@ const char * escChars = " !\"$&'()*:;<=>?[\\`{|";
 const char * escCharsQuoted = "\"()$";
 #endif
 unsigned int quoting = 0x0;
-char * o = output, * i = input, * l = input;
+char * o = output;
+const char * i = input, * l = input;
 
 #ifdef __WIN32__
 while(*l && !strchr(escChars, *l))
@@ -1641,7 +1643,7 @@ static struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefType;
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass_ExternalType;
 
-int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char *  a, char *  b);
+int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char *  a, const char *  b);
 
 unsigned int __ecereConstructor_Context(struct Context * this)
 {
@@ -1684,7 +1686,7 @@ static struct __ecereNameSpace__ecere__com__Class * __ecereClass_TypeKind;
 
 extern void PrintType(struct Type * type, char *  string, unsigned int printName, unsigned int fullName);
 
-char * __ecereMethod_Type_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct Type * this, char * tempString, void * fieldData, unsigned int * needClass)
+const char * __ecereMethod_Type_OnGetString(struct __ecereNameSpace__ecere__com__Class * class, struct Type * this, char * tempString, void * fieldData, unsigned int * needClass)
 {
 struct Type * type = (struct Type *)this;
 
@@ -1769,15 +1771,15 @@ extern struct Location yylloc;
 
 extern char *  __ecereNameSpace__ecere__sys__GetWorkingDir(char *  buf, int size);
 
-extern char *  __ecereNameSpace__ecere__sys__PathCat(char *  string, char *  addedPath);
+extern char *  __ecereNameSpace__ecere__sys__PathCat(char *  string, const char *  addedPath);
 
 extern char *  GetIncludeFileFromID(int id);
 
-extern int printf(char * , ...);
+extern int printf(const char * , ...);
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
-extern int fputs(char * , void *  stream);
+extern int fputs(const char * , void *  stream);
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
@@ -1785,7 +1787,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -1808,7 +1810,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -1822,7 +1824,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 struct __ecereNameSpace__ecere__com__Application
 {
 int argc;
-char * *  argv;
+const char * *  argv;
 int exitCode;
 unsigned int isGUIApp;
 struct __ecereNameSpace__ecere__sys__OldList allModules;
@@ -1832,7 +1834,7 @@ struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
 
 extern unsigned int parseTypeError;
 
-void Compiler_Error(char * format, ...)
+void Compiler_Error(const char * format, ...)
 {
 if(inCompiler)
 {
@@ -1874,11 +1876,11 @@ int GetNumWarnings()
 return numWarnings;
 }
 
-extern char *  __ecereNameSpace__ecere__sys__GetLastDirectory(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__GetLastDirectory(const char *  string, char *  output);
 
 extern int strcmp(const char * , const char * );
 
-void Compiler_Warning(char * format, ...)
+void Compiler_Warning(const char * format, ...)
 {
 if(inCompiler)
 {
@@ -1930,7 +1932,7 @@ int targetPlatform;
 
 extern char *  getenv(const char *  name);
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpen(unsigned int mode, char *  commandLine);
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__DualPipeOpen(unsigned int mode, const char *  commandLine);
 
 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(struct __ecereNameSpace__ecere__com__Instance * this, char *  s, int max);
 
@@ -1980,29 +1982,29 @@ int GetTargetBits()
 return targetBits;
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
-extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, char *  string, int value);
+extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, const char *  string, int value);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__BitMember;
 
 struct __ecereNameSpace__ecere__com__BitMember;
 
-extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, int bitSize, int bitPos, int declMode);
+extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, int bitSize, int bitPos, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_New(int type, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_AddDataMember(struct __ecereNameSpace__ecere__com__DataMember * member, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_AddDataMember(struct __ecereNameSpace__ecere__com__DataMember * member, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 extern unsigned int __ecereNameSpace__ecere__com__eClass_AddMember(struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__DataMember * dataMember);
 
@@ -2012,7 +2014,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__DefinedExpression;
 
-extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(char *  name, char *  value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(const char *  name, const char *  value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_ecdefs(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -2165,14 +2167,14 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetPrivateModule", "ecer
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetMainModule", "void SetMainModule(ModuleImport moduleImport)", SetMainModule, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetMainModule", "ModuleImport GetMainModule(void)", GetMainModule, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetFileInput", "void SetFileInput(ecere::sys::File file)", SetFileInput, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetSymbolsDir", "void SetSymbolsDir(char * s)", SetSymbolsDir, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetSymbolsDir", "char * GetSymbolsDir(void)", GetSymbolsDir, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetOutputFile", "void SetOutputFile(char * s)", SetOutputFile, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetOutputFile", "char * GetOutputFile(void)", GetOutputFile, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetSourceFile", "void SetSourceFile(char * s)", SetSourceFile, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetSourceFile", "char * GetSourceFile(void)", GetSourceFile, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetI18nModuleName", "void SetI18nModuleName(char * s)", SetI18nModuleName, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetI18nModuleName", "char * GetI18nModuleName(void)", GetI18nModuleName, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetSymbolsDir", "void SetSymbolsDir(const char * s)", SetSymbolsDir, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetSymbolsDir", "const char * GetSymbolsDir(void)", GetSymbolsDir, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetOutputFile", "void SetOutputFile(const char * s)", SetOutputFile, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetOutputFile", "const char * GetOutputFile(void)", GetOutputFile, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetSourceFile", "void SetSourceFile(const char * s)", SetSourceFile, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetSourceFile", "const char * GetSourceFile(void)", GetSourceFile, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetI18nModuleName", "void SetI18nModuleName(const char * s)", SetI18nModuleName, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetI18nModuleName", "const char * GetI18nModuleName(void)", GetI18nModuleName, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetGlobalContext", "void SetGlobalContext(Context context)", SetGlobalContext, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetGlobalContext", "Context GetGlobalContext(void)", GetGlobalContext, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetTopContext", "void SetTopContext(Context context)", SetTopContext, module, 1);
@@ -2330,7 +2332,7 @@ __ecereNameSpace__ecere__com__eMember_AddDataMember(dataMember0, "memberType", "
 __ecereNameSpace__ecere__com__eClass_AddMember(class, dataMember0);
 }
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "defaultArgument", "TemplateArgument", arch_PointerSize, arch_PointerSize, 1);
-__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeString", "char *", arch_PointerSize, arch_PointerSize, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dataTypeString", "const char *", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "baseType", "Type", arch_PointerSize, arch_PointerSize, 1);
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "TemplateDatatype", 0, sizeof(struct TemplateDatatype), 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)
@@ -3104,6 +3106,7 @@ __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "dllExport", "bool:1",
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "attrStdcall", "bool:1", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "declaredWithStruct", "bool:1", 4, 4, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "typedByReference", "bool:1", 4, 4, 1);
+__ecereNameSpace__ecere__com__eClass_AddDataMember(class, "casted", "bool:1", 4, 4, 1);
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "Operand", 0, sizeof(struct Operand), 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)
 __ecereClass_Operand = class;
@@ -3165,9 +3168,9 @@ __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "GrtEqu", "bool (*)(Ex
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "SmaEqu", "bool (*)(Expression, Operand, Operand)", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "Cond", "bool (*)(Expression, Operand, Operand, Operand)", arch_PointerSize, arch_PointerSize, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("MAX_INCLUDE_DEPTH", "30", module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("Compiler_Error", "void Compiler_Error(char * format, ...)", Compiler_Error, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("Compiler_Error", "void Compiler_Error(const char * format, ...)", Compiler_Error, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetNumWarnings", "int GetNumWarnings(void)", GetNumWarnings, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("Compiler_Warning", "void Compiler_Warning(char * format, ...)", Compiler_Warning, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("Compiler_Warning", "void Compiler_Warning(const char * format, ...)", Compiler_Warning, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("yyerror", "int yyerror(void)", yyerror, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetHostBits", "int GetHostBits(void)", GetHostBits, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetTargetPlatform", "void SetTargetPlatform(ecere::com::Platform platform)", SetTargetPlatform, module, 1);
index 8699bc1..f68ab69 100644 (file)
@@ -69,7 +69,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -79,7 +79,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -90,12 +90,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -106,7 +106,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -589,7 +589,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -610,16 +610,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -631,7 +631,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -643,13 +643,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -674,12 +674,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -709,13 +709,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -1782,7 +1782,7 @@ struct Location expression_yylloc;
 
 int expression_yynerrs;
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
 
@@ -1790,11 +1790,11 @@ extern struct Expression * MkExpIdentifier(struct Identifier * id);
 
 extern struct Expression * MkExpInstance(struct Instantiation * inst);
 
-extern struct Expression * MkExpConstant(char *  string);
+extern struct Expression * MkExpConstant(const char *  string);
 
-extern struct Expression * MkExpString(char *  string);
+extern struct Expression * MkExpString(const char *  string);
 
-extern struct Expression * MkExpIntlString(char *  string, char *  context);
+extern struct Expression * MkExpIntlString(const char *  string, const char *  context);
 
 extern struct Expression * MkExpDummy(void);
 
@@ -1846,7 +1846,7 @@ extern struct Specifier * MkSpecifier(int specifier);
 
 extern struct ExtDecl * MkExtDeclString(char * s);
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
 extern struct ExtDecl * MkExtDeclAttrib(struct Attrib * attr);
 
@@ -1856,7 +1856,7 @@ extern struct Attrib * MkAttrib(int type, struct __ecereNameSpace__ecere__sys__O
 
 extern struct Specifier * MkSpecifierExtended(struct ExtDecl * extDecl);
 
-extern struct Specifier * MkSpecifierName(char *  name);
+extern struct Specifier * MkSpecifierName(const char *  name);
 
 extern struct Specifier * MkSpecifierSubClass(struct Specifier * _class);
 
@@ -1864,7 +1864,7 @@ extern struct Specifier * MkStructOrUnion(int type, struct Identifier * id, stru
 
 extern int declMode;
 
-extern struct Symbol * DeclClass(int symbolID, char *  name);
+extern struct Symbol * DeclClass(int symbolID, const char *  name);
 
 extern struct Context * globalContext;
 
index f1fc213..dffea22 100644 (file)
@@ -69,7 +69,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -79,7 +79,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -90,12 +90,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -106,7 +106,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -408,7 +408,7 @@ struct TemplateDatatype * dataType;
 int memberType;
 } __attribute__ ((gcc_struct));
 struct TemplateArgument * defaultArgument;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * baseType;
 } __attribute__ ((gcc_struct));
 
@@ -667,6 +667,7 @@ unsigned int dllExport : 1;
 unsigned int attrStdcall : 1;
 unsigned int declaredWithStruct : 1;
 unsigned int typedByReference : 1;
+unsigned int casted : 1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
@@ -675,7 +676,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -696,16 +697,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -717,7 +718,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -729,13 +730,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -760,12 +761,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -795,13 +796,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -979,7 +980,7 @@ extern void ProcessExpressionType(struct Expression * exp);
 
 extern void ComputeExpression(struct Expression * exp);
 
-extern int strtol(char * , char * * , int base);
+extern int strtol(const char * , char * * , int base);
 
 extern void FreeExpression(struct Expression * exp);
 
@@ -993,12 +994,12 @@ struct __ecereNameSpace__ecere__com__BitMember
 {
 struct __ecereNameSpace__ecere__com__BitMember * prev;
 struct __ecereNameSpace__ecere__com__BitMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -1007,17 +1008,17 @@ int pos;
 uint64 mask;
 } __attribute__ ((gcc_struct));
 
-extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, int bitSize, int bitPos, int declMode);
+extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, int bitSize, int bitPos, int declMode);
 
-extern void Compiler_Error(char *  format, ...);
+extern void Compiler_Error(const char *  format, ...);
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
 extern void FreeType(struct Type * type);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_AddDataMember(struct __ecereNameSpace__ecere__com__DataMember * member, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_AddDataMember(struct __ecereNameSpace__ecere__com__DataMember * member, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_New(int type, int declMode);
 
@@ -1031,21 +1032,21 @@ extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
 
 extern char *  StringFromSpecDecl(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt, int declMode);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
 
 extern unsigned int inCompiler;
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
 extern void __ecereNameSpace__ecere__com__eProperty_Watchable(struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern int printf(char * , ...);
+extern int printf(const char * , ...);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassProperty;
 
 struct __ecereNameSpace__ecere__com__ClassProperty;
 
-extern struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_AddClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt);
+extern struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_AddClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt);
 
 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
 
@@ -1282,7 +1283,7 @@ prop = __ecereNameSpace__ecere__com__eClass_AddClassProperty(regClass, propertyD
 }
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
 extern struct __ecereNameSpace__ecere__com__Instance * privateModule;
 
@@ -1290,7 +1291,7 @@ extern struct Context * globalContext;
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  excludedSymbols;
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern unsigned int buildingECERECOMModule;
 
@@ -1302,9 +1303,9 @@ extern void FreeSpecifier(struct Specifier * spec);
 
 extern struct Declarator * GetFuncDecl(struct Declarator * decl);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
 extern char *  strcpy(char * , const char * );
 
@@ -1380,7 +1381,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter;
 
-extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, int type, void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
+extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, int type, const void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
 
 extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(struct __ecereNameSpace__ecere__com__Class * base);
 
@@ -1639,7 +1640,7 @@ __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(regClass, param->ident
 (__ecereNameSpace__ecere__com__eSystem_Delete(typeString), typeString = 0);
 }
 if(param->type == 0 || param->type == 1)
-(__ecereNameSpace__ecere__com__eSystem_Delete(defaultArg.dataTypeString), defaultArg.dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)defaultArg.dataTypeString), defaultArg.dataTypeString = 0);
 }
 __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(regClass);
 }
@@ -1649,9 +1650,9 @@ extern struct External * curExternal;
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  ast;
 
-extern struct Symbol * FindType(struct Context * ctx, char *  name);
+extern struct Symbol * FindType(struct Context * ctx, const char *  name);
 
-extern struct Symbol * FindClass(char *  name);
+extern struct Symbol * FindClass(const char *  name);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldLink;
 
@@ -1798,7 +1799,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_firstPass(struct __ecereNameSpace__ecere__com__Instance * module)
 {
index afdfbbe..da53a30 100644 (file)
@@ -80,7 +80,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -90,7 +90,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -101,12 +101,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -117,7 +117,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -536,7 +536,7 @@ struct TemplateDatatype * dataType;
 int memberType;
 } __attribute__ ((gcc_struct));
 struct TemplateArgument * defaultArgument;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * baseType;
 } __attribute__ ((gcc_struct));
 
@@ -842,6 +842,7 @@ unsigned int dllExport : 1;
 unsigned int attrStdcall : 1;
 unsigned int declaredWithStruct : 1;
 unsigned int typedByReference : 1;
+unsigned int casted : 1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
@@ -850,7 +851,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -871,16 +872,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -892,7 +893,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -904,13 +905,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -935,12 +936,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -970,13 +971,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -2108,7 +2109,7 @@ FreeClassFunction(init->function);
 ((init ? (__ecereClass_MembersInit->Destructor ? __ecereClass_MembersInit->Destructor((void *)init) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(init)) : 0), init = 0);
 }
 
-extern struct Symbol * FindClass(char *  name);
+extern struct Symbol * FindClass(const char *  name);
 
 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -2404,14 +2405,14 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__ClassProperty
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__ClassProperty * parent;
 struct __ecereNameSpace__ecere__com__ClassProperty * left;
 struct __ecereNameSpace__ecere__com__ClassProperty * right;
 int depth;
 void (*  Set)(struct __ecereNameSpace__ecere__com__Class *, long long);
 long long (*  Get)(struct __ecereNameSpace__ecere__com__Class *);
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 unsigned int constant;
 } __attribute__ ((gcc_struct));
@@ -2433,7 +2434,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -2456,7 +2457,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -2471,11 +2472,11 @@ struct __ecereNameSpace__ecere__com__ClassTemplateParameter
 {
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter * prev;
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter * next;
-char *  name;
+const char *  name;
 int type;
 union
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 int memberType;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg;
@@ -2488,11 +2489,11 @@ struct __ecereNameSpace__ecere__com__GlobalFunction
 {
 struct __ecereNameSpace__ecere__com__GlobalFunction * prev;
 struct __ecereNameSpace__ecere__com__GlobalFunction * next;
-char *  name;
+const char *  name;
 int (*  function)();
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 void *  symbol;
 } __attribute__ ((gcc_struct));
@@ -2560,7 +2561,7 @@ void * last;
 int count;
 } __attribute__ ((gcc_struct));
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 index, unsigned int create);
+unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 index, unsigned int create);
 
 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst;
 
@@ -2716,7 +2717,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 struct __ecereNameSpace__ecere__com__Application
 {
 int argc;
-char * *  argv;
+const char * *  argv;
 int exitCode;
 unsigned int isGUIApp;
 struct __ecereNameSpace__ecere__sys__OldList allModules;
@@ -2735,7 +2736,7 @@ FreeModuleData(m);
 FreeModuleData(privateModule);
 }
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_freeAst(struct __ecereNameSpace__ecere__com__Instance * module)
 {
index 1559cc0..2fe284e 100644 (file)
@@ -69,7 +69,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -79,7 +79,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -90,12 +90,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -106,7 +106,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -717,7 +717,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -738,16 +738,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -759,7 +759,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -771,13 +771,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -802,12 +802,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -837,13 +837,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -2601,13 +2601,13 @@ extern char *  strcpy(char * , const char * );
 
 extern char *  strcat(char * , const char * );
 
-extern struct Symbol * _DeclClass(int symbolID, char *  name);
+extern struct Symbol * _DeclClass(int symbolID, const char *  name);
 
 extern void resetScannerPos(struct CodePosition * pos);
 
-extern struct Specifier * MkSpecifierName(char *  name);
+extern struct Specifier * MkSpecifierName(const char *  name);
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
 extern void SetClassTemplateArgs(struct Specifier * spec, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
 
@@ -2685,7 +2685,7 @@ extern struct ClassDef * MkClassDefClassData(struct Declaration * decl);
 
 extern struct ClassDef * MkClassDefPropertyWatch(struct PropertyWatch * watcher);
 
-extern struct ClassDef * MkClassDefDesigner(char *  designer);
+extern struct ClassDef * MkClassDefDesigner(const char *  designer);
 
 extern struct ClassDef * MkClassDefDesignerDefaultProperty(struct Identifier * id);
 
@@ -2695,7 +2695,7 @@ extern struct TemplateArgument * MkTemplateTypeArgument(struct TemplateDatatype
 
 extern struct TemplateParameter * MkTypeTemplateParameter(struct Identifier * identifier, struct TemplateDatatype * baseTplDatatype, struct TemplateArgument * defaultArgument);
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 extern struct TemplateArgument * MkTemplateIdentifierArgument(struct Identifier * ident);
 
@@ -2707,19 +2707,19 @@ extern struct TemplateParameter * MkExpressionTemplateParameter(struct Identifie
 
 extern struct Context * PushContext(void);
 
-extern struct Symbol * DeclClassAddNameSpace(int symbolID, char *  className);
+extern struct Symbol * DeclClassAddNameSpace(int symbolID, const char *  className);
 
-extern struct Symbol * DeclClass(int symbolID, char *  name);
+extern struct Symbol * DeclClass(int symbolID, const char *  name);
 
 extern struct ClassDefinition * MkClass(struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs, struct __ecereNameSpace__ecere__sys__OldList * definitions);
 
 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
 
-extern struct Expression * MkExpString(char *  string);
+extern struct Expression * MkExpString(const char *  string);
 
-extern struct Expression * MkExpIntlString(char *  string, char *  context);
+extern struct Expression * MkExpIntlString(const char *  string, const char *  context);
 
-extern struct Expression * MkExpConstant(char *  string);
+extern struct Expression * MkExpConstant(const char *  string);
 
 extern struct Expression * MkExpInstance(struct Instantiation * inst);
 
@@ -2771,9 +2771,9 @@ extern unsigned int skipErrors;
 
 extern struct Expression * MkExpCondition(struct Expression * cond, struct __ecereNameSpace__ecere__sys__OldList * expressions, struct Expression * elseExp);
 
-extern void Compiler_Error(char *  format, ...);
+extern void Compiler_Error(const char *  format, ...);
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
 extern struct Specifier * MkSpecifier(int specifier);
 
@@ -2797,11 +2797,11 @@ extern void AddStructDefinitions(struct Specifier * spec, struct __ecereNameSpac
 
 extern void SetupBaseSpecs(struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs);
 
-extern struct Specifier * MkSpecifierNameArgs(char *  name, struct __ecereNameSpace__ecere__sys__OldList *  templateArgs);
+extern struct Specifier * MkSpecifierNameArgs(const char *  name, struct __ecereNameSpace__ecere__sys__OldList *  templateArgs);
 
 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
 
-extern char *  __ecereNameSpace__ecere__sys__RSearchString(char *  buffer, char *  subStr, int maxLen, unsigned int matchCase, unsigned int matchWord);
+extern char *  __ecereNameSpace__ecere__sys__RSearchString(const char *  buffer, const char *  subStr, int maxLen, unsigned int matchCase, unsigned int matchWord);
 
 extern struct Declarator * MkDeclaratorArray(struct Declarator * declarator, struct Expression * exp);
 
@@ -2827,7 +2827,7 @@ extern struct Declarator * MkDeclaratorExtendedEnd(struct ExtDecl * extended, st
 
 extern struct Initializer * MkInitializerList(struct __ecereNameSpace__ecere__sys__OldList * list);
 
-extern void Compiler_Warning(char *  format, ...);
+extern void Compiler_Warning(const char *  format, ...);
 
 extern struct InitDeclarator * MkInitDeclarator(struct Declarator * declarator, struct Initializer * initializer);
 
index 9e9de39..d3edf1a 100644 (file)
@@ -79,7 +79,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -89,7 +89,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -100,12 +100,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -116,7 +116,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -262,7 +262,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -283,16 +283,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -304,7 +304,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -316,13 +316,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -347,12 +347,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -382,13 +382,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -714,7 +714,7 @@ char sourceFileStack[30][797];
 
 extern char *  strcpy(char * , const char * );
 
-void SetSomeSourceFileStack(char * fileName, int index)
+void SetSomeSourceFileStack(const char * fileName, int index)
 {
 strcpy(sourceFileStack[index], fileName);
 }
@@ -743,7 +743,7 @@ extern int structDeclMode;
 
 extern unsigned int inCompiler;
 
-extern int printf(char * , ...);
+extern int printf(const char * , ...);
 
 extern int yyerror(void);
 
@@ -2417,13 +2417,13 @@ extern int __ecereNameSpace__ecere__sys__GetValue(char * *  buffer);
 
 extern unsigned int __ecereNameSpace__ecere__sys__GetString(char * *  buffer, char *  string, int max);
 
-extern char *  __ecereNameSpace__ecere__sys__GetExtension(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__GetExtension(const char *  string, char *  output);
 
 extern int strcmp(const char * , const char * );
 
 extern int GetIncludeFileID(char *  includeFile);
 
-extern char *  __ecereNameSpace__ecere__sys__TrimLSpaces(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__TrimLSpaces(const char *  string, char *  output);
 
 extern int strncmp(const char * , const char * , size_t n);
 
@@ -2433,7 +2433,7 @@ extern size_t strlen(const char * );
 
 extern char *  strncpy(char * , const char * , size_t n);
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
 extern int FindIncludeFileID(char *  includeFile);
 
@@ -2711,13 +2711,13 @@ yy_start = ((struct LexerBackup *)(((char *)backup + __ecereClass_LexerBackup->o
 (__ecereNameSpace__ecere__com__eInstance_DecRef(backup), backup = 0);
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -2740,7 +2740,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -2751,13 +2751,13 @@ struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_lexer(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -2778,7 +2778,7 @@ __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_fill_buffer", "int
 __ecereNameSpace__ecere__com__eClass_AddDataMember(class, "yy_buffer_status", "int", 4, 4, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetEchoOn", "void SetEchoOn(bool b)", SetEchoOn, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("TESTTTT", "void TESTTTT(void)", TESTTTT, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetSomeSourceFileStack", "void SetSomeSourceFileStack(char * fileName, int index)", SetSomeSourceFileStack, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetSomeSourceFileStack", "void SetSomeSourceFileStack(const char * fileName, int index)", SetSomeSourceFileStack, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("yywrap", "int yywrap(void)", yywrap, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("comment", "int comment(void)", comment, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("commentCPP", "int commentCPP(void)", commentCPP, module, 2);
index d2a6ec4..f65d403 100644 (file)
@@ -79,7 +79,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -89,7 +89,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -100,12 +100,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -116,7 +116,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -437,7 +437,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -458,16 +458,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -479,7 +479,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -491,13 +491,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -522,12 +522,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -557,13 +557,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -657,13 +657,13 @@ unsigned int DummyMethod()
 return 0x1;
 }
 
-extern char *  __ecereNameSpace__ecere__sys__TrimLSpaces(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__TrimLSpaces(const char *  string, char *  output);
 
 extern int strcmp(const char * , const char * );
 
-extern int strtol(char * , char * * , int base);
+extern int strtol(const char * , char * * , int base);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_AddDataMember(struct __ecereNameSpace__ecere__com__DataMember * member, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_AddDataMember(struct __ecereNameSpace__ecere__com__DataMember * member, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__BitMember;
 
@@ -671,12 +671,12 @@ struct __ecereNameSpace__ecere__com__BitMember
 {
 struct __ecereNameSpace__ecere__com__BitMember * prev;
 struct __ecereNameSpace__ecere__com__BitMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -685,9 +685,9 @@ int pos;
 uint64 mask;
 } __attribute__ ((gcc_struct));
 
-extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, int bitSize, int bitPos, int declMode);
+extern struct __ecereNameSpace__ecere__com__BitMember * __ecereNameSpace__ecere__com__eClass_AddBitMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, int bitSize, int bitPos, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eMember_New(int type, int declMode);
 
@@ -780,25 +780,25 @@ memberAccess = 1;
 }
 }
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpenBuffered(char *  fileName, int mode);
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpenBuffered(const char *  fileName, int mode);
 
-extern char *  __ecereNameSpace__ecere__sys__GetLastDirectory(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__GetLastDirectory(const char *  string, char *  output);
 
 extern int strcasecmp(const char * , const char * );
 
-extern struct Symbol * DeclClass(int symbolID, char *  name);
+extern struct Symbol * DeclClass(int symbolID, const char *  name);
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
 extern struct __ecereNameSpace__ecere__com__Instance * privateModule;
 
-extern struct Symbol * FindClass(char *  name);
+extern struct Symbol * FindClass(const char *  name);
 
-extern char *  sourceFile;
+extern const char *  sourceFile;
 
 extern char *  strstr(const char * , const char * );
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern char *  strcat(char * , const char * );
 
@@ -821,19 +821,19 @@ extern char *  strchr(const char * , int);
 
 extern void *  memcpy(void * , const void * , size_t size);
 
-extern char *  __ecereNameSpace__ecere__sys__TrimRSpaces(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__TrimRSpaces(const char *  string, char *  output);
 
-extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, char *  string, int value);
+extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, const char *  string, int value);
 
 extern int atoi(const char * );
 
-extern int __ecereNameSpace__ecere__com__eEnum_AddValue(struct __ecereNameSpace__ecere__com__Class * _class, char *  string);
+extern int __ecereNameSpace__ecere__com__eEnum_AddValue(struct __ecereNameSpace__ecere__com__Class * _class, const char *  string);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddVirtualMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt, int declMode);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
 
 extern void __ecereNameSpace__ecere__com__eProperty_Watchable(struct __ecereNameSpace__ecere__com__Property * _property);
 
@@ -841,9 +841,9 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__ClassProperty;
 
-extern struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_AddClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt);
+extern struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_AddClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt);
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
 extern struct __ecereNameSpace__ecere__com__Instance * pushLexer(void);
 
@@ -915,7 +915,7 @@ extern unsigned int skipErrors;
 
 extern struct Expression * ParseExpressionString(char *  expression);
 
-extern struct Type * ProcessTypeString(char *  string, unsigned int staticMethod);
+extern struct Type * ProcessTypeString(const char *  string, unsigned int staticMethod);
 
 extern void ProcessExpressionType(struct Expression * exp);
 
@@ -931,7 +931,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter;
 
-extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, int type, void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
+extern struct __ecereNameSpace__ecere__com__ClassTemplateParameter * __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, int type, const void *  info, struct __ecereNameSpace__ecere__com__ClassTemplateArgument * defaultArg);
 
 extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(struct __ecereNameSpace__ecere__com__Class * base);
 
@@ -939,13 +939,13 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__DefinedExpression;
 
-extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(char *  name, char *  value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_RegisterDefine(const char *  name, const char *  value, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 extern char *  strncpy(char * , const char * , size_t n);
 
@@ -953,7 +953,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -992,13 +992,13 @@ char type1[1024];
 char type2[1024];
 } __attribute__ ((gcc_struct));
 
-void ImportModule(char *  name, int importType, int importAccess, unsigned int loadDllOnly);
+void ImportModule(const char *  name, int importType, int importAccess, unsigned int loadDllOnly);
 
-extern char *  __ecereNameSpace__ecere__sys__GetSystemPathBuffer(char *  d, char *  p);
+extern char *  __ecereNameSpace__ecere__sys__GetSystemPathBuffer(char *  d, const char *  p);
 
-extern void Compiler_Error(char *  format, ...);
+extern void Compiler_Error(const char *  format, ...);
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
 
@@ -1006,9 +1006,9 @@ int __ecereVMethodID___ecereNameSpace__ecere__sys__File_Eof;
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__File;
 
-struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char *  key);
+struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char *  key);
 
-int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char *  a, char *  b);
+int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char *  a, const char *  b);
 
 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add(struct __ecereNameSpace__ecere__sys__BinaryTree * this, struct __ecereNameSpace__ecere__sys__BTNode * node);
 
@@ -1016,7 +1016,7 @@ void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(struct __ecereNameS
 
 extern void __ecereNameSpace__ecere__com__eInstance_DecRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
-unsigned int LoadSymbols(char * fileName, int importType, unsigned int loadDllOnly)
+unsigned int LoadSymbols(const char * fileName, int importType, unsigned int loadDllOnly)
 {
 struct __ecereNameSpace__ecere__com__Instance * f = __ecereNameSpace__ecere__sys__FileOpenBuffered(fileName, 1);
 unsigned int globalInstance = 0x0;
@@ -1094,7 +1094,7 @@ regClass = (((void *)0));
 else if(regClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, name), !regClass || regClass->internalDecl || regClass->isRemote)
 {
 struct Symbol * existingClass = FindClass(name);
-char * baseName = (classType == 0 && importType == 2 && isRemote) ? "DCOMClientObject" : (!strcmp(line, "[None]") ? (((void *)0)) : line);
+const char * baseName = (classType == 0 && importType == 2 && isRemote) ? "DCOMClientObject" : (!strcmp(line, "[None]") ? (((void *)0)) : line);
 
 if(!isRemote || (importType != 2) || (!sourceFile || !strstr(sourceFile, ".main.ec")))
 {
@@ -1426,7 +1426,7 @@ __ecereNameSpace__ecere__com__eClass_AddTemplateParameter(regClass, name, type,
 if(type == 0 || type == 2)
 (__ecereNameSpace__ecere__com__eSystem_Delete(info), info = 0);
 if(type == 0 || type == 1)
-(__ecereNameSpace__ecere__com__eSystem_Delete(defaultArg.dataTypeString), defaultArg.dataTypeString = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)defaultArg.dataTypeString), defaultArg.dataTypeString = 0);
 }
 if(regClass)
 __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(regClass);
@@ -1638,15 +1638,15 @@ int importAccess;
 
 extern size_t strlen(const char * );
 
-extern char *  __ecereNameSpace__ecere__sys__GetExtension(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__GetExtension(const char *  string, char *  output);
 
 extern char *  symbolsDir;
 
-extern char *  __ecereNameSpace__ecere__sys__PathCat(char *  string, char *  addedPath);
+extern char *  __ecereNameSpace__ecere__sys__PathCat(char *  string, const char *  addedPath);
 
-extern char *  __ecereNameSpace__ecere__sys__ChangeExtension(char *  string, char *  ext, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__ChangeExtension(const char *  string, const char *  ext, char *  output);
 
-extern unsigned int __ecereNameSpace__ecere__sys__FileExists(char *  fileName);
+extern unsigned int __ecereNameSpace__ecere__sys__FileExists(const char *  fileName);
 
 extern unsigned int inCompiler;
 
@@ -1662,7 +1662,7 @@ struct __ecereNameSpace__ecere__com__Instance * container;
 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
 } __attribute__ ((gcc_struct));
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStrict(struct __ecereNameSpace__ecere__com__Instance * fromModule, char *  name, int importAccess);
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__com__eModule_LoadStrict(struct __ecereNameSpace__ecere__com__Instance * fromModule, const char *  name, int importAccess);
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
@@ -1677,7 +1677,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -1694,7 +1694,7 @@ struct __ecereNameSpace__ecere__com__Instance * container;
 struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
 } __attribute__ ((gcc_struct));
 
-extern int sprintf(char * , char * , ...);
+extern int sprintf(char * , const char * , ...);
 
 extern int __ecereNameSpace__ecere__com__GetRuntimePlatform(void);
 
@@ -1708,7 +1708,7 @@ void __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(struct __ecer
 
 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__com__MapIterator_map;
 
-unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 index, unsigned int create);
+unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, const uint64 index, unsigned int create);
 
 int __ecereVMethodID___ecereNameSpace__ecere__com__Container_Add;
 
@@ -1722,7 +1722,7 @@ extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameS
 
 unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Next();
 
-void ImportModule(char * name, int importType, int importAccess, unsigned int loadDllOnly)
+void ImportModule(const char * name, int importType, int importAccess, unsigned int loadDllOnly)
 {
 struct ImportedModule * module = (((void *)0));
 char moduleName[797];
@@ -1911,9 +1911,9 @@ char * GetIncludeFileFromID(int id)
 return includes[id - 1];
 }
 
-extern char *  __ecereNameSpace__ecere__sys__StripLastDirectory(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__StripLastDirectory(const char *  string, char *  output);
 
-extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(char *  fileName, int mode);
+extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__sys__FileOpen(const char *  fileName, int mode);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__NamedItem;
 
@@ -1991,7 +1991,7 @@ for(; (ns = (struct __ecereNameSpace__ecere__com__NameSpace *)globalDataList->na
 {
 FreeGlobalData(ns);
 __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove(&globalDataList->nameSpaces, (struct __ecereNameSpace__ecere__sys__BTNode *)ns);
-(__ecereNameSpace__ecere__com__eSystem_Delete((*ns).name), (*ns).name = 0);
+(__ecereNameSpace__ecere__com__eSystem_Delete((void *)(*ns).name), (*ns).name = 0);
 (__ecereNameSpace__ecere__com__eSystem_Delete(ns), ns = 0);
 }
 for(; (data = (struct GlobalData *)globalDataList->functions.root); )
@@ -2008,7 +2008,7 @@ FreeType(data->dataType);
 
 extern void PrintType(struct Type * type, char *  string, unsigned int printName, unsigned int fullName);
 
-extern void Compiler_Warning(char *  format, ...);
+extern void Compiler_Warning(const char *  format, ...);
 
 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free(struct __ecereNameSpace__ecere__sys__OldList * this, void (*  freeFn)(void * ));
 
@@ -2048,8 +2048,8 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetInPreCompiler", "void
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetInSymbolGen", "void SetInSymbolGen(bool b)", SetInSymbolGen, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetPrecompDefines", "void SetPrecompDefines(ecere::sys::OldList * list)", SetPrecompDefines, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("DummyMethod", "bool DummyMethod(void)", DummyMethod, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("LoadSymbols", "bool LoadSymbols(char * fileName, ecere::com::ImportType importType, bool loadDllOnly)", LoadSymbols, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ImportModule", "void ImportModule(char * name, ecere::com::ImportType importType, ecere::com::AccessMode importAccess, bool loadDllOnly)", ImportModule, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("LoadSymbols", "bool LoadSymbols(const char * fileName, ecere::com::ImportType importType, bool loadDllOnly)", LoadSymbols, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ImportModule", "void ImportModule(const char * name, ecere::com::ImportType importType, ecere::com::AccessMode importAccess, bool loadDllOnly)", ImportModule, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FindIncludeFileID", "int FindIncludeFileID(char * includeFile)", FindIncludeFileID, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetIncludeFileID", "int GetIncludeFileID(char * includeFile)", GetIncludeFileID, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetIncludeFileFromID", "char * GetIncludeFileFromID(int id)", GetIncludeFileFromID, module, 2);
index c5eddcc..6c2fa3b 100644 (file)
@@ -69,7 +69,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -79,7 +79,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -90,12 +90,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -106,7 +106,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -499,7 +499,7 @@ struct TemplateDatatype * dataType;
 int memberType;
 } __attribute__ ((gcc_struct));
 struct TemplateArgument * defaultArgument;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * baseType;
 } __attribute__ ((gcc_struct));
 
@@ -781,6 +781,7 @@ unsigned int dllExport : 1;
 unsigned int attrStdcall : 1;
 unsigned int declaredWithStruct : 1;
 unsigned int typedByReference : 1;
+unsigned int casted : 1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
@@ -789,7 +790,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -810,16 +811,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -831,7 +832,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -843,13 +844,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -874,12 +875,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -909,13 +910,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -1420,7 +1421,7 @@ static void OutputInstance(struct Instantiation * inst, struct __ecereNameSpace_
 
 static void OutputInitializer(struct Initializer * initializer, struct __ecereNameSpace__ecere__com__Instance * f);
 
-int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, char *  format, ...);
+int __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(struct __ecereNameSpace__ecere__com__Instance * this, const char *  format, ...);
 
 void OutputExpression(struct Expression * exp, struct __ecereNameSpace__ecere__com__Instance * f)
 {
@@ -1917,11 +1918,11 @@ __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpa
 
 extern char *  strchr(const char * , int);
 
-extern char *  __ecereNameSpace__ecere__sys__StripLastDirectory(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__StripLastDirectory(const char *  string, char *  output);
 
-extern char *  sourceFile;
+extern const char *  sourceFile;
 
-extern char *  __ecereNameSpace__ecere__sys__PathCat(char *  string, char *  addedPath);
+extern char *  __ecereNameSpace__ecere__sys__PathCat(char *  string, const char *  addedPath);
 
 extern void __ecereNameSpace__ecere__sys__ChangeCh(char *  string, char ch1, char ch2);
 
@@ -1939,17 +1940,17 @@ __ecereNameSpace__ecere__sys__PathCat(name, sourceFile);
 __ecereNameSpace__ecere__sys__ChangeCh(name, '\\', '/');
 }
 
-extern char *  outputFile;
+extern const char *  outputFile;
 
 static void OutputDeclaration(struct Declaration * decl, struct __ecereNameSpace__ecere__com__Instance * f);
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  MkList(void);
 
-extern struct Declarator * SpecDeclFromString(char *  string, struct __ecereNameSpace__ecere__sys__OldList *  specs, struct Declarator * baseDecl);
+extern struct Declarator * SpecDeclFromString(const char *  string, struct __ecereNameSpace__ecere__sys__OldList *  specs, struct Declarator * baseDecl);
 
 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  CopyList(struct __ecereNameSpace__ecere__sys__OldList *  source, void *  (*  CopyFunction)(void * ));
 
@@ -1959,7 +1960,7 @@ extern struct Declarator * PlugDeclarator(struct Declarator * decl, struct Decla
 
 extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void *  item);
 
-extern struct Specifier * MkSpecifierName(char *  name);
+extern struct Specifier * MkSpecifierName(const char *  name);
 
 extern void PrintTypeNoConst(struct Type * type, char *  string, unsigned int printName, unsigned int fullName);
 
@@ -2823,7 +2824,7 @@ else if(extDecl->type == 1)
 OutputAttrib(extDecl->attr, f);
 }
 
-extern struct Symbol * FindClass(char *  name);
+extern struct Symbol * FindClass(const char *  name);
 
 static void OutputClassDef(struct ClassDef * def, struct __ecereNameSpace__ecere__com__Instance * f);
 
@@ -3863,7 +3864,7 @@ break;
 }
 }
 
-extern char *  __ecereNameSpace__ecere__sys__TrimRSpaces(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__TrimRSpaces(const char *  string, char *  output);
 
 extern void *  __ecereNameSpace__ecere__com__eInstance_New(struct __ecereNameSpace__ecere__com__Class * _class);
 
@@ -3914,7 +3915,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_output(struct __ecereNameSpace__ecere__com__Instance * module)
 {
index 7007e3c..8a02dae 100644 (file)
@@ -80,7 +80,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -90,7 +90,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -101,12 +101,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -117,7 +117,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -765,6 +765,7 @@ unsigned int dllExport : 1;
 unsigned int attrStdcall : 1;
 unsigned int declaredWithStruct : 1;
 unsigned int typedByReference : 1;
+unsigned int casted : 1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
@@ -773,7 +774,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -794,16 +795,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -815,7 +816,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -827,13 +828,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -858,12 +859,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -893,13 +894,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -1095,13 +1096,18 @@ extern struct Location yylloc;
 
 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;
 
-for(c = 0; (ch = className[c]); c++)
+c = 0;
+if(!strncmp(className, "const ", 6))
+c += 6;
+for(; (ch = className[c]); c++)
 {
 if(ch == ' ')
 output[d++] = '_';
@@ -1115,6 +1121,8 @@ output[d++] = '_';
 }
 else if(ch == '<')
 {
+if(!strncmp(className + c + 1, "const ", 6))
+c += 6;
 output[d++] = '_';
 output[d++] = 'T';
 output[d++] = 'P';
@@ -1135,6 +1143,8 @@ output[d++] = '_';
 }
 else if(ch == ',')
 {
+if(!strncmp(className + c + 1, "const ", 6))
+c += 6;
 output[d++] = '_';
 }
 else
@@ -1147,7 +1157,7 @@ extern char *  strcat(char * , const char * );
 
 extern size_t strlen(const char * );
 
-void FullClassNameCat(char * output, char * className, unsigned int includeTemplateParams)
+void FullClassNameCat(char * output, const char * className, unsigned int includeTemplateParams)
 {
 int c;
 char ch;
@@ -1162,7 +1172,10 @@ break;
 }
 }
 len = strlen(output);
-for(c = 0; (ch = className[c]); c++)
+c = 0;
+if(!strncmp(className, "const ", 6))
+c += 6;
+for(; (ch = className[c]); c++)
 {
 if(ch == ':')
 output[len++] = '_';
@@ -1188,6 +1201,8 @@ else if(ch == '<')
 {
 if(!includeTemplateParams)
 break;
+if(!strncmp(className + c + 1, "const ", 6))
+c += 6;
 output[len++] = '_';
 output[len++] = 'T';
 output[len++] = 'P';
@@ -1200,6 +1215,8 @@ output[len++] = '_';
 }
 else if(ch == ',')
 {
+if(!strncmp(className + c + 1, "const ", 6))
+c += 6;
 output[len++] = '_';
 }
 else
@@ -1220,7 +1237,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -1242,9 +1259,9 @@ else
 return 0x0;
 }
 
-extern void Compiler_Error(char *  format, ...);
+extern void Compiler_Error(const char *  format, ...);
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
 
@@ -1257,7 +1274,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -1271,7 +1288,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 struct __ecereNameSpace__ecere__com__Application
 {
 int argc;
-char * *  argv;
+const char * *  argv;
 int exitCode;
 unsigned int isGUIApp;
 struct __ecereNameSpace__ecere__sys__OldList allModules;
@@ -1283,7 +1300,7 @@ extern unsigned int ModuleAccess(struct __ecereNameSpace__ecere__com__Instance *
 
 extern struct __ecereNameSpace__ecere__com__Instance * privateModule;
 
-static void CheckPublicClass(struct Symbol * classSym, int access, char * word)
+static void CheckPublicClass(struct Symbol * classSym, int access, const char * word)
 {
 struct __ecereNameSpace__ecere__com__Class * regClass = classSym ? classSym->registered : (((void *)0));
 
@@ -1455,7 +1472,7 @@ break;
 }
 }
 
-static void CheckPublicDataType(struct Type * type, int access, char * word)
+static void CheckPublicDataType(struct Type * type, int access, const char * word)
 {
 if(type)
 {
@@ -1510,7 +1527,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__BTNamedLink
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__BTNamedLink * parent;
 struct __ecereNameSpace__ecere__com__BTNamedLink * left;
 struct __ecereNameSpace__ecere__com__BTNamedLink * right;
@@ -1518,9 +1535,9 @@ int depth;
 void *  data;
 } __attribute__ ((gcc_struct));
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
 
-struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char *  key);
+struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char *  key);
 
 static void CheckMembersDefinitions(struct __ecereNameSpace__ecere__com__Class * regClass, struct __ecereNameSpace__ecere__com__DataMember * member, struct __ecereNameSpace__ecere__sys__OldList * definitions, int access)
 {
@@ -1603,19 +1620,19 @@ extern unsigned int inCompiler;
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  MkList(void);
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
-extern struct Symbol * FindClass(char *  name);
+extern struct Symbol * FindClass(const char *  name);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  dataType, void *  setStmt, void *  getStmt, int declMode);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_AddProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  dataType, void *  setStmt, void *  getStmt, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, void *  function, int declMode);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_AddMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, void *  function, int declMode);
 
 extern struct External * MkExternalDeclaration(struct Declaration * declaration);
 
@@ -1623,15 +1640,15 @@ extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void *
 
 extern struct ClassDef * MkClassDefDeclaration(struct Declaration * decl);
 
-extern struct Specifier * MkSpecifierName(char *  name);
+extern struct Specifier * MkSpecifierName(const char *  name);
 
 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 extern struct Declaration * MkStructDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * declarators, struct Specifier * extStorage);
 
-extern struct Expression * QMkExpId(char *  id);
+extern struct Expression * QMkExpId(const char *  id);
 
 extern void FreeDeclarator(struct Declarator * decl);
 
@@ -1639,9 +1656,9 @@ extern void FreeList(struct __ecereNameSpace__ecere__sys__OldList * list, void (
 
 extern void FreeSpecifier(struct Specifier * spec);
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
-extern struct Type * MkClassType(char *  name);
+extern struct Type * MkClassType(const char *  name);
 
 extern char *  strcpy(char * , const char * );
 
@@ -1659,7 +1676,7 @@ extern int structDeclMode;
 
 extern char *  strstr(const char * , const char * );
 
-extern char *  sourceFile;
+extern const char *  sourceFile;
 
 extern struct Specifier * MkSpecifier(int specifier);
 
@@ -1711,11 +1728,11 @@ extern struct __ecereNameSpace__ecere__sys__OldList *  CopyList(struct __ecereNa
 
 extern struct Declarator * PlugDeclarator(struct Declarator * decl, struct Declarator * baseDecl);
 
-extern void Compiler_Warning(char *  format, ...);
+extern void Compiler_Warning(const char *  format, ...);
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  ast;
 
-extern int sprintf(char * , char * , ...);
+extern int sprintf(char * , const char * , ...);
 
 extern struct Type * ProcessType(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl);
 
@@ -2599,14 +2616,14 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_pass0(struct __ecereNameSpace__ecere__com__Instance * module)
 {
 struct __ecereNameSpace__ecere__com__Class * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MangleClassName", "void MangleClassName(char * className)", MangleClassName, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FullClassNameCat", "void FullClassNameCat(char * output, char * className, bool includeTemplateParams)", FullClassNameCat, 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);
 }
 
index 768d5d7..19cfa7f 100644 (file)
@@ -79,7 +79,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -89,7 +89,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -100,12 +100,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -116,7 +116,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -506,7 +506,7 @@ struct TemplateDatatype * dataType;
 int memberType;
 } __attribute__ ((gcc_struct));
 struct TemplateArgument * defaultArgument;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * baseType;
 } __attribute__ ((gcc_struct));
 
@@ -781,6 +781,7 @@ unsigned int dllExport : 1;
 unsigned int attrStdcall : 1;
 unsigned int declaredWithStruct : 1;
 unsigned int typedByReference : 1;
+unsigned int casted : 1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
@@ -789,7 +790,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -810,16 +811,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -831,7 +832,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -843,13 +844,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -874,12 +875,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -909,13 +910,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -1137,15 +1138,15 @@ extern void ProcessMethodType(struct __ecereNameSpace__ecere__com__Method * meth
 
 extern struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  FindTemplateArg(struct __ecereNameSpace__ecere__com__Class * _class, struct TemplateParameter * param);
 
-extern struct Type * ProcessTypeString(char *  string, unsigned int staticMethod);
+extern struct Type * ProcessTypeString(const char *  string, unsigned int staticMethod);
 
-extern struct Symbol * FindClass(char *  name);
+extern struct Symbol * FindClass(const char *  name);
 
-extern unsigned int MatchTypes(struct Type * source, struct Type * dest, struct __ecereNameSpace__ecere__sys__OldList * conversions, struct __ecereNameSpace__ecere__com__Class * owningClassSource, struct __ecereNameSpace__ecere__com__Class * owningClassDest, unsigned int doConversion, unsigned int enumBaseType, unsigned int acceptReversedParams, unsigned int isConversionExploration);
+extern unsigned int MatchTypes(struct Type * source, struct Type * dest, struct __ecereNameSpace__ecere__sys__OldList * conversions, struct __ecereNameSpace__ecere__com__Class * owningClassSource, struct __ecereNameSpace__ecere__com__Class * owningClassDest, unsigned int doConversion, unsigned int enumBaseType, unsigned int acceptReversedParams, unsigned int isConversionExploration, unsigned int warnConst);
 
-extern void Compiler_Error(char *  format, ...);
+extern void Compiler_Error(const char *  format, ...);
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
 extern struct Declarator * GetFuncDecl(struct Declarator * decl);
 
@@ -1261,7 +1262,7 @@ type->extraParam = 0x1;
 }
 }
 yylloc = func->loc;
-if(!MatchTypes(type, methodDataType, (((void *)0)), owningClass, method->_class, 0x1, 0x1, 0x1, 0x0))
+if(!MatchTypes(type, methodDataType, (((void *)0)), owningClass, method->_class, 0x1, 0x1, 0x1, 0x0, 0x1))
 {
 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "Incompatible virtual function %s\n", (((void *)0))), method->name);
 }
@@ -1375,25 +1376,25 @@ extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__O
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  MkListOne(void *  item);
 
-extern struct Specifier * MkSpecifierName(char *  name);
+extern struct Specifier * MkSpecifierName(const char *  name);
 
 extern struct InitDeclarator * MkInitDeclarator(struct Declarator * declarator, struct Initializer * initializer);
 
 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
 
-extern char *  __ecereNameSpace__ecere__sys__GetLastDirectory(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__GetLastDirectory(const char *  string, char *  output);
 
-extern char *  outputFile;
+extern const char *  outputFile;
 
 extern unsigned int __ecereNameSpace__ecere__sys__StripExtension(char *  string);
 
 extern void FixModuleName(char *  moduleName);
 
-extern int sprintf(char * , char * , ...);
+extern int sprintf(char * , const char * , ...);
 
 extern struct Declarator * MkDeclaratorFunction(struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * parameters);
 
@@ -1470,15 +1471,15 @@ ListAdd(ast, (unregisterModuleExternal = MkExternalFunction(function)));
 
 extern struct Expression * MkExpIdentifier(struct Identifier * id);
 
-extern struct Expression * MkExpConstant(char *  string);
+extern struct Expression * MkExpConstant(const char *  string);
 
-extern char *  QMkString(char *  source);
+extern char *  QMkString(const char *  source);
 
-extern struct Expression * MkExpString(char *  string);
+extern struct Expression * MkExpString(const char *  string);
 
 extern char *  strcpy(char * , const char * );
 
-extern void FullClassNameCat(char *  output, char *  className, unsigned int includeTemplateParams);
+extern void FullClassNameCat(char *  output, const char *  className, unsigned int includeTemplateParams);
 
 extern char *  strcat(char * , const char * );
 
@@ -1508,12 +1509,12 @@ struct __ecereNameSpace__ecere__com__BitMember
 {
 struct __ecereNameSpace__ecere__com__BitMember * prev;
 struct __ecereNameSpace__ecere__com__BitMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -1538,14 +1539,14 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__ClassProperty
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__ClassProperty * parent;
 struct __ecereNameSpace__ecere__com__ClassProperty * left;
 struct __ecereNameSpace__ecere__com__ClassProperty * right;
 int depth;
 void (*  Set)(struct __ecereNameSpace__ecere__com__Class *, long long);
 long long (*  Get)(struct __ecereNameSpace__ecere__com__Class *);
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 unsigned int constant;
 } __attribute__ ((gcc_struct));
@@ -1558,7 +1559,7 @@ struct __ecereNameSpace__ecere__sys__BTNode * __ecereProp___ecereNameSpace__ecer
 
 extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp___ecereNameSpace__ecere__sys__BTNode_next;
 
-void RegisterMembersAndProperties(struct __ecereNameSpace__ecere__com__Class * regClass, unsigned int isMember, char * className, struct Statement * statement)
+void RegisterMembersAndProperties(struct __ecereNameSpace__ecere__com__Class * regClass, unsigned int isMember, const char * className, struct Statement * statement)
 {
 struct __ecereNameSpace__ecere__com__DataMember * dataMember = isMember ? (struct __ecereNameSpace__ecere__com__DataMember *)regClass : (((void *)0));
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -1981,7 +1982,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -2092,9 +2093,9 @@ struct OpTable ops;
 
 extern struct Operand GetOperand(struct Expression * exp);
 
-extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, char *  string, int value);
+extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereNameSpace__ecere__com__Class * _class, const char *  string, int value);
 
-extern int __ecereNameSpace__ecere__com__eEnum_AddValue(struct __ecereNameSpace__ecere__com__Class * _class, char *  string);
+extern int __ecereNameSpace__ecere__com__eEnum_AddValue(struct __ecereNameSpace__ecere__com__Class * _class, const char *  string);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldLink;
 
@@ -2121,13 +2122,13 @@ extern struct External * MkExternalDeclaration(struct Declaration * declaration)
 
 extern struct ClassDef * MkClassDefFunction(struct ClassFunction * function);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
 extern struct __ecereNameSpace__ecere__com__Instance * privateModule;
 
 extern void FreePropertyWatch(struct PropertyWatch * watcher);
 
-extern char *  sourceFile;
+extern const char *  sourceFile;
 
 extern void __ecereNameSpace__ecere__sys__ChangeCh(char *  string, char ch1, char ch2);
 
@@ -2141,9 +2142,9 @@ extern struct Specifier * MkStructOrUnion(int type, struct Identifier * id, stru
 
 extern unsigned int DummyMethod(void);
 
-extern void DeclareMethod(struct __ecereNameSpace__ecere__com__Method * method, char *  name);
+extern void DeclareMethod(struct __ecereNameSpace__ecere__com__Method * method, const char *  name);
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
 extern char *  StringFromSpecDecl(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl);
 
@@ -2362,7 +2363,7 @@ struct Statement * stmt;
 struct __ecereNameSpace__ecere__sys__OldList * args = MkList();
 struct __ecereNameSpace__ecere__com__Method * method;
 struct Expression * exp;
-char * registerFunction = (((void *)0));
+const char * registerFunction = (((void *)0));
 int inheritanceAccess = 1;
 
 CreateRegisterModuleBody();
@@ -2735,7 +2736,7 @@ case 1:
 char memberTypeString[132] = "TemplateMemberType::";
 unsigned int needClass = 0x1;
 
-((char *  (*)(struct __ecereNameSpace__ecere__com__Class *, void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass___ecereNameSpace__ecere__com__TemplateMemberType->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass___ecereNameSpace__ecere__com__TemplateMemberType, &param->memberType, memberTypeString + strlen(memberTypeString), (((void *)0)), &needClass);
+((const char *  (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass___ecereNameSpace__ecere__com__TemplateMemberType->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass___ecereNameSpace__ecere__com__TemplateMemberType, &param->memberType, memberTypeString + strlen(memberTypeString), (((void *)0)), &needClass);
 ListAdd(args, MkExpCast(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpIdentifier(MkIdentifier(memberTypeString))));
 break;
 }
@@ -3141,9 +3142,9 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
 
@@ -3156,7 +3157,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -3177,7 +3178,7 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetBuildingEcereComModul
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetBuildingEcereComModule", "bool GetBuildingEcereComModule(void)", GetBuildingEcereComModule, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessClassFunction", "External ProcessClassFunction(ecere::com::Class owningClass, ClassFunction func, ecere::sys::OldList defs, External after, bool makeStatic)", ProcessClassFunction, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("CreateRegisterModuleBody", "void CreateRegisterModuleBody(void)", CreateRegisterModuleBody, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("RegisterMembersAndProperties", "void RegisterMembersAndProperties(ecere::com::Class regClass, bool isMember, char * className, Statement statement)", RegisterMembersAndProperties, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("RegisterMembersAndProperties", "void RegisterMembersAndProperties(ecere::com::Class regClass, bool isMember, const char * className, Statement statement)", RegisterMembersAndProperties, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetNameSpaceString", "void GetNameSpaceString(ecere::com::NameSpace ns, char * string)", GetNameSpaceString, module, 2);
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ClassPropertyValue", 0, sizeof(struct ClassPropertyValue), 0, 0, __ecereDestructor_ClassPropertyValue, 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)
index 13d900a..63225ce 100644 (file)
@@ -81,7 +81,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -91,7 +91,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -102,12 +102,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -118,7 +118,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -519,7 +519,7 @@ struct TemplateDatatype * dataType;
 int memberType;
 } __attribute__ ((gcc_struct));
 struct TemplateArgument * defaultArgument;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * baseType;
 } __attribute__ ((gcc_struct));
 
@@ -812,6 +812,7 @@ unsigned int dllExport : 1;
 unsigned int attrStdcall : 1;
 unsigned int declaredWithStruct : 1;
 unsigned int typedByReference : 1;
+unsigned int casted : 1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
@@ -820,7 +821,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -841,16 +842,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -862,7 +863,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -874,13 +875,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -905,12 +906,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -940,13 +941,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -1278,7 +1279,7 @@ outputLineNumbers = backOutputLineNumbers;
 }
 }
 
-extern struct Type * ProcessTypeString(char *  string, unsigned int staticMethod);
+extern struct Type * ProcessTypeString(const char *  string, unsigned int staticMethod);
 
 extern struct Type * ProcessType(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl);
 
@@ -1323,7 +1324,7 @@ return type1->isSigned != type2->isSigned;
 case 8:
 return type1->_class != type2->_class;
 case 13:
-return NeedCast(type1->type, type2->type);
+return (type1->type && type2->type && type1->type->constant != type2->type->constant) || NeedCast(type1->type, type2->type);
 default:
 return 0x1;
 }
@@ -1339,33 +1340,33 @@ extern struct Context * topContext;
 
 extern unsigned int __ecereNameSpace__ecere__com__eClass_IsDerived(struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__Class * from);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
 extern struct __ecereNameSpace__ecere__com__Instance * privateModule;
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassProperty;
 
 struct __ecereNameSpace__ecere__com__ClassProperty
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__ClassProperty * parent;
 struct __ecereNameSpace__ecere__com__ClassProperty * left;
 struct __ecereNameSpace__ecere__com__ClassProperty * right;
 int depth;
 void (*  Set)(struct __ecereNameSpace__ecere__com__Class *, long long);
 long long (*  Get)(struct __ecereNameSpace__ecere__com__Class *);
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 unsigned int constant;
 } __attribute__ ((gcc_struct));
 
-extern struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_FindClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_FindClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern struct Expression * QMkExpId(char *  id);
+extern struct Expression * QMkExpId(const char *  id);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter;
 
@@ -1373,18 +1374,18 @@ struct __ecereNameSpace__ecere__com__ClassTemplateParameter
 {
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter * prev;
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter * next;
-char *  name;
+const char *  name;
 int type;
 union
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 int memberType;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg;
 void *  param;
 } __attribute__ ((gcc_struct));
 
-extern struct Expression * GetTemplateArgExpByName(char *  paramName, struct __ecereNameSpace__ecere__com__Class * curClass, int tplType);
+extern struct Expression * GetTemplateArgExpByName(const char *  paramName, struct __ecereNameSpace__ecere__com__Class * curClass, int tplType);
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  MkList(void);
 
@@ -1392,7 +1393,7 @@ extern void FreeIdentifier(struct Identifier * id);
 
 void ProcessExpressionType(struct Expression * exp);
 
-extern struct Declarator * SpecDeclFromString(char *  string, struct __ecereNameSpace__ecere__sys__OldList *  specs, struct Declarator * baseDecl);
+extern struct Declarator * SpecDeclFromString(const char *  string, struct __ecereNameSpace__ecere__sys__OldList *  specs, struct Declarator * baseDecl);
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  MkListOne(void *  item);
 
@@ -1406,7 +1407,7 @@ extern struct Declarator * MkDeclaratorPointer(struct Pointer * pointer, struct
 
 extern struct Pointer * MkPointer(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Pointer * pointer);
 
-struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char *  key);
+struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char *  key);
 
 static void ReplaceClassMembers(struct Expression * exp, struct __ecereNameSpace__ecere__com__Class * _class)
 {
@@ -1487,13 +1488,13 @@ exp->list = MkListOne(MkExpOp((((void *)0)), '*', MkExpCast(MkTypeName(specs, Mk
 }
 }
 
-extern int sprintf(char * , char * , ...);
+extern int sprintf(char * , const char * , ...);
 
 extern int __ecereNameSpace__ecere__com__GetRuntimePlatform(void);
 
 extern char *  strcat(char * , const char * );
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
 char * PrintInt(long long result)
 {
@@ -2374,12 +2375,12 @@ struct __ecereNameSpace__ecere__com__BitMember
 {
 struct __ecereNameSpace__ecere__com__BitMember * prev;
 struct __ecereNameSpace__ecere__com__BitMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -2687,7 +2688,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__NameSpace
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__NameSpace *  btParent;
 struct __ecereNameSpace__ecere__com__NameSpace *  left;
 struct __ecereNameSpace__ecere__com__NameSpace *  right;
@@ -2710,7 +2711,7 @@ struct __ecereNameSpace__ecere__sys__OldList functions;
 struct __ecereNameSpace__ecere__sys__OldList modules;
 struct __ecereNameSpace__ecere__com__Instance * prev;
 struct __ecereNameSpace__ecere__com__Instance * next;
-char *  name;
+const char *  name;
 void *  library;
 void *  Unload;
 int importType;
@@ -2732,9 +2733,9 @@ ComputeClassMembers(_class, 0x0);
 
 extern unsigned int inCompiler;
 
-extern void Compiler_Error(char *  format, ...);
+extern void Compiler_Error(const char *  format, ...);
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
 int ComputeTypeSize(struct Type * type)
 {
@@ -2914,7 +2915,7 @@ return size;
 
 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void *  item);
 
@@ -2936,7 +2937,7 @@ extern struct Specifier * MkSpecifier(int specifier);
 
 extern struct Declarator * MkDeclaratorArray(struct Declarator * declarator, struct Expression * exp);
 
-extern struct Expression * MkExpConstant(char *  string);
+extern struct Expression * MkExpConstant(const char *  string);
 
 int AddMembers(struct __ecereNameSpace__ecere__sys__OldList * declarations, struct __ecereNameSpace__ecere__com__Class * _class, unsigned int isMember, unsigned int * retSize, struct __ecereNameSpace__ecere__com__Class * topClass, unsigned int * addedPadding)
 {
@@ -3091,11 +3092,11 @@ FinishTemplatesContext(context);
 return topMember ? topMember->memberID : _class->memberID;
 }
 
-extern struct Symbol * FindClass(char *  name);
+extern struct Symbol * FindClass(const char *  name);
 
 extern char *  strchr(const char * , int);
 
-extern void FullClassNameCat(char *  output, char *  className, unsigned int includeTemplateParams);
+extern void FullClassNameCat(char *  output, const char *  className, unsigned int includeTemplateParams);
 
 extern void FreeList(struct __ecereNameSpace__ecere__sys__OldList * list, void (*  FreeFunction)(void * ));
 
@@ -3107,13 +3108,13 @@ extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__O
 
 extern void MangleClassName(char *  className);
 
-extern void DeclareClass(struct Symbol * classSym, char *  className);
+extern void DeclareClass(struct Symbol * classSym, const char *  className);
 
 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Move(struct __ecereNameSpace__ecere__sys__OldList * this, void *  item, void *  prevItem);
 
 unsigned int __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(struct __ecereNameSpace__ecere__sys__OldList * this, void *  prevItem, void *  item);
 
-void DeclareStruct(char * name, unsigned int skipNoHead)
+void DeclareStruct(const char * name, unsigned int skipNoHead)
 {
 struct External * external = (((void *)0));
 struct Symbol * classSym = FindClass(name);
@@ -3242,7 +3243,7 @@ extern struct ModuleImport * FindModule(struct __ecereNameSpace__ecere__com__Ins
 
 extern struct ModuleImport * mainModule;
 
-extern struct Specifier * MkSpecifierName(char *  name);
+extern struct Specifier * MkSpecifierName(const char *  name);
 
 extern struct Declarator * MkDeclaratorBrackets(struct Declarator * declarator);
 
@@ -3572,13 +3573,13 @@ extern void FreeExpression(struct Expression * exp);
 
 extern void __ecereNameSpace__ecere__sys__ChangeCh(char *  string, char ch1, char ch2);
 
-unsigned int MatchTypes(struct Type * source, struct Type * dest, struct __ecereNameSpace__ecere__sys__OldList * conversions, struct __ecereNameSpace__ecere__com__Class * owningClassSource, struct __ecereNameSpace__ecere__com__Class * owningClassDest, unsigned int doConversion, unsigned int enumBaseType, unsigned int acceptReversedParams, unsigned int isConversionExploration);
+unsigned int MatchTypes(struct Type * source, struct Type * dest, struct __ecereNameSpace__ecere__sys__OldList * conversions, struct __ecereNameSpace__ecere__com__Class * owningClassSource, struct __ecereNameSpace__ecere__com__Class * owningClassDest, unsigned int doConversion, unsigned int enumBaseType, unsigned int acceptReversedParams, unsigned int isConversionExploration, unsigned int warnConst);
 
 static void ProcessInitializer(struct Initializer * init, struct Type * type);
 
-extern struct Type * MkClassType(char *  name);
+extern struct Type * MkClassType(const char *  name);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, char *  type, unsigned int size, unsigned int alignment, int declMode);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_AddDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, const char *  type, unsigned int size, unsigned int alignment, int declMode);
 
 void ProcessMemberInitData(struct MemberInit * member, struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__Class ** curClass, struct __ecereNameSpace__ecere__com__DataMember ** curMember, struct __ecereNameSpace__ecere__com__DataMember ** subMemberStack, int * subMemberStackPos)
 {
@@ -3712,7 +3713,20 @@ struct __ecereNameSpace__ecere__com__ClassTemplateArgument arg = _class->templat
 
 if(arg.dataTypeString)
 {
+unsigned int constant = type->constant;
+
 type = ProcessTypeString(arg.dataTypeString, 0x0);
+if(type->kind == 8 && constant)
+type->constant = 0x1;
+else if(type->kind == 13)
+{
+struct Type * t = type->type;
+
+while(t->kind == 13)
+t = t->type;
+if(constant)
+t->constant = constant;
+}
 freeType = 0x1;
 if(type && _class->templateClass)
 type->passAsTemplate = 0x1;
@@ -3870,7 +3884,7 @@ __ecereNameSpace__ecere__sys__ChangeCh(expString, '\n', ' ');
 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "unresolved symbol used as an instance method %s\n", (((void *)0))), expString);
 }
 }
-else if(!MatchTypes(member->initializer->exp->expType, type, (((void *)0)), (((void *)0)), _class, 0x1, 0x1, 0x0, 0x0))
+else if(!MatchTypes(member->initializer->exp->expType, type, (((void *)0)), (((void *)0)), _class, 0x1, 0x1, 0x0, 0x0, 0x1))
 {
 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "incompatible instance method %s\n", (((void *)0))), ident->string);
 }
@@ -4127,7 +4141,7 @@ DeclareType(type->arrayType, declarePointers, 0x0);
 }
 }
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument * FindTemplateArg(struct __ecereNameSpace__ecere__com__Class * _class, struct TemplateParameter * param)
 {
@@ -4300,7 +4314,7 @@ unsigned int isVirtual;
 
 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(struct __ecereNameSpace__ecere__sys__OldList * this, void *  item);
 
-void DeclareMethod(struct __ecereNameSpace__ecere__com__Method * method, char * name)
+void DeclareMethod(struct __ecereNameSpace__ecere__com__Method * method, const char * name)
 {
 struct Symbol * symbol = method->symbol;
 
@@ -4576,11 +4590,11 @@ struct __ecereNameSpace__ecere__com__GlobalFunction
 {
 struct __ecereNameSpace__ecere__com__GlobalFunction * prev;
 struct __ecereNameSpace__ecere__com__GlobalFunction * next;
-char *  name;
+const char *  name;
 int (*  function)();
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 void *  symbol;
 } __attribute__ ((gcc_struct));
@@ -4786,14 +4800,33 @@ struct Type * resultType;
 
 static struct __ecereNameSpace__ecere__com__Class * __ecereClass_Conversion;
 
-extern void Compiler_Warning(char *  format, ...);
+extern void Compiler_Warning(const char *  format, ...);
+
+extern void CopyTypeInto(struct Type * type, struct Type * src);
 
 void PrintType(struct Type * type, char *  string, unsigned int printName, unsigned int fullName);
 
-unsigned int MatchTypes(struct Type * source, struct Type * dest, struct __ecereNameSpace__ecere__sys__OldList * conversions, struct __ecereNameSpace__ecere__com__Class * owningClassSource, struct __ecereNameSpace__ecere__com__Class * owningClassDest, unsigned int doConversion, unsigned int enumBaseType, unsigned int acceptReversedParams, unsigned int isConversionExploration)
+unsigned int MatchTypes(struct Type * source, struct Type * dest, struct __ecereNameSpace__ecere__sys__OldList * conversions, struct __ecereNameSpace__ecere__com__Class * owningClassSource, struct __ecereNameSpace__ecere__com__Class * owningClassDest, unsigned int doConversion, unsigned int enumBaseType, unsigned int acceptReversedParams, unsigned int isConversionExploration, unsigned int warnConst)
 {
 if(source && dest)
 {
+if(warnConst && ((source->kind == 8 && source->_class && source->_class->registered) || source->kind == 12 || source->kind == 13) && ((dest->kind == 8 && dest->_class && dest->_class->registered) || dest->kind == 13))
+{
+struct __ecereNameSpace__ecere__com__Class * sourceClass = source->kind == 8 ? source->_class->registered : (((void *)0));
+struct __ecereNameSpace__ecere__com__Class * destClass = dest->kind == 8 ? dest->_class->registered : (((void *)0));
+
+if((!sourceClass || (sourceClass && sourceClass->type == 0 && !sourceClass->structSize)) && (!destClass || (destClass && destClass->type == 0 && !destClass->structSize)))
+{
+struct Type * sourceType = source, * destType = dest;
+
+while(sourceType->type && (sourceType->kind == 13 || sourceType->kind == 12))
+sourceType = sourceType->type;
+while(destType->type && (destType->kind == 13 || destType->kind == 12))
+destType = destType->type;
+if(!destType->constant && sourceType->constant)
+Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "discarding const qualifier\n", (((void *)0))));
+}
+}
 if(source->kind == 20 && dest->kind != 20)
 {
 struct Type * type = ProcessTemplateParameterType(source->templateParameter);
@@ -4892,7 +4925,7 @@ struct Conversion * after = (conversions != (((void *)0))) ? conversions->last :
 
 if(!convert->dataType)
 convert->dataType = ProcessTypeString(convert->dataTypeString, 0x0);
-if((!isConversionExploration || convert->dataType->kind == 8 || !strcmp(_class->name, "String")) && MatchTypes(convert->dataType, dest, conversions, (((void *)0)), (((void *)0)), (convert->dataType->kind == 8 && !strcmp(convert->dataTypeString, "String")) ? 0x1 : 0x0, convert->dataType->kind == 8, 0x0, 0x1))
+if((!isConversionExploration || convert->dataType->kind == 8 || !strcmp(_class->name, "String")) && MatchTypes(convert->dataType, dest, conversions, (((void *)0)), (((void *)0)), (convert->dataType->kind == 8 && !strcmp(convert->dataTypeString, "String")) ? 0x1 : 0x0, convert->dataType->kind == 8, 0x0, 0x1, warnConst))
 {
 if(!conversions && !convert->Get)
 return 0x1;
@@ -4925,25 +4958,45 @@ for(convert = _class->conversions.first; convert; convert = convert->next)
 {
 if(convert->memberAccess == 1 || _class->module == privateModule)
 {
+struct Type * constType = (((void *)0));
+unsigned int success = 0x0;
+
 if(!convert->dataType)
 convert->dataType = ProcessTypeString(convert->dataTypeString, 0x0);
-if(convert->dataType != dest && MatchTypes(source, convert->dataType, conversions, (((void *)0)), (((void *)0)), 0x1, 0x0, 0x0, 0x1))
+if(warnConst && convert->dataType->kind == 13 && convert->dataType->type && dest->constant)
+{
+struct Type * ptrType = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
+
+constType = __extension__ ({
+struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
+
+__ecereInstance1->kind = 13, __ecereInstance1->refCount = 1, __ecereInstance1->type = ptrType, __ecereInstance1;
+});
+CopyTypeInto(ptrType, convert->dataType->type);
+ptrType->refCount++;
+ptrType->constant = 0x1;
+}
+if((constType || convert->dataType != dest) && MatchTypes(source, constType ? constType : convert->dataType, conversions, (((void *)0)), (((void *)0)), 0x1, 0x0, 0x0, 0x1, warnConst))
 {
 if(!conversions && !convert->Set)
-return 0x1;
+success = 0x1;
 else if(conversions != (((void *)0)))
 {
 if(_class->type == 3 && convert->dataType->kind == 8 && convert->dataType->_class && convert->dataType->_class->registered && _class->base == convert->dataType->_class->registered->base && (source->kind != 8 || source->_class->registered != _class->base))
-return 0x1;
+success = 0x1;
 else
 {
 struct Conversion * conv = (conv = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Conversion), conv->convert = convert, conv);
 
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(conversions, conv);
-return 0x1;
+success = 0x1;
 }
 }
 }
+if(success)
+return 0x1;
+if(constType)
+FreeType(constType);
 }
 }
 }
@@ -4953,7 +5006,7 @@ if(!dest->_class->registered->dataType)
 dest->_class->registered->dataType = ProcessTypeString(dest->_class->registered->dataTypeString, 0x0);
 if(dest->_class->registered->dataType->kind == 8 || source->truth || dest->truth)
 {
-if(MatchTypes(source, dest->_class->registered->dataType, conversions, (((void *)0)), (((void *)0)), 0x1, dest->_class->registered->dataType->kind == 8, 0x0, 0x0))
+if(MatchTypes(source, dest->_class->registered->dataType, conversions, (((void *)0)), (((void *)0)), 0x1, dest->_class->registered->dataType->kind == 8, 0x0, 0x0, warnConst))
 {
 return 0x1;
 }
@@ -4976,7 +5029,7 @@ struct Conversion * after = (conversions != (((void *)0))) ? conversions->last :
 
 if(!convert->dataType)
 convert->dataType = ProcessTypeString(convert->dataTypeString, 0x0);
-if(convert->dataType != source && (!isConversionExploration || convert->dataType->kind == 8 || !strcmp(_class->name, "String")) && MatchTypes(convert->dataType, dest, conversions, (((void *)0)), (((void *)0)), convert->dataType->kind == 8, convert->dataType->kind == 8, 0x0, 0x1))
+if(convert->dataType != source && (!isConversionExploration || convert->dataType->kind == 8 || !strcmp(_class->name, "String")) && MatchTypes(convert->dataType, dest, conversions, (((void *)0)), (((void *)0)), convert->dataType->kind == 8, convert->dataType->kind == 8, 0x0, 0x1, warnConst))
 {
 if(!conversions && !convert->Get)
 return 0x1;
@@ -5002,9 +5055,9 @@ if(!source->_class->registered->dataType)
 source->_class->registered->dataType = ProcessTypeString(source->_class->registered->dataTypeString, 0x0);
 if(!isConversionExploration || source->_class->registered->dataType->kind == 8 || !strcmp(source->_class->registered->name, "String"))
 {
-if(MatchTypes(source->_class->registered->dataType, dest, conversions, (((void *)0)), (((void *)0)), source->_class->registered->dataType->kind == 8, source->_class->registered->dataType->kind == 8, 0x0, 0x0))
+if(MatchTypes(source->_class->registered->dataType, dest, conversions, (((void *)0)), (((void *)0)), source->_class->registered->dataType->kind == 8, source->_class->registered->dataType->kind == 8, 0x0, 0x0, warnConst))
 return 0x1;
-else if(MatchTypes(dest, source->_class->registered->dataType, (((void *)0)), (((void *)0)), (((void *)0)), 0x0, 0x0, 0x0, 0x0))
+else if(MatchTypes(dest, source->_class->registered->dataType, (((void *)0)), (((void *)0)), (((void *)0)), 0x0, 0x0, 0x0, 0x0, warnConst))
 return 0x1;
 }
 }
@@ -5109,7 +5162,7 @@ return 0x0;
 }
 }
 }
-if(!MatchTypes(source->returnType, dest->returnType, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0))
+if(!MatchTypes(source->returnType, dest->returnType, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, warnConst))
 {
 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString("ec", "incompatible return type for function\n", (((void *)0))));
 return 0x0;
@@ -5161,7 +5214,7 @@ struct __ecereNameSpace__ecere__com__ClassTemplateArgument arg = owningClassSour
 paramDestType = type = ProcessTypeString(arg.dataTypeString, 0x0);
 }
 }
-if(!MatchTypes(paramDestType, paramSourceType, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0) && (!acceptReversedParams || !MatchTypes(paramSourceType, paramDestType, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0)))
+if(!MatchTypes(paramDestType, paramSourceType, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, warnConst) && (!acceptReversedParams || !MatchTypes(paramSourceType, paramDestType, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, warnConst)))
 {
 char type[1024];
 
@@ -5190,7 +5243,7 @@ return 0x1;
 }
 else if((dest->kind == 13 || dest->kind == 12) && (source->kind == 12 || source->kind == 13))
 {
-if(MatchTypes(source->type, dest->type, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0))
+if(MatchTypes(source->type, dest->type, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, warnConst))
 return 0x1;
 }
 }
@@ -5207,7 +5260,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__BTNamedLink
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__BTNamedLink * parent;
 struct __ecereNameSpace__ecere__com__BTNamedLink * left;
 struct __ecereNameSpace__ecere__com__BTNamedLink * right;
@@ -5265,7 +5318,7 @@ type->kind = 8;
 if(!_class->symbol)
 _class->symbol = FindClass(_class->fullName);
 type->_class = _class->symbol;
-if(MatchTypes(type, dest, &converts, (((void *)0)), (((void *)0)), 0x1, 0x0, 0x0, 0x0))
+if(MatchTypes(type, dest, &converts, (((void *)0)), (((void *)0)), 0x1, 0x0, 0x0, 0x0, 0x0))
 {
 struct __ecereNameSpace__ecere__sys__NamedLink * value;
 struct __ecereNameSpace__ecere__com__Class * enumClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, "enum");
@@ -5355,7 +5408,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 struct __ecereNameSpace__ecere__com__Application
 {
 int argc;
-char * *  argv;
+const char * *  argv;
 int exitCode;
 unsigned int isGUIApp;
 struct __ecereNameSpace__ecere__sys__OldList allModules;
@@ -5389,11 +5442,11 @@ void ReadString(char *  output, char *  string);
 
 extern struct Specifier * MkEnum(struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * list);
 
-extern struct TypeName * QMkClass(char *  spec, struct Declarator * decl);
+extern struct TypeName * QMkClass(const char *  spec, struct Declarator * decl);
 
 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
 
-unsigned int MatchTypeExpression(struct Expression * sourceExp, struct Type * dest, struct __ecereNameSpace__ecere__sys__OldList * conversions, unsigned int skipUnitBla)
+unsigned int MatchTypeExpression(struct Expression * sourceExp, struct Type * dest, struct __ecereNameSpace__ecere__sys__OldList * conversions, unsigned int skipUnitBla, unsigned int warnConst)
 {
 struct Type * source;
 struct Type * realDest = dest;
@@ -5495,7 +5548,7 @@ _class->symbol = FindClass(_class->fullName);
 tempType->_class = _class->symbol;
 tempType->truth = dest->truth;
 if(tempType->_class)
-MatchTypes(tempSource, tempDest, conversions, (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0);
+MatchTypes(tempSource, tempDest, conversions, (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, warnConst);
 backupSourceExpType = sourceExp->expType;
 sourceExp->expType = dest;
 dest->refCount++;
@@ -5507,7 +5560,7 @@ if(_class && _class->type == 2 && source->kind != 8)
 {
 if(!dest->_class->registered->dataType)
 dest->_class->registered->dataType = ProcessTypeString(dest->_class->registered->dataTypeString, 0x0);
-if(MatchTypes(source, dest->_class->registered->dataType, conversions, (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0))
+if(MatchTypes(source, dest->_class->registered->dataType, conversions, (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, warnConst))
 {
 FreeType(source);
 FreeType(sourceExp->expType);
@@ -5559,7 +5612,7 @@ tempType->_class = FindClass(_class->fullName);
 tempType->truth = source->truth;
 tempType->classObjectType = source->classObjectType;
 if(tempType->_class)
-MatchTypes(tempSource, tempDest, conversions, (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0);
+MatchTypes(tempSource, tempDest, conversions, (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, warnConst);
 if(conversions->last)
 {
 ((struct Conversion *)conversions->last)->resultType = dest;
@@ -5591,7 +5644,7 @@ source->refCount++;
 }
 if(!flag)
 {
-if(MatchTypes(source, dest, conversions, (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0))
+if(MatchTypes(source, dest, conversions, (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, warnConst))
 {
 FreeType(source);
 FreeType(dest);
@@ -10733,11 +10786,11 @@ j++, k++;
 return (k == offset) ? s + j : (((void *)0));
 }
 
-extern long long __ecereNameSpace__ecere__com___strtoi64(char *  string, char * *  endString, int base);
+extern long long __ecereNameSpace__ecere__com___strtoi64(const char *  string, const char * *  endString, int base);
 
-extern uint64 __ecereNameSpace__ecere__com___strtoui64(char *  string, char * *  endString, int base);
+extern uint64 __ecereNameSpace__ecere__com___strtoui64(const char *  string, const char * *  endString, int base);
 
-extern double strtod(char * , char * * );
+extern double strtod(const char * , char * * );
 
 extern float (* __ecereMethod_float_inf)(void);
 
@@ -10910,7 +10963,7 @@ static __attribute__((unused)) void UnusedFunction()
 {
 int a;
 
-((char *  (*)(struct __ecereNameSpace__ecere__com__Class *, void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int, &a, 0, 0, 0);
+((const char *  (*)(struct __ecereNameSpace__ecere__com__Class *, const void *, char *  tempString, void *  fieldData, unsigned int *  needClass))__ecereClass_int->_vTbl[__ecereVMethodID_class_OnGetString])(__ecereClass_int, &a, 0, 0, 0);
 }
 
 extern int __ecereVMethodID_class_OnGetString;
@@ -11143,7 +11196,7 @@ ListAdd(memberList, member);
 }
 }
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, unsigned int *  offset, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMemberAndOffset(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, unsigned int *  offset, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
 
 extern void FreeInstance(struct Instantiation * inst);
 
@@ -12598,9 +12651,7 @@ break;
 
 void ApplyAnyObjectLogic(struct Expression * e);
 
-extern void CopyTypeInto(struct Type * type, struct Type * src);
-
-static unsigned int CheckExpressionType(struct Expression * exp, struct Type * destType, unsigned int skipUnitBla)
+static unsigned int CheckExpressionType(struct Expression * exp, struct Type * destType, unsigned int skipUnitBla, unsigned int warnConst)
 {
 unsigned int result = 0x1;
 
@@ -12614,7 +12665,7 @@ struct Conversion * convert;
 
 if(destType->kind == 0)
 return 0x0;
-if(!MatchTypeExpression(exp, destType, &converts, skipUnitBla))
+if(!MatchTypeExpression(exp, destType, &converts, skipUnitBla, warnConst))
 result = 0x0;
 if(converts.count)
 {
@@ -12701,7 +12752,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free(&converts, FreeConvert)
 }
 if(!result && exp->expType && converts.count)
 {
-result = MatchTypes(exp->expType, exp->destType, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0);
+result = MatchTypes(exp->expType, exp->destType, (((void *)0)), (((void *)0)), (((void *)0)), 0x1, 0x1, 0x0, 0x0, warnConst);
 }
 if(!result && exp->expType && exp->destType)
 {
@@ -12871,9 +12922,9 @@ break;
 
 extern int strncmp(const char * , const char * , size_t n);
 
-struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix(struct __ecereNameSpace__ecere__sys__BinaryTree * this, char *  key);
+struct __ecereNameSpace__ecere__sys__BTNode * __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix(struct __ecereNameSpace__ecere__sys__BinaryTree * this, const char *  key);
 
-static struct Symbol * ScanWithNameSpace(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, char * nameSpace, char * name)
+static struct Symbol * ScanWithNameSpace(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, const char * nameSpace, const char * name)
 {
 int nsLen = strlen(nameSpace);
 struct Symbol * symbol;
@@ -12902,11 +12953,11 @@ break;
 return (((void *)0));
 }
 
-static struct Symbol * FindWithNameSpace(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, char * name)
+static struct Symbol * FindWithNameSpace(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, const char * name)
 {
 int c;
 char nameSpace[1024];
-char * namePart;
+const char * namePart;
 unsigned int gotColon = 0x0;
 
 nameSpace[0] = '\0';
@@ -12948,7 +12999,7 @@ return (((void *)0));
 
 static void ProcessDeclaration(struct Declaration * decl);
 
-struct Symbol * FindSymbol(char * name, struct Context * startContext, struct Context * endContext, unsigned int isStruct, unsigned int globalNameSpace)
+struct Symbol * FindSymbol(const char * name, struct Context * startContext, struct Context * endContext, unsigned int isStruct, unsigned int globalNameSpace)
 {
 struct Context * ctx;
 struct Symbol * symbol = (((void *)0));
@@ -13182,7 +13233,7 @@ break;
 }
 }
 
-extern char *  __ecereNameSpace__ecere__sys__RSearchString(char *  buffer, char *  subStr, int maxLen, unsigned int matchCase, unsigned int matchWord);
+extern char *  __ecereNameSpace__ecere__sys__RSearchString(const char *  buffer, const char *  subStr, int maxLen, unsigned int matchCase, unsigned int matchWord);
 
 static void PrintName(struct Type * type, char * string, unsigned int fullName)
 {
@@ -13387,7 +13438,7 @@ struct Expression * ParseExpressionString(char * expression)
 {
 parseError = 0x0;
 fileInput = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__sys__TempFile);
-((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
+((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
@@ -13405,7 +13456,7 @@ expression_yyparse();
 return parsedExpression;
 }
 
-extern char *  QMkString(char *  source);
+extern char *  QMkString(const char *  source);
 
 static unsigned int ResolveIdWithClass(struct Expression * exp, struct __ecereNameSpace__ecere__com__Class * _class, unsigned int skipIDClassCheck)
 {
@@ -13587,7 +13638,7 @@ checkedExp->next = next;
 
 extern struct Expression * MkExpCall(struct Expression * expression, struct __ecereNameSpace__ecere__sys__OldList * arguments);
 
-extern int printf(char * , ...);
+extern int printf(const char * , ...);
 
 void __ecereMethod_Expression_Clear();
 
@@ -13834,6 +13885,79 @@ destType->refCount++;
 }
 }
 
+void ApplyLocation(struct Expression * exp, struct Location * loc)
+{
+exp->loc = *loc;
+switch(exp->type)
+{
+case 4:
+if(exp->op.exp1)
+ApplyLocation(exp->op.exp1, loc);
+if(exp->op.exp2)
+ApplyLocation(exp->op.exp2, loc);
+break;
+case 5:
+if(exp->list)
+{
+struct Expression * e;
+
+for(e = (*exp->list).first; e; e = e->next)
+ApplyLocation(e, loc);
+}
+break;
+case 6:
+if(exp->index.index)
+{
+struct Expression * e;
+
+for(e = (*exp->index.index).first; e; e = e->next)
+ApplyLocation(e, loc);
+}
+if(exp->index.exp)
+ApplyLocation(exp->index.exp, loc);
+break;
+case 7:
+if(exp->call.arguments)
+{
+struct Expression * arg;
+
+for(arg = (*exp->call.arguments).first; arg; arg = arg->next)
+ApplyLocation(arg, loc);
+}
+if(exp->call.exp)
+ApplyLocation(exp->call.exp, loc);
+break;
+case 8:
+case 9:
+if(exp->member.exp)
+ApplyLocation(exp->member.exp, loc);
+break;
+case 11:
+if(exp->cast.exp)
+ApplyLocation(exp->cast.exp, loc);
+break;
+case 12:
+if(exp->cond.exp)
+{
+struct Expression * e;
+
+for(e = (*exp->cond.exp).first; e; e = e->next)
+ApplyLocation(e, loc);
+}
+if(exp->cond.cond)
+ApplyLocation(exp->cond.cond, loc);
+if(exp->cond.elseExp)
+ApplyLocation(exp->cond.elseExp, loc);
+break;
+case 34:
+if(exp->vaArg.exp)
+ApplyLocation(exp->vaArg.exp, loc);
+break;
+default:
+break;
+}
+}
+
 extern char *  strstr(const char * , const char * );
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DefinedExpression;
@@ -13842,16 +13966,16 @@ struct __ecereNameSpace__ecere__com__DefinedExpression
 {
 struct __ecereNameSpace__ecere__com__DefinedExpression * prev;
 struct __ecereNameSpace__ecere__com__DefinedExpression * next;
-char *  name;
-char *  value;
+const char *  name;
+const char *  value;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
 } __attribute__ ((gcc_struct));
 
-extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_FindDefine(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace__ecere__com__eSystem_FindDefine(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_FindFunction(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_FindFunction(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
-extern unsigned int __ecereNameSpace__ecere__sys__UTF8GetChar(char *  string, int *  numBytes);
+extern unsigned int __ecereNameSpace__ecere__sys__UTF8GetChar(const char *  string, int *  numBytes);
 
 extern struct Expression * GetTemplateArgExp(struct TemplateParameter * param, struct __ecereNameSpace__ecere__com__Class * curClass, unsigned int pointer);
 
@@ -13867,9 +13991,9 @@ extern struct Expression * MkExpExtensionInitializer(struct TypeName * typeName,
 
 extern struct Initializer * MkInitializerList(struct __ecereNameSpace__ecere__sys__OldList * list);
 
-extern char *  __ecereNameSpace__ecere__com__PrintString(struct __ecereNameSpace__ecere__com__Class * class, void * object, ...);
+extern char *  __ecereNameSpace__ecere__com__PrintString(struct __ecereNameSpace__ecere__com__Class * class, const void * object, ...);
 
-extern char *  sourceFile;
+extern const char *  sourceFile;
 
 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(struct __ecereNameSpace__ecere__sys__OldList * this);
 
@@ -13916,7 +14040,7 @@ struct Symbol * symbol = FindSymbol(id->string, curContext, topContext, 0x0, id-
 
 if(!symbol)
 {
-if(exp->destType && CheckExpressionType(exp, exp->destType, 0x0))
+if(exp->destType && CheckExpressionType(exp, exp->destType, 0x0, 0x0))
 break;
 else
 {
@@ -14017,7 +14141,7 @@ struct __ecereNameSpace__ecere__com__Instance * backInput = fileInput;
 
 definedExpStack[definedExpStackPos++] = definedExp;
 fileInput = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__sys__TempFile);
-((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
+((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
@@ -14040,7 +14164,7 @@ if(parsedExpression)
 FreeIdentifier(id);
 exp->type = 5;
 exp->list = MkListOne(parsedExpression);
-parsedExpression->loc = yylloc;
+ApplyLocation(parsedExpression, &yylloc);
 ProcessExpressionType(exp);
 definedExpStackPos--;
 return ;
@@ -14602,7 +14726,7 @@ exp->op.exp1->destType->truth = 0x1;
 if(!exp->op.exp1->expType)
 ProcessExpressionType(exp->op.exp1);
 else
-CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0);
+CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0, 0x0);
 FreeType(exp->op.exp1->expType);
 exp->op.exp1->expType = MkClassType("bool");
 exp->op.exp1->expType->truth = 0x1;
@@ -14616,7 +14740,7 @@ exp->op.exp2->destType->truth = 0x1;
 if(!exp->op.exp2->expType)
 ProcessExpressionType(exp->op.exp2);
 else
-CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0);
+CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0, 0x0);
 FreeType(exp->op.exp2->expType);
 exp->op.exp2->expType = MkClassType("bool");
 exp->op.exp2->expType->truth = 0x1;
@@ -14711,7 +14835,7 @@ if(exp->op.op == '+')
 Compiler_Error(__ecereNameSpace__ecere__GetTranslatedString("ec", "cannot add two pointers\n", (((void *)0))));
 else if(exp->op.op == '-')
 {
-if(MatchTypes(type1->type, type2->type, (((void *)0)), (((void *)0)), (((void *)0)), 0x0, 0x0, 0x0, 0x0))
+if(MatchTypes(type1->type, type2->type, (((void *)0)), (((void *)0)), (((void *)0)), 0x0, 0x0, 0x0, 0x0, 0x0))
 {
 exp->expType = __extension__ ({
 struct Type * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Type);
@@ -14740,7 +14864,7 @@ return ;
 }
 if(!success && exp->op.exp1->type == 2)
 {
-if(CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0))
+if(CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0, 0x0))
 {
 if(exp->expType)
 FreeType(exp->expType);
@@ -14749,7 +14873,7 @@ if(exp->op.exp1->destType)
 exp->op.exp1->destType->refCount++;
 success = 0x1;
 }
-else if(CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0))
+else if(CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0, 0x0))
 {
 if(exp->expType)
 FreeType(exp->expType);
@@ -14761,7 +14885,7 @@ success = 0x1;
 }
 else if(!success)
 {
-if(CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0))
+if(CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0, 0x0))
 {
 if(exp->expType)
 FreeType(exp->expType);
@@ -14770,7 +14894,7 @@ if(exp->op.exp2->destType)
 exp->op.exp2->destType->refCount++;
 success = 0x1;
 }
-else if(CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0))
+else if(CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0, 0x0))
 {
 if(exp->expType)
 FreeType(exp->expType);
@@ -14811,7 +14935,7 @@ FreeType(exp->op.exp1->destType);
 exp->op.exp1->destType = type2->_class->registered->dataType;
 if(type2->_class->registered->dataType)
 type2->_class->registered->dataType->refCount++;
-CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0);
+CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0, 0x0);
 exp->expType = type2;
 if(type2)
 type2->refCount++;
@@ -14823,7 +14947,7 @@ FreeType(exp->op.exp2->destType);
 exp->op.exp2->destType = type1->_class->registered->dataType;
 if(type1->_class->registered->dataType)
 type1->_class->registered->dataType->refCount++;
-CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0);
+CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0, 0x0);
 exp->expType = type1;
 if(type1)
 type1->refCount++;
@@ -14840,7 +14964,7 @@ if(!type1->_class->registered->dataType)
 type1->_class->registered->dataType = ProcessTypeString(type1->_class->registered->dataTypeString, 0x0);
 exp->op.exp2->destType = type1->_class->registered->dataType;
 exp->op.exp2->destType->refCount++;
-CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0);
+CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0, 0x0);
 if(type2)
 FreeType(type2);
 type2 = exp->op.exp2->destType;
@@ -14857,7 +14981,7 @@ if(!type2->_class->registered->dataType)
 type2->_class->registered->dataType = ProcessTypeString(type2->_class->registered->dataTypeString, 0x0);
 exp->op.exp1->destType = type2->_class->registered->dataType;
 exp->op.exp1->destType->refCount++;
-CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0);
+CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0, 0x0);
 type1 = exp->op.exp1->destType;
 exp->expType = type1;
 type1->refCount++;
@@ -14871,7 +14995,7 @@ if(exp->op.op == '*' || exp->op.op == '/' || exp->op.op == '-' || exp->op.op ==
 {
 if(op1IsEnum && exp->op.exp2->expType)
 {
-if(CheckExpressionType(exp->op.exp1, exp->op.exp2->expType, 0x0))
+if(CheckExpressionType(exp->op.exp1, exp->op.exp2->expType, 0x0, 0x0))
 {
 if(exp->expType)
 FreeType(exp->expType);
@@ -14883,7 +15007,7 @@ valid = 0x1;
 }
 else if(op2IsEnum && exp->op.exp1->expType)
 {
-if(CheckExpressionType(exp->op.exp2, exp->op.exp1->expType, 0x0))
+if(CheckExpressionType(exp->op.exp2, exp->op.exp1->expType, 0x0, 0x0))
 {
 if(exp->expType)
 FreeType(exp->expType);
@@ -14898,7 +15022,7 @@ else
 {
 if(op1IsEnum && exp->op.exp2->expType)
 {
-if(CheckExpressionType(exp->op.exp1, exp->op.exp2->expType, 0x0))
+if(CheckExpressionType(exp->op.exp1, exp->op.exp2->expType, 0x0, 0x0))
 {
 if(exp->expType)
 FreeType(exp->expType);
@@ -14910,7 +15034,7 @@ valid = 0x1;
 }
 else if(op2IsEnum && exp->op.exp1->expType)
 {
-if(CheckExpressionType(exp->op.exp2, exp->op.exp1->expType, 0x0))
+if(CheckExpressionType(exp->op.exp2, exp->op.exp1->expType, 0x0, 0x0))
 {
 if(exp->expType)
 FreeType(exp->expType);
@@ -14930,7 +15054,7 @@ if(exp->op.exp1->destType)
 FreeType(exp->op.exp1->destType);
 exp->op.exp1->destType = type2;
 type2->refCount++;
-if(CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0))
+if(CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0, 0x0))
 {
 if(exp->expType)
 FreeType(exp->expType);
@@ -14945,7 +15069,7 @@ if(exp->op.exp2->destType)
 FreeType(exp->op.exp2->destType);
 exp->op.exp2->destType = type1;
 type1->refCount++;
-if(CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0))
+if(CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0, 0x0))
 {
 if(exp->expType)
 FreeType(exp->expType);
@@ -14997,7 +15121,7 @@ if(type2->kind == 8 && type2->_class && type2->_class->registered && type2->_cla
 struct Type * oldType = exp->op.exp1->expType;
 
 exp->op.exp1->expType = (((void *)0));
-if(CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0))
+if(CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0, 0x0))
 FreeType(oldType);
 else
 exp->op.exp1->expType = oldType;
@@ -15006,7 +15130,7 @@ if(exp->op.exp1->destType)
 FreeType(exp->op.exp1->destType);
 exp->op.exp1->destType = type2;
 type2->refCount++;
-if(CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0))
+if(CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0, 0x0))
 {
 if(exp->expType)
 FreeType(exp->expType);
@@ -15025,7 +15149,7 @@ FreeType(exp->op.exp1->destType);
 exp->op.exp1->destType = type2->_class->registered->dataType;
 if(type2->_class->registered->dataType)
 type2->_class->registered->dataType->refCount++;
-CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0);
+CheckExpressionType(exp->op.exp1, exp->op.exp1->destType, 0x0, 0x0);
 }
 if(exp->op.op == '!')
 {
@@ -15048,7 +15172,7 @@ FreeType(exp->op.exp2->destType);
 exp->op.exp2->destType = type1->_class->registered->dataType;
 if(type1->_class->registered->dataType)
 type1->_class->registered->dataType->refCount++;
-CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0);
+CheckExpressionType(exp->op.exp2, exp->op.exp2->destType, 0x0, 0x0);
 }
 exp->expType = type1;
 if(type1)
@@ -15172,7 +15296,19 @@ if(_class != containerClass && __ecereNameSpace__ecere__com__eClass_IsDerived(c,
 exp->expType = ProcessTypeString(_class->templateArgs[2].dataTypeString, 0x0);
 if(exp->index.index && (*exp->index.index).last)
 {
-((struct Expression *)(*exp->index.index).last)->destType = ProcessTypeString(_class->templateArgs[1].dataTypeString, 0x0);
+struct Type * type = ProcessTypeString(_class->templateArgs[1].dataTypeString, 0x0);
+
+if(type->kind == 8)
+type->constant = 0x1;
+else if(type->kind == 13)
+{
+struct Type * t = type;
+
+while(t->kind == 13)
+t = t->type;
+t->constant = 0x1;
+}
+((struct Expression *)(*exp->index.index).last)->destType = type;
 }
 }
 }
@@ -15509,6 +15645,7 @@ break;
 }
 if(curParam && _class->templateArgs[id].dataTypeString)
 {
+unsigned int constant = type->constant;
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument arg = _class->templateArgs[id];
 
 {
@@ -15517,6 +15654,17 @@ struct Context * context = SetupTemplatesContext(_class);
 templatedType = ProcessTypeString(arg.dataTypeString, 0x0);
 FinishTemplatesContext(context);
 }
+if(templatedType->kind == 8 && constant)
+templatedType->constant = 0x1;
+else if(templatedType->kind == 13)
+{
+struct Type * t = templatedType->type;
+
+while(t->kind == 13)
+t = t->type;
+if(constant)
+t->constant = constant;
+}
 e->destType = templatedType;
 if(templatedType)
 {
@@ -15912,25 +16060,29 @@ exp->member.thisPtr = 0x1;
 }
 else
 {
+unsigned int useMemberForNonConst = 0x0;
+
 if(!id->classSym)
 {
 prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, id->string, (((void *)0)));
-if(!id->_class || !id->_class->name || strcmp(id->_class->name, "property"))
+useMemberForNonConst = prop && exp->destType && ((exp->destType->kind == 8 && !exp->destType->constant) || ((exp->destType->kind == 13 || exp->destType->kind == 12) && exp->destType->type && !exp->destType->type->constant)) && !strncmp(prop->dataTypeString, "const ", 6);
+if(useMemberForNonConst || !id->_class || !id->_class->name || strcmp(id->_class->name, "property"))
 member = __ecereNameSpace__ecere__com__eClass_FindDataMember(_class, id->string, (((void *)0)), (((void *)0)), (((void *)0)));
 }
-if(!prop && !member)
+if((!prop || useMemberForNonConst) && !member)
 {
-method = __ecereNameSpace__ecere__com__eClass_FindMethod(_class, id->string, (((void *)0)));
+method = useMemberForNonConst ? (((void *)0)) : __ecereNameSpace__ecere__com__eClass_FindMethod(_class, id->string, (((void *)0)));
 if(!method)
 {
 prop = __ecereNameSpace__ecere__com__eClass_FindProperty(_class, id->string, privateModule);
-if(!id->_class || !id->_class->name || strcmp(id->_class->name, "property"))
+useMemberForNonConst |= prop && exp->destType && ((exp->destType->kind == 8 && !exp->destType->constant) || ((exp->destType->kind == 13 || exp->destType->kind == 12) && exp->destType->type && !exp->destType->type->constant)) && !strncmp(prop->dataTypeString, "const ", 6);
+if(useMemberForNonConst || !id->_class || !id->_class->name || strcmp(id->_class->name, "property"))
 member = __ecereNameSpace__ecere__com__eClass_FindDataMember(_class, id->string, privateModule, (((void *)0)), (((void *)0)));
 }
 }
 if(member && prop)
 {
-if(member->_class != prop->_class && !id->_class && __ecereNameSpace__ecere__com__eClass_IsDerived(member->_class, prop->_class))
+if(useMemberForNonConst || (member->_class != prop->_class && !id->_class && __ecereNameSpace__ecere__com__eClass_IsDerived(member->_class, prop->_class)))
 prop = (((void *)0));
 else
 member = (((void *)0));
@@ -16084,9 +16236,21 @@ if(curParam && tClass->templateArgs[id].dataTypeString)
 {
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument arg = tClass->templateArgs[id];
 struct Context * context = SetupTemplatesContext(tClass);
+unsigned int constant = exp->expType->constant;
 
 FreeType(exp->expType);
 exp->expType = ProcessTypeString(arg.dataTypeString, 0x0);
+if(exp->expType->kind == 8 && constant)
+exp->expType->constant = 0x1;
+else if(exp->expType->kind == 13)
+{
+struct Type * t = exp->expType->type;
+
+while(t->kind == 13)
+t = t->type;
+if(constant)
+t->constant = constant;
+}
 if(exp->expType)
 {
 if(exp->expType->kind == 21)
@@ -16099,6 +16263,17 @@ exp->expType->passAsTemplate = 0x1;
 if(!exp->destType)
 {
 exp->destType = ProcessTypeString(arg.dataTypeString, 0x0);
+if(exp->destType->kind == 8 && constant)
+exp->destType->constant = 0x1;
+else if(exp->destType->kind == 13)
+{
+struct Type * t = exp->destType->type;
+
+while(t->kind == 13)
+t = t->type;
+if(constant)
+t->constant = constant;
+}
 if(exp->destType->kind == 21)
 {
 FreeType(exp->destType);
@@ -16428,7 +16603,9 @@ type->count = 1;
 FreeType(exp->cast.exp->destType);
 exp->cast.exp->destType = type;
 type->refCount++;
+type->casted = 0x1;
 ProcessExpressionType(exp->cast.exp);
+type->casted = 0x0;
 type->count = 0;
 exp->expType = type;
 if(!exp->cast.exp->needCast && !NeedCast(exp->cast.exp->expType, type))
@@ -16574,7 +16751,7 @@ break;
 case 35:
 {
 struct Type * type = (((void *)0));
-char * typeString = (((void *)0));
+const char * typeString = (((void *)0));
 char typeStringBuf[1024];
 
 if(exp->destType && exp->destType->kind == 8 && exp->destType->_class && exp->destType->_class->registered && exp->destType->_class->registered != containerClass && __ecereNameSpace__ecere__com__eClass_IsDerived(exp->destType->_class->registered, containerClass))
@@ -16599,7 +16776,7 @@ type->refCount++;
 }
 else
 {
-if(!MatchTypeExpression(e, type, (((void *)0)), 0x0))
+if(!MatchTypeExpression(e, type, (((void *)0)), 0x0, 0x1))
 {
 FreeType(type);
 type = e->expType;
@@ -16608,7 +16785,7 @@ e = (*exp->list).first;
 ProcessExpressionType(e);
 if(e->expType)
 {
-if(!MatchTypeExpression(e, type, (((void *)0)), 0x0))
+if(!MatchTypeExpression(e, type, (((void *)0)), 0x0, 0x1))
 {
 FreeType(e->expType);
 e->expType = (((void *)0));
@@ -16734,7 +16911,7 @@ if(exp->destType && (exp->destType->kind == 0 || exp->destType->kind == 18))
 ;
 else if(exp->destType && !exp->destType->keepCast)
 {
-if(!CheckExpressionType(exp, exp->destType, 0x0))
+if(!CheckExpressionType(exp, exp->destType, 0x0, !exp->destType->casted))
 {
 if(!exp->destType->count || unresolved)
 {
@@ -17008,7 +17185,7 @@ break;
 }
 }
 
-extern struct Symbol * FindType(struct Context * ctx, char *  name);
+extern struct Symbol * FindType(struct Context * ctx, const char *  name);
 
 static void ProcessClass(struct __ecereNameSpace__ecere__sys__OldList * definitions, struct Symbol * symbol);
 
@@ -17119,6 +17296,8 @@ if(spec && spec->specifier == TYPED_OBJECT)
 struct Declarator * d = param->declarator;
 struct TypeName * newParam = (newParam = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_TypeName), newParam->qualifiers = MkListOne(MkSpecifier(VOID)), newParam->declarator = MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), d), newParam);
 
+if(d->type != 5)
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*newParam->qualifiers), (((void *)0)), MkSpecifier(CONST));
 FreeList(param->qualifiers, FreeSpecifier);
 param->qualifiers = MkListOne(MkStructOrUnion(3, MkIdentifier("__ecereNameSpace__ecere__com__Class"), (((void *)0))));
 param->declarator = MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), MkDeclaratorIdentifier(MkIdentifier("class")));
@@ -17131,6 +17310,8 @@ struct Declarator * d = param->declarator;
 
 FreeList(param->qualifiers, FreeSpecifier);
 param->qualifiers = MkListOne(MkSpecifier(VOID));
+if(d->type != 5)
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*param->qualifiers), (((void *)0)), MkSpecifier(CONST));
 param->declarator = MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), d);
 }
 else if(spec->specifier == THISCLASS)
@@ -17503,7 +17684,7 @@ struct Type * source;
 struct Expression * e;
 unsigned int isBuiltin = exp && (*exp).last && (((struct Expression *)(*exp).last)->type == 35 || (((struct Expression *)(*exp).last)->type == 11 && ((struct Expression *)(*exp).last)->cast.exp->type == 35));
 struct Expression * arrayExp;
-char * typeString = (((void *)0));
+const char * typeString = (((void *)0));
 int builtinCount = 0;
 
 for(e = exp ? (*exp).first : (((void *)0)); e; e = e->next)
@@ -17592,7 +17773,7 @@ type->refCount++;
 }
 else
 {
-if(!MatchTypeExpression(e, type, (((void *)0)), 0x0))
+if(!MatchTypeExpression(e, type, (((void *)0)), 0x0, 0x1))
 {
 FreeType(type);
 type = e->expType;
@@ -17601,7 +17782,7 @@ e = (*arrayExp->list).first;
 ProcessExpressionType(e);
 if(e->expType)
 {
-if(!MatchTypeExpression(e, type, (((void *)0)), 0x0))
+if(!MatchTypeExpression(e, type, (((void *)0)), 0x0, 0x1))
 {
 FreeType(e->expType);
 e->expType = (((void *)0));
@@ -18097,9 +18278,9 @@ break;
 
 extern struct Expression * QBrackets(struct Expression * exp);
 
-extern struct TypeName * QMkType(char *  spec, struct Declarator * decl);
+extern struct TypeName * QMkType(const char *  spec, struct Declarator * decl);
 
-extern struct Declarator * QMkPtrDecl(char *  id);
+extern struct Declarator * QMkPtrDecl(const char *  id);
 
 extern struct Expression * MkExpPointer(struct Expression * expression, struct Identifier * member);
 
@@ -18484,7 +18665,7 @@ thisClass = (((void *)0));
 }
 }
 
-void DeclareFunctionUtil(char * s)
+void DeclareFunctionUtil(const char * s)
 {
 struct __ecereNameSpace__ecere__com__GlobalFunction * function = __ecereNameSpace__ecere__com__eSystem_FindFunction(privateModule, s);
 
@@ -18615,9 +18796,9 @@ curExternal = (((void *)0));
 ((temp ? (__ecereClass_External->Destructor ? __ecereClass_External->Destructor((void *)temp) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(temp)) : 0), temp = 0);
 }
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, char *  name, char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_RegisterClass(int type, const char *  name, const char *  baseName, int size, int sizeClass, unsigned int (*  Constructor)(void * ), void (*  Destructor)(void * ), struct __ecereNameSpace__ecere__com__Instance * module, int declMode, int inheritanceAccess);
 
 extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
@@ -18675,7 +18856,7 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ComputeClassMembers", "v
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ComputeModuleClasses", "void ComputeModuleClasses(ecere::com::Module module)", ComputeModuleClasses, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ComputeTypeSize", "int ComputeTypeSize(Type type)", ComputeTypeSize, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("AddMembers", "int AddMembers(ecere::sys::OldList * declarations, ecere::com::Class _class, bool isMember, uint * retSize, ecere::com::Class topClass, bool * addedPadding)", AddMembers, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareStruct", "void DeclareStruct(char * name, bool skipNoHead)", DeclareStruct, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareStruct", "void DeclareStruct(const char * name, bool skipNoHead)", DeclareStruct, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareProperty", "void DeclareProperty(ecere::com::Property prop, char * setName, char * getName)", DeclareProperty, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("Dereference", "Type Dereference(Type source)", Dereference, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessMemberInitData", "void ProcessMemberInitData(MemberInit member, ecere::com::Class _class, ecere::com::Class * curClass, ecere::com::DataMember * curMember, ecere::com::DataMember * subMemberStack, int * subMemberStackPos)", ProcessMemberInitData, module, 2);
@@ -18685,7 +18866,7 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetupTemplatesContext",
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FinishTemplatesContext", "void FinishTemplatesContext(Context context)", FinishTemplatesContext, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessMethodType", "void ProcessMethodType(ecere::com::Method method)", ProcessMethodType, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessPropertyType", "void ProcessPropertyType(ecere::com::Property prop)", ProcessPropertyType, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareMethod", "void DeclareMethod(ecere::com::Method method, char * name)", DeclareMethod, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareMethod", "void DeclareMethod(ecere::com::Method method, const char * name)", DeclareMethod, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ReplaceThisClass", "char * ReplaceThisClass(ecere::com::Class _class)", ReplaceThisClass, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ReplaceThisClassType", "Type ReplaceThisClassType(ecere::com::Class _class)", ReplaceThisClassType, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ReplaceThisClassSpecifiers", "void ReplaceThisClassSpecifiers(ecere::sys::OldList specs, ecere::com::Class _class)", ReplaceThisClassSpecifiers, module, 2);
@@ -18694,11 +18875,11 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareGlobalData", "voi
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "Conversion", 0, sizeof(struct Conversion), 0, 0, 0, module, 2, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
 __ecereClass_Conversion = class;
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MatchTypes", "bool MatchTypes(Type source, Type dest, ecere::sys::OldList conversions, ecere::com::Class owningClassSource, ecere::com::Class owningClassDest, bool doConversion, bool enumBaseType, bool acceptReversedParams, bool isConversionExploration)", MatchTypes, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MatchTypes", "bool MatchTypes(Type source, Type dest, ecere::sys::OldList conversions, ecere::com::Class owningClassSource, ecere::com::Class owningClassDest, bool doConversion, bool enumBaseType, bool acceptReversedParams, bool isConversionExploration, bool warnConst)", MatchTypes, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MatchWithEnums_NameSpace", "bool MatchWithEnums_NameSpace(ecere::com::NameSpace nameSpace, Expression sourceExp, Type dest, char * string, ecere::sys::OldList conversions)", MatchWithEnums_NameSpace, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ModuleVisibility", "bool ModuleVisibility(ecere::com::Module searchIn, ecere::com::Module searchFor)", ModuleVisibility, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("MatchWithEnums_Module", "bool MatchWithEnums_Module(ecere::com::Module mainModule, Expression sourceExp, Type dest, char * string, ecere::sys::OldList conversions)", MatchWithEnums_Module, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MatchTypeExpression", "bool MatchTypeExpression(Expression sourceExp, Type dest, ecere::sys::OldList conversions, bool skipUnitBla)", MatchTypeExpression, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MatchTypeExpression", "bool MatchTypeExpression(Expression sourceExp, Type dest, ecere::sys::OldList conversions, bool skipUnitBla, bool warnConst)", MatchTypeExpression, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ReadString", "void ReadString(char * output, char * string)", ReadString, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("UnescapeString", "int UnescapeString(char * d, char * s, int len)", UnescapeString, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("OffsetEscapedString", "char * OffsetEscapedString(char * s, int len, int offset)", OffsetEscapedString, module, 1);
@@ -18708,7 +18889,7 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ComputeInstantiation", "
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("CallOperator", "void CallOperator(Expression exp, Expression exp1, Expression exp2, Operand op1, Operand op2)", CallOperator, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ComputeExpression", "void ComputeExpression(Expression exp)", ComputeExpression, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("CheckTemplateTypes", "void CheckTemplateTypes(Expression exp)", CheckTemplateTypes, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FindSymbol", "Symbol FindSymbol(char * name, Context startContext, Context endContext, bool isStruct, bool globalNameSpace)", FindSymbol, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FindSymbol", "Symbol FindSymbol(const char * name, Context startContext, Context endContext, bool isStruct, bool globalNameSpace)", FindSymbol, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("PrintType", "void PrintType(Type type, char * string, bool printName, bool fullName)", PrintType, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("PrintTypeNoConst", "void PrintTypeNoConst(Type type, char * string, bool printName, bool fullName)", PrintTypeNoConst, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FindMemberAndOffset", "Type FindMemberAndOffset(Type type, char * string, uint * offset)", FindMemberAndOffset, module, 1);
@@ -18716,8 +18897,9 @@ __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetParseError", "bool Ge
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ParseExpressionString", "Expression ParseExpressionString(char * expression)", ParseExpressionString, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ReplaceExpContents", "void ReplaceExpContents(Expression checkedExp, Expression newExp)", ReplaceExpContents, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ApplyAnyObjectLogic", "void ApplyAnyObjectLogic(Expression e)", ApplyAnyObjectLogic, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("ApplyLocation", "void ApplyLocation(Expression exp, Location loc)", ApplyLocation, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessExpressionType", "void ProcessExpressionType(Expression exp)", ProcessExpressionType, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareFunctionUtil", "void DeclareFunctionUtil(String s)", DeclareFunctionUtil, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareFunctionUtil", "void DeclareFunctionUtil(const String s)", DeclareFunctionUtil, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ComputeDataTypes", "void ComputeDataTypes(void)", ComputeDataTypes, module, 1);
 }
 
index 09a762c..6b2f85d 100644 (file)
@@ -69,7 +69,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -79,7 +79,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -90,12 +90,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -106,7 +106,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -763,6 +763,7 @@ unsigned int dllExport : 1;
 unsigned int attrStdcall : 1;
 unsigned int declaredWithStruct : 1;
 unsigned int typedByReference : 1;
+unsigned int casted : 1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
@@ -771,7 +772,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -792,16 +793,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -813,7 +814,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -825,13 +826,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -856,12 +857,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -891,13 +892,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -1141,21 +1142,21 @@ extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void *
 
 extern struct Specifier * MkSpecifier(int specifier);
 
-extern char *  __ecereNameSpace__ecere__sys__GetLastDirectory(char *  string, char *  output);
+extern char *  __ecereNameSpace__ecere__sys__GetLastDirectory(const char *  string, char *  output);
 
-extern char *  outputFile;
+extern const char *  outputFile;
 
 extern unsigned int __ecereNameSpace__ecere__sys__StripExtension(char *  string);
 
 extern void FixModuleName(char *  moduleName);
 
-extern int sprintf(char * , char * , ...);
+extern int sprintf(char * , const char * , ...);
 
 extern struct Declarator * MkDeclaratorFunction(struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * parameters);
 
 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 extern struct FunctionDefinition * _MkFunction(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct Declarator * declarator, struct __ecereNameSpace__ecere__sys__OldList * declarationList, unsigned int errorOnOmit);
 
@@ -1249,11 +1250,11 @@ ProcessFunction((struct FunctionDefinition *)members->function);
 }
 }
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
 extern struct __ecereNameSpace__ecere__com__Instance * privateModule;
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
 
 extern void *  memcpy(void * , const void * , size_t size);
 
@@ -1261,7 +1262,7 @@ extern void __ecereNameSpace__ecere__com__eClass_FindNextMember(struct __ecereNa
 
 extern struct Expression * CopyExpression(struct Expression * exp);
 
-extern struct Expression * MkExpConstant(char *  string);
+extern struct Expression * MkExpConstant(const char *  string);
 
 extern struct Expression * MkExpMember(struct Expression * expression, struct Identifier * member);
 
@@ -1387,12 +1388,12 @@ struct __ecereNameSpace__ecere__com__BitMember
 {
 struct __ecereNameSpace__ecere__com__BitMember * prev;
 struct __ecereNameSpace__ecere__com__BitMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -1401,7 +1402,7 @@ int pos;
 uint64 mask;
 } __attribute__ ((gcc_struct));
 
-extern struct Declarator * SpecDeclFromString(char *  string, struct __ecereNameSpace__ecere__sys__OldList *  specs, struct Declarator * baseDecl);
+extern struct Declarator * SpecDeclFromString(const char *  string, struct __ecereNameSpace__ecere__sys__OldList *  specs, struct Declarator * baseDecl);
 
 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
 
@@ -1419,11 +1420,11 @@ extern struct Expression * MkExpCall(struct Expression * expression, struct __ec
 
 extern struct Expression * MkExpIdentifier(struct Identifier * id);
 
-extern struct Type * MkClassType(char *  name);
+extern struct Type * MkClassType(const char *  name);
 
-extern struct TypeName * QMkClass(char *  spec, struct Declarator * decl);
+extern struct TypeName * QMkClass(const char *  spec, struct Declarator * decl);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
 extern void FreeExpression(struct Expression * exp);
 
@@ -1864,7 +1865,7 @@ return fullSet || convert;
 
 extern struct ModuleImport * mainModule;
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
 extern struct Specifier * MkStructOrUnion(int type, struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * definitions);
 
@@ -1878,7 +1879,7 @@ extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__O
 
 extern struct External * MkExternalDeclaration(struct Declaration * declaration);
 
-extern void DeclareStruct(char *  name, unsigned int skipNoHead);
+extern void DeclareStruct(const char *  name, unsigned int skipNoHead);
 
 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(struct __ecereNameSpace__ecere__sys__OldList * this, void *  item);
 
@@ -1886,7 +1887,7 @@ unsigned int __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert(struct _
 
 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Move(struct __ecereNameSpace__ecere__sys__OldList * this, void *  item, void *  prevItem);
 
-void DeclareClass(struct Symbol * classSym, char * className)
+void DeclareClass(struct Symbol * classSym, const char * className)
 {
 if(classSym && classSym->id == (((int)0x7fffffff)))
 {
@@ -1943,7 +1944,7 @@ extern struct Context * curContext;
 
 static unsigned int ProcessBracketInst(struct Instantiation * inst, struct __ecereNameSpace__ecere__sys__OldList * list);
 
-extern struct Specifier * MkSpecifierName(char *  name);
+extern struct Specifier * MkSpecifierName(const char *  name);
 
 extern struct Initializer * MkInitializerList(struct __ecereNameSpace__ecere__sys__OldList * list);
 
@@ -1953,15 +1954,15 @@ extern struct Instantiation * MkInstantiation(struct Specifier * _class, struct
 
 extern struct Specifier * CopySpecifier(struct Specifier * spec);
 
-extern struct Expression * QMkExpId(char *  id);
+extern struct Expression * QMkExpId(const char *  id);
 
 static void ProcessDeclaration(struct Declaration * decl);
 
 extern char *  strcpy(char * , const char * );
 
-extern struct Symbol * FindClass(char *  name);
+extern struct Symbol * FindClass(const char *  name);
 
-extern void FullClassNameCat(char *  output, char *  className, unsigned int includeTemplateParams);
+extern void FullClassNameCat(char *  output, const char *  className, unsigned int includeTemplateParams);
 
 extern void MangleClassName(char *  className);
 
@@ -1971,7 +1972,7 @@ static int declTempCount;
 
 extern struct Context * PushContext(void);
 
-extern struct Declaration * QMkDeclaration(char *  name, struct InitDeclarator * initDecl);
+extern struct Declaration * QMkDeclaration(const char *  name, struct InitDeclarator * initDecl);
 
 extern struct Initializer * MkInitializerAssignment(struct Expression * exp);
 
@@ -1981,7 +1982,7 @@ extern void PopContext(struct Context * ctx);
 
 extern void FreeInstance(struct Instantiation * inst);
 
-extern struct Type * ProcessTypeString(char *  string, unsigned int staticMethod);
+extern struct Type * ProcessTypeString(const char *  string, unsigned int staticMethod);
 
 extern void ProcessMethodType(struct __ecereNameSpace__ecere__com__Method * method);
 
@@ -2653,7 +2654,7 @@ break;
 
 extern void FreeList(struct __ecereNameSpace__ecere__sys__OldList * list, void (*  FreeFunction)(void * ));
 
-extern struct Specifier * _MkSpecifierName(char *  name, struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
+extern struct Specifier * _MkSpecifierName(const char *  name, struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
 
 extern struct Identifier * CopyIdentifier(struct Identifier * id);
 
@@ -2914,9 +2915,9 @@ ListAdd(list, init);
 return 0x1;
 }
 
-extern void Compiler_Error(char *  format, ...);
+extern void Compiler_Error(const char *  format, ...);
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
 static unsigned int ProcessBracketInst(struct Instantiation * inst, struct __ecereNameSpace__ecere__sys__OldList * list)
 {
@@ -3680,13 +3681,13 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_pass16(struct __ecereNameSpace__ecere__com__Instance * module)
 {
 struct __ecereNameSpace__ecere__com__Class * class;
 
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareClass", "void DeclareClass(Symbol classSym, char * className)", DeclareClass, module, 1);
+__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);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessInstantiations", "void ProcessInstantiations(void)", ProcessInstantiations, module, 1);
 }
index 68c0755..1c09430 100644 (file)
@@ -69,7 +69,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -79,7 +79,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -90,12 +90,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -106,7 +106,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -754,6 +754,7 @@ unsigned int dllExport : 1;
 unsigned int attrStdcall : 1;
 unsigned int declaredWithStruct : 1;
 unsigned int typedByReference : 1;
+unsigned int casted : 1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
@@ -762,7 +763,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -783,16 +784,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -804,7 +805,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -816,13 +817,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -847,12 +848,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -882,13 +883,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -1288,13 +1289,13 @@ extern struct __ecereNameSpace__ecere__sys__OldList *  MkList(void);
 
 extern char *  strcpy(char * , const char * );
 
-extern void FullClassNameCat(char *  output, char *  className, unsigned int includeTemplateParams);
+extern void FullClassNameCat(char *  output, const char *  className, unsigned int includeTemplateParams);
 
 extern char *  strcat(char * , const char * );
 
-extern void DeclareMethod(struct __ecereNameSpace__ecere__com__Method * method, char *  name);
+extern void DeclareMethod(struct __ecereNameSpace__ecere__com__Method * method, const char *  name);
 
-extern struct Declarator * SpecDeclFromString(char *  string, struct __ecereNameSpace__ecere__sys__OldList *  specs, struct Declarator * baseDecl);
+extern struct Declarator * SpecDeclFromString(const char *  string, struct __ecereNameSpace__ecere__sys__OldList *  specs, struct Declarator * baseDecl);
 
 extern struct Declarator * MkDeclaratorBrackets(struct Declarator * declarator);
 
@@ -1308,13 +1309,13 @@ extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  MkListOne(void *  item);
 
-extern struct Specifier * MkSpecifierName(char *  name);
+extern struct Specifier * MkSpecifierName(const char *  name);
 
 extern void MangleClassName(char *  className);
 
-extern struct Symbol * FindClass(char *  name);
+extern struct Symbol * FindClass(const char *  name);
 
-extern void DeclareClass(struct Symbol * classSym, char *  className);
+extern void DeclareClass(struct Symbol * classSym, const char *  className);
 
 extern void FreeIdentifier(struct Identifier * id);
 
@@ -1326,11 +1327,11 @@ extern struct Expression * MkExpPointer(struct Expression * expression, struct I
 
 extern struct Expression * MkExpIdentifier(struct Identifier * id);
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 extern void FreeSpecifier(struct Specifier * spec);
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
 extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void *  item);
 
@@ -1340,25 +1341,25 @@ extern struct Expression * MkExpTypeSize(struct TypeName * typeName);
 
 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
 
-extern struct Expression * QMkExpId(char *  id);
+extern struct Expression * QMkExpId(const char *  id);
 
-extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__com__eClass_FindProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
 extern struct __ecereNameSpace__ecere__com__Instance * privateModule;
 
 extern void DeclareProperty(struct __ecereNameSpace__ecere__com__Property * prop, char *  setName, char *  getName);
 
-extern int sprintf(char * , char * , ...);
+extern int sprintf(char * , const char * , ...);
 
 extern struct Context * curContext;
 
-extern struct Type * MkClassType(char *  name);
+extern struct Type * MkClassType(const char *  name);
 
 extern struct __ecereNameSpace__ecere__com__Class * containerClass;
 
 extern unsigned int __ecereNameSpace__ecere__com__eClass_IsDerived(struct __ecereNameSpace__ecere__com__Class * _class, struct __ecereNameSpace__ecere__com__Class * from);
 
-extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMember(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
+extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere__com__eClass_FindDataMember(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module, struct __ecereNameSpace__ecere__com__DataMember **  subMemberStack, int *  subMemberStackPos);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__BitMember;
 
@@ -1366,12 +1367,12 @@ struct __ecereNameSpace__ecere__com__BitMember
 {
 struct __ecereNameSpace__ecere__com__BitMember * prev;
 struct __ecereNameSpace__ecere__com__BitMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -1382,29 +1383,29 @@ uint64 mask;
 
 extern int __ecereNameSpace__ecere__com__GetRuntimePlatform(void);
 
-extern struct Expression * MkExpConstant(char *  string);
+extern struct Expression * MkExpConstant(const char *  string);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassProperty;
 
 struct __ecereNameSpace__ecere__com__ClassProperty
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__ClassProperty * parent;
 struct __ecereNameSpace__ecere__com__ClassProperty * left;
 struct __ecereNameSpace__ecere__com__ClassProperty * right;
 int depth;
 void (*  Set)(struct __ecereNameSpace__ecere__com__Class *, long long);
 long long (*  Get)(struct __ecereNameSpace__ecere__com__Class *);
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 unsigned int constant;
 } __attribute__ ((gcc_struct));
 
-extern struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_FindClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern struct __ecereNameSpace__ecere__com__ClassProperty * __ecereNameSpace__ecere__com__eClass_FindClassProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern char *  QMkString(char *  source);
+extern char *  QMkString(const char *  source);
 
-extern struct Expression * MkExpString(char *  string);
+extern struct Expression * MkExpString(const char *  string);
 
 extern struct Specifier * MkSpecifier(int specifier);
 
@@ -1430,17 +1431,17 @@ extern void PopContext(struct Context * ctx);
 
 extern void FreeType(struct Type * type);
 
-extern void Compiler_Error(char *  format, ...);
+extern void Compiler_Error(const char *  format, ...);
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
-extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
+extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
 extern void ProcessExpressionType(struct Expression * exp);
 
 extern struct Expression * MkExpCondition(struct Expression * cond, struct __ecereNameSpace__ecere__sys__OldList * expressions, struct Expression * elseExp);
 
-extern struct Declarator * QMkPtrDecl(char *  id);
+extern struct Declarator * QMkPtrDecl(const char *  id);
 
 extern struct Expression * GetTemplateArgExp(struct TemplateParameter * param, struct __ecereNameSpace__ecere__com__Class * curClass, unsigned int pointer);
 
@@ -1448,17 +1449,17 @@ extern struct __ecereNameSpace__ecere__com__Class * thisClass;
 
 extern struct Expression * MkExpMember(struct Expression * expression, struct Identifier * member);
 
-extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, char *  name);
+extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com__eSystem_FindClass(struct __ecereNameSpace__ecere__com__Instance * module, const char *  name);
 
 extern struct Context * globalContext;
 
-extern void DeclareFunctionUtil(char * s);
+extern void DeclareFunctionUtil(const char * s);
 
 extern void FreeSymbol(struct Symbol * symbol);
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  CopyList(struct __ecereNameSpace__ecere__sys__OldList *  source, void *  (*  CopyFunction)(void * ));
 
-extern struct TypeName * QMkType(char *  spec, struct Declarator * decl);
+extern struct TypeName * QMkType(const char *  spec, struct Declarator * decl);
 
 extern struct MemberInit * MkMemberInit(struct __ecereNameSpace__ecere__sys__OldList * ids, struct Initializer * initializer);
 
@@ -1480,7 +1481,7 @@ extern void FreeTypeName(struct TypeName * typeName);
 
 extern struct Specifier * MkStructOrUnion(int type, struct Identifier * id, struct __ecereNameSpace__ecere__sys__OldList * definitions);
 
-extern struct Type * ProcessTypeString(char *  string, unsigned int staticMethod);
+extern struct Type * ProcessTypeString(const char *  string, unsigned int staticMethod);
 
 extern void PrintTypeNoConst(struct Type * type, char *  string, unsigned int printName, unsigned int fullName);
 
@@ -1490,11 +1491,11 @@ extern struct Type * ProcessType(struct __ecereNameSpace__ecere__sys__OldList *
 
 extern unsigned int internalValueCounter;
 
-extern int printf(char * , ...);
+extern int printf(const char * , ...);
 
 extern struct Type * ProcessTemplateParameterType(struct TemplateParameter * param);
 
-extern void DeclareStruct(char *  name, unsigned int skipNoHead);
+extern void DeclareStruct(const char *  name, unsigned int skipNoHead);
 
 static void ProcessStatement(struct Statement * stmt);
 
@@ -2251,7 +2252,7 @@ ListAdd(exp->list, MkExpCall(MkExpBrackets(MkListOne(MkExpCast(typeName, MkExpIn
 }
 else
 ListAdd(exp->list, MkExpCall(QMkExpId("ecere::com::eSystem_Delete"), args));
-ListAdd(exp->list, MkExpOp(CopyExpression(object), '=', MkExpConstant("0")));
+ListAdd(exp->list, MkExpOp(CopyExpression(object->type == 11 ? object->cast.exp : object), '=', MkExpConstant("0")));
 exp2 = (((void *)0));
 ProcessExpression(exp);
 }
@@ -2615,8 +2616,12 @@ FreeTypeName(firstParam);
 }
 if(method->dataType->thisClass && !strcmp(method->dataType->thisClass->string, "class"))
 {
+struct TypeName * param;
+
 typedObject = 0x1;
-__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->function.parameters), (((void *)0)), MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))));
+param = MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*param->qualifiers), (((void *)0)), MkSpecifier(CONST));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->function.parameters), (((void *)0)), param);
 if(!method->dataType->extraParam)
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*funcDecl->function.parameters), (((void *)0)), MkTypeName(MkListOne(MkStructOrUnion(3, MkIdentifier("__ecereNameSpace__ecere__com__Class"), (((void *)0)))), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))));
 }
@@ -4120,7 +4125,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_pass2(struct __ecereNameSpace__ecere__com__Instance * module)
 {
index dfd7521..56e062d 100644 (file)
@@ -69,7 +69,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -79,7 +79,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -90,12 +90,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -106,7 +106,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -465,7 +465,7 @@ struct TemplateDatatype * dataType;
 int memberType;
 } __attribute__ ((gcc_struct));
 struct TemplateArgument * defaultArgument;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * baseType;
 } __attribute__ ((gcc_struct));
 
@@ -740,6 +740,7 @@ unsigned int dllExport : 1;
 unsigned int attrStdcall : 1;
 unsigned int declaredWithStruct : 1;
 unsigned int typedByReference : 1;
+unsigned int casted : 1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
@@ -748,7 +749,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -769,16 +770,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -790,7 +791,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -802,13 +803,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -833,12 +834,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -868,13 +869,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -1033,7 +1034,7 @@ extern struct External * curExternal;
 
 extern struct __ecereNameSpace__ecere__sys__OldList *  MkList(void);
 
-extern struct Declarator * SpecDeclFromString(char *  string, struct __ecereNameSpace__ecere__sys__OldList *  specs, struct Declarator * baseDecl);
+extern struct Declarator * SpecDeclFromString(const char *  string, struct __ecereNameSpace__ecere__sys__OldList *  specs, struct Declarator * baseDecl);
 
 extern struct Specifier * CopySpecifier(struct Specifier * spec);
 
@@ -1043,19 +1044,23 @@ extern void FreeSpecifier(struct Specifier * spec);
 
 extern void FreeDeclarator(struct Declarator * decl);
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
-extern struct Symbol * FindClass(char *  name);
+extern struct Symbol * FindClass(const char *  name);
 
 extern void FreeSpecifierContents(struct Specifier * spec);
 
-extern void FullClassNameCat(char *  output, char *  className, unsigned int includeTemplateParams);
+extern void FullClassNameCat(char *  output, const char *  className, unsigned int includeTemplateParams);
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 extern int strcmp(const char * , const char * );
 
-extern struct Type * ProcessTypeString(char *  string, unsigned int staticMethod);
+extern struct Type * ProcessTypeString(const char *  string, unsigned int staticMethod);
+
+extern struct Specifier * MkSpecifier(int specifier);
+
+void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(struct __ecereNameSpace__ecere__sys__OldList * this, void *  item);
 
 static int ReplaceClassSpec(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Specifier * spec, unsigned int param)
 {
@@ -1209,7 +1214,8 @@ else if(spec->type == 0)
 {
 if(spec->specifier == ANY_OBJECT)
 {
-spec->specifier = VOID;
+spec->specifier = CONST;
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(specs, MkSpecifier(VOID));
 return 1;
 }
 }
@@ -1256,7 +1262,7 @@ static void InstDeclPassIdentifier(struct Identifier * id);
 
 extern int targetPlatform;
 
-static void InstDeclPassSpecifier(struct Specifier * spec)
+static void InstDeclPassSpecifier(struct Specifier * spec, unsigned int byRefTypedObject)
 {
 switch(spec->type)
 {
@@ -1264,7 +1270,7 @@ case 0:
 if(spec->specifier == TYPED_OBJECT)
 {
 spec->type = 5;
-spec->extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString("struct __ecereNameSpace__ecere__com__Class * class, void *"));
+spec->extDecl = MkExtDeclString(__ecereNameSpace__ecere__sys__CopyString(byRefTypedObject ? "struct __ecereNameSpace__ecere__com__Class * class, void *" : "struct __ecereNameSpace__ecere__com__Class * class, const void *"));
 }
 break;
 case 1:
@@ -1448,7 +1454,7 @@ struct Symbol * classSym = (spec->type == 1) ? spec->symbol : (((void *)0));
 if(type->classObjectType && (!classSym || (classSym && classSym->registered && (classSym->registered->type == 4 || classSym->registered->type == 2 || classSym->registered->type == 3))))
 ReplaceByInstancePtr(spec, &type->declarator, 2);
 }
-InstDeclPassSpecifier(spec);
+InstDeclPassSpecifier(spec, type->declarator && type->declarator->type == 5);
 }
 }
 if(type->declarator)
@@ -1656,7 +1662,7 @@ for(d = (*decl->declarators).first; d; d = d->next)
 ReplaceByInstancePtr(spec, &d->declarator, type);
 }
 }
-InstDeclPassSpecifier(spec);
+InstDeclPassSpecifier(spec, 0x0);
 }
 }
 if(decl->declarators)
@@ -1692,7 +1698,7 @@ for(d = (*decl->declarators).first; d; d = d->next)
 ReplaceByInstancePtr(spec, &d, type);
 }
 }
-InstDeclPassSpecifier(spec);
+InstDeclPassSpecifier(spec, 0x0);
 }
 }
 if(decl->declarators)
@@ -1899,7 +1905,7 @@ int type;
 
 if((type = ReplaceClassSpec(func->specifiers, spec, 0x0)))
 ReplaceByInstancePtr(spec, &func->declarator, type);
-InstDeclPassSpecifier(spec);
+InstDeclPassSpecifier(spec, 0x0);
 }
 }
 InstDeclPassDeclarator(func->declarator);
@@ -1918,7 +1924,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_pass3(struct __ecereNameSpace__ecere__com__Instance * module)
 {
index 27c47b7..eb22362 100644 (file)
@@ -69,7 +69,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -79,7 +79,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -90,12 +90,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -106,7 +106,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -296,7 +296,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -317,16 +317,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -338,7 +338,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -350,13 +350,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -381,12 +381,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -416,13 +416,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -454,7 +454,7 @@ void resetScannerPos(struct CodePosition * pos);
 
 extern struct Declarator * CopyDeclarator(struct Declarator * declarator);
 
-extern int printf(char * , ...);
+extern int printf(const char * , ...);
 
 extern void FreeDeclarator(struct Declarator * decl);
 
@@ -492,13 +492,13 @@ return baseDecl;
 
 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 extern struct Declarator * MkDeclaratorPointer(struct Pointer * pointer, struct Declarator * declarator);
 
 extern struct Pointer * MkPointer(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Pointer * pointer);
 
-struct Declarator * QMkPtrDecl(char * id)
+struct Declarator * QMkPtrDecl(const char * id)
 {
 struct Declarator * declarator = id ? MkDeclaratorIdentifier(MkIdentifier(id)) : (((void *)0));
 
@@ -509,11 +509,11 @@ extern struct __ecereNameSpace__ecere__sys__OldList *  MkList(void);
 
 extern void ListAdd(struct __ecereNameSpace__ecere__sys__OldList * list, void *  item);
 
-extern struct Specifier * MkSpecifierName(char *  name);
+extern struct Specifier * MkSpecifierName(const char *  name);
 
 extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
 
-struct TypeName * QMkType(char * spec, struct Declarator * decl)
+struct TypeName * QMkType(const char * spec, struct Declarator * decl)
 {
 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
 
@@ -521,7 +521,7 @@ ListAdd(specs, MkSpecifierName(spec));
 return MkTypeName(specs, decl);
 }
 
-struct TypeName * QMkClass(char * spec, struct Declarator * decl)
+struct TypeName * QMkClass(const char * spec, struct Declarator * decl)
 {
 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList();
 
@@ -541,7 +541,7 @@ return MkExpBrackets(expList);
 
 extern struct Expression * MkExpIdentifier(struct Identifier * id);
 
-struct Expression * QMkExpId(char * id)
+struct Expression * QMkExpId(const char * id)
 {
 return MkExpIdentifier(MkIdentifier(id));
 }
@@ -558,7 +558,7 @@ return MkExpCondition(cond, expList, elseExp);
 
 extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators);
 
-struct Declaration * QMkDeclaration(char * name, struct InitDeclarator * initDecl)
+struct Declaration * QMkDeclaration(const char * name, struct InitDeclarator * initDecl)
 {
 struct __ecereNameSpace__ecere__sys__OldList * specs = MkList(), * initDecls = (((void *)0));
 
@@ -586,9 +586,9 @@ ListAdd(initDecls, initDecl);
 return MkDeclaration(specs, initDecls);
 }
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
-char * QMkString(char * source)
+char * QMkString(const char * source)
 {
 char * string;
 
@@ -649,9 +649,9 @@ extern struct Declarator * MkStructDeclarator(struct Declarator * declarator, st
 
 extern void FreeTypeName(struct TypeName * typeName);
 
-extern void Compiler_Warning(char *  format, ...);
+extern void Compiler_Warning(const char *  format, ...);
 
-extern char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__TempFile;
 
@@ -669,7 +669,7 @@ void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(struct __ecereNa
 
 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(struct __ecereNameSpace__ecere__sys__OldList * this, void *  item);
 
-struct Declarator * SpecDeclFromString(char * string, struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * baseDecl)
+struct Declarator * SpecDeclFromString(const char * string, struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * baseDecl)
 {
 struct Location oldLocation = yylloc;
 struct Declarator * decl = (((void *)0));
@@ -678,7 +678,7 @@ struct __ecereNameSpace__ecere__com__Instance * backFileInput = fileInput;
 if(!string)
 string = "void()";
 fileInput = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__sys__TempFile);
-((int (*)(struct __ecereNameSpace__ecere__com__Instance *, void *  buffer, unsigned int size, unsigned int count))__extension__ ({
+((int (*)(struct __ecereNameSpace__ecere__com__Instance *, const void *  buffer, unsigned int size, unsigned int count))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = fileInput;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__sys__File->_vTbl;
@@ -742,7 +742,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__GlobalFunction;
 
-extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(char *  name, char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
+extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__ecere__com__eSystem_RegisterFunction(const char *  name, const char *  type, void *  func, struct __ecereNameSpace__ecere__com__Instance * module, int declMode);
 
 void __ecereRegisterModule_shortcuts(struct __ecereNameSpace__ecere__com__Instance * module)
 {
@@ -750,17 +750,17 @@ struct __ecereNameSpace__ecere__com__Class * 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);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkPtrDecl", "Declarator QMkPtrDecl(char * id)", QMkPtrDecl, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkType", "TypeName QMkType(char * spec, Declarator decl)", QMkType, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkClass", "TypeName QMkClass(char * spec, Declarator decl)", QMkClass, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkPtrDecl", "Declarator QMkPtrDecl(const char * id)", QMkPtrDecl, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkType", "TypeName QMkType(const char * spec, Declarator decl)", QMkType, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkClass", "TypeName QMkClass(const char * spec, Declarator decl)", QMkClass, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("QBrackets", "Expression QBrackets(Expression exp)", QBrackets, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkExpId", "Expression QMkExpId(char * id)", QMkExpId, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkExpId", "Expression QMkExpId(const char * id)", QMkExpId, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkExpCond", "Expression QMkExpCond(Expression cond, Expression exp, Expression elseExp)", QMkExpCond, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkDeclaration", "Declaration QMkDeclaration(char * name, InitDeclarator initDecl)", QMkDeclaration, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkDeclaration", "Declaration QMkDeclaration(const char * name, InitDeclarator initDecl)", QMkDeclaration, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkDeclarationBase", "Declaration QMkDeclarationBase(int base, InitDeclarator initDecl)", QMkDeclarationBase, module, 2);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkString", "char * QMkString(char * source)", QMkString, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("QMkString", "char * QMkString(const char * source)", QMkString, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetFuncDecl", "Declarator GetFuncDecl(Declarator decl)", GetFuncDecl, module, 1);
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SpecDeclFromString", "Declarator SpecDeclFromString(char * string, ecere::sys::OldList * specs, Declarator baseDecl)", SpecDeclFromString, module, 1);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("SpecDeclFromString", "Declarator SpecDeclFromString(const char * string, ecere::sys::OldList * specs, Declarator baseDecl)", SpecDeclFromString, module, 1);
 }
 
 void __ecereUnregisterModule_shortcuts(struct __ecereNameSpace__ecere__com__Instance * module)
index ca83e59..1614764 100644 (file)
@@ -69,7 +69,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -79,7 +79,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -90,12 +90,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -106,7 +106,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -615,7 +615,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -636,16 +636,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -657,7 +657,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -669,13 +669,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -700,12 +700,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -735,13 +735,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -1880,7 +1880,7 @@ struct Location type_yylloc;
 
 int type_yynerrs;
 
-extern struct Symbol * DeclClass(int symbolID, char *  name);
+extern struct Symbol * DeclClass(int symbolID, const char *  name);
 
 extern void resetScannerPos(struct CodePosition * pos);
 
@@ -1888,9 +1888,9 @@ extern char *  strcpy(char * , const char * );
 
 extern char *  strcat(char * , const char * );
 
-extern struct Symbol * _DeclClass(int symbolID, char *  name);
+extern struct Symbol * _DeclClass(int symbolID, const char *  name);
 
-extern struct Specifier * MkSpecifierName(char *  name);
+extern struct Specifier * MkSpecifierName(const char *  name);
 
 extern void SetClassTemplateArgs(struct Specifier * spec, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
 
@@ -1898,7 +1898,7 @@ extern struct ClassFunction * MkClassFunction(struct __ecereNameSpace__ecere__sy
 
 extern struct Context * globalContext;
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
 
@@ -1906,11 +1906,11 @@ extern struct Expression * MkExpIdentifier(struct Identifier * id);
 
 extern struct Expression * MkExpInstance(struct Instantiation * inst);
 
-extern struct Expression * MkExpConstant(char *  string);
+extern struct Expression * MkExpConstant(const char *  string);
 
-extern struct Expression * MkExpString(char *  string);
+extern struct Expression * MkExpString(const char *  string);
 
-extern struct Expression * MkExpIntlString(char *  string, char *  context);
+extern struct Expression * MkExpIntlString(const char *  string, const char *  context);
 
 extern struct Expression * MkExpDummy(void);
 
@@ -1958,7 +1958,7 @@ extern struct Declaration * MkDeclarationInst(struct Instantiation * inst);
 
 extern struct Declaration * MkDeclarationDefine(struct Identifier * id, struct Expression * exp);
 
-extern struct Specifier * MkSpecifierNameArgs(char *  name, struct __ecereNameSpace__ecere__sys__OldList *  templateArgs);
+extern struct Specifier * MkSpecifierNameArgs(const char *  name, struct __ecereNameSpace__ecere__sys__OldList *  templateArgs);
 
 extern struct InitDeclarator * MkInitDeclarator(struct Declarator * declarator, struct Initializer * initializer);
 
@@ -1966,7 +1966,7 @@ extern struct Specifier * MkSpecifier(int specifier);
 
 extern struct ExtDecl * MkExtDeclString(char * s);
 
-extern char *  __ecereNameSpace__ecere__sys__CopyString(char *  string);
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
 extern struct ExtDecl * MkExtDeclAttrib(struct Attrib * attr);
 
index 92455d8..0ea90d5 100644 (file)
@@ -292,7 +292,7 @@ class CompilerApp : Application
 
       for(c = 1; c<argc; c++)
       {
-         char * arg = argv[c];
+         const char * arg = argv[c];
          if(arg[0] == '-')
          {
             if(!strcmp(arg + 1, "m32") || !strcmp(arg + 1, "m64"))
@@ -366,7 +366,7 @@ class CompilerApp : Application
                if(c + 1 < argc)
                {
                   char * buf;
-                  char * arg1 = argv[++c];
+                  const char * arg1 = argv[++c];
                   int size = cppOptionsLen + 1 + strlen(arg) * 2 + strlen(arg1) * 2 + 1;
                   cppOptions = renew cppOptions char[size];
                   buf = cppOptions + cppOptionsLen;
index e1b67ab..5bf2bbc 100644 (file)
@@ -1103,7 +1103,7 @@ static void OutputDataMembers(ClassDefine classDefine, Class _class, File f)
    }
 }
 
-static void OutputSymbols(char * fileName)
+static void OutputSymbols(const char * fileName)
 {
    File f = FileOpen(fileName, write);
    if(f)
@@ -1365,7 +1365,7 @@ class PrecompApp : Application
 
       for(c = 1; c<argc; c++)
       {
-         char * arg = argv[c];
+         const char * arg = argv[c];
          if(arg[0] == '-')
          {
             if(!strcmp(arg + 1, "m32") || !strcmp(arg + 1, "m64"))
@@ -1430,7 +1430,7 @@ class PrecompApp : Application
                if(c + 1 < argc)
                {
                   char * buf;
-                  char * arg1 = argv[++c];
+                  const char * arg1 = argv[++c];
                   int size = cppOptionsLen + 1 + strlen(arg) * 2 + strlen(arg1) * 2 + 1;
                   cppOptions = renew cppOptions char[size];
                   buf = cppOptions + cppOptionsLen;
@@ -1543,7 +1543,7 @@ class PrecompApp : Application
          globalContext.types.Add((BTNode)Symbol { string = CopyString("size_t"), type = ProcessTypeString("uintsize", false) });
 
          {
-            char * outputFilePath = GetOutputFile();
+            const char * outputFilePath = GetOutputFile();
             if(FileExists(outputFilePath))
                DeleteFile(outputFilePath);
          }
index 9e8b620..bdfbad3 100644 (file)
@@ -36,7 +36,7 @@ static Module privateModule;
 
 static char mainModuleName[MAX_LOCATION];
 static char projectName[MAX_LOCATION];
-static void LoadImports(char * fileName)
+static void LoadImports(const char * fileName)
 {
    File f = FileOpen(fileName, read);
    if(f)
@@ -246,7 +246,7 @@ static bool SeardchModuleName(Module searchIn, char * name)
    return false;
 }
 */
-static void WriteMain(char * fileName)
+static void WriteMain(const char * fileName)
 {
    File f = FileOpen(fileName, write);
    if(f)
@@ -1613,7 +1613,7 @@ class SymbolgenApp : Application
       */
       int c;
       bool valid = true;
-      char * output = null;
+      const char * output = null;
 
       outputPot = false;
       disabledPooling = false;
@@ -1660,7 +1660,7 @@ class SymbolgenApp : Application
 
       for(c = 1; c<argc; c++)
       {
-         char * arg = argv[c];
+         const char * arg = argv[c];
          if(arg[0] == '-')
          {
             if(!strcmp(arg + 1, "m32") || !strcmp(arg + 1, "m64"))
@@ -1757,7 +1757,7 @@ class SymbolgenApp : Application
 
          //if(!strcmp(ext, "c"))
          {
-            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 { };
@@ -1765,7 +1765,7 @@ class SymbolgenApp : Application
 
             for(c = 1; c<argc; c++)
             {
-               char * file = argv[c];
+               const char * file = argv[c];
                File f = null;
                char line[16384];
                int count = 0;
@@ -1780,7 +1780,7 @@ class SymbolgenApp : Application
                else
                {
                   count = 1;
-                  tokens[0] = file;
+                  tokens[0] = (char *)file;
                }
                while(count || f)
                {
@@ -1807,7 +1807,7 @@ class SymbolgenApp : Application
             // What is this supposed to do?
             for(c = 1; c<argc; c++)
             {
-               char * file = argv[c];
+               const char * file = argv[c];
                if(file[0] == '-')
                {
                   if(!strcmp(file, "-c"))
@@ -1817,7 +1817,7 @@ class SymbolgenApp : Application
 
             for(c = 1; c<argc; c++)
             {
-               char * file = argv[c];
+               const char * file = argv[c];
                File f = null;
                char line[16384];
                int count = 0;
@@ -1833,7 +1833,7 @@ class SymbolgenApp : Application
                else
                {
                   count = 1;
-                  tokens[0] = file;
+                  tokens[0] = (char *)file;
                }
 
                while(count || f)
index e849b4a..4c10b60 100644 (file)
@@ -69,7 +69,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -79,7 +79,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -90,12 +90,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -106,7 +106,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -589,7 +589,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -610,16 +610,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -631,7 +631,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -643,13 +643,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern __declspec(dllexport) long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern __declspec(dllexport) long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -674,12 +674,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -709,13 +709,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -1782,7 +1782,7 @@ struct Location expression_yylloc;
 
 int expression_yynerrs;
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
 
@@ -1790,11 +1790,11 @@ extern struct Expression * MkExpIdentifier(struct Identifier * id);
 
 extern struct Expression * MkExpInstance(struct Instantiation * inst);
 
-extern struct Expression * MkExpConstant(char *  string);
+extern struct Expression * MkExpConstant(const char *  string);
 
-extern struct Expression * MkExpString(char *  string);
+extern struct Expression * MkExpString(const char *  string);
 
-extern struct Expression * MkExpIntlString(char *  string, char *  context);
+extern struct Expression * MkExpIntlString(const char *  string, const char *  context);
 
 extern struct Expression * MkExpDummy(void);
 
@@ -1846,7 +1846,7 @@ extern struct Specifier * MkSpecifier(int specifier);
 
 extern struct ExtDecl * MkExtDeclString(char * s);
 
-extern char *  (* __ecereFunction___ecereNameSpace__ecere__sys__CopyString)(char *  string);
+extern char *  (* __ecereFunction___ecereNameSpace__ecere__sys__CopyString)(const char *  string);
 
 extern struct ExtDecl * MkExtDeclAttrib(struct Attrib * attr);
 
@@ -1856,7 +1856,7 @@ extern struct Attrib * MkAttrib(int type, struct __ecereNameSpace__ecere__sys__O
 
 extern struct Specifier * MkSpecifierExtended(struct ExtDecl * extDecl);
 
-extern struct Specifier * MkSpecifierName(char *  name);
+extern struct Specifier * MkSpecifierName(const char *  name);
 
 extern struct Specifier * MkSpecifierSubClass(struct Specifier * _class);
 
@@ -1864,7 +1864,7 @@ extern struct Specifier * MkStructOrUnion(int type, struct Identifier * id, stru
 
 extern int declMode;
 
-extern struct Symbol * DeclClass(int symbolID, char *  name);
+extern struct Symbol * DeclClass(int symbolID, const char *  name);
 
 extern struct Context * globalContext;
 
index e64b620..bdc4147 100644 (file)
@@ -69,7 +69,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -79,7 +79,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -90,12 +90,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -106,7 +106,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -717,7 +717,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -738,16 +738,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -759,7 +759,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -771,13 +771,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern __declspec(dllexport) long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern __declspec(dllexport) long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -802,12 +802,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -837,13 +837,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -2601,13 +2601,13 @@ extern char *  strcpy(char * , const char * );
 
 extern char *  strcat(char * , const char * );
 
-extern struct Symbol * _DeclClass(int symbolID, char *  name);
+extern struct Symbol * _DeclClass(int symbolID, const char *  name);
 
 extern void resetScannerPos(struct CodePosition * pos);
 
-extern struct Specifier * MkSpecifierName(char *  name);
+extern struct Specifier * MkSpecifierName(const char *  name);
 
-extern char *  (* __ecereFunction___ecereNameSpace__ecere__sys__CopyString)(char *  string);
+extern char *  (* __ecereFunction___ecereNameSpace__ecere__sys__CopyString)(const char *  string);
 
 extern void SetClassTemplateArgs(struct Specifier * spec, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
 
@@ -2685,7 +2685,7 @@ extern struct ClassDef * MkClassDefClassData(struct Declaration * decl);
 
 extern struct ClassDef * MkClassDefPropertyWatch(struct PropertyWatch * watcher);
 
-extern struct ClassDef * MkClassDefDesigner(char *  designer);
+extern struct ClassDef * MkClassDefDesigner(const char *  designer);
 
 extern struct ClassDef * MkClassDefDesignerDefaultProperty(struct Identifier * id);
 
@@ -2695,7 +2695,7 @@ extern struct TemplateArgument * MkTemplateTypeArgument(struct TemplateDatatype
 
 extern struct TemplateParameter * MkTypeTemplateParameter(struct Identifier * identifier, struct TemplateDatatype * baseTplDatatype, struct TemplateArgument * defaultArgument);
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 extern struct TemplateArgument * MkTemplateIdentifierArgument(struct Identifier * ident);
 
@@ -2707,19 +2707,19 @@ extern struct TemplateParameter * MkExpressionTemplateParameter(struct Identifie
 
 extern struct Context * PushContext(void);
 
-extern struct Symbol * DeclClassAddNameSpace(int symbolID, char *  className);
+extern struct Symbol * DeclClassAddNameSpace(int symbolID, const char *  className);
 
-extern struct Symbol * DeclClass(int symbolID, char *  name);
+extern struct Symbol * DeclClass(int symbolID, const char *  name);
 
 extern struct ClassDefinition * MkClass(struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs, struct __ecereNameSpace__ecere__sys__OldList * definitions);
 
 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
 
-extern struct Expression * MkExpString(char *  string);
+extern struct Expression * MkExpString(const char *  string);
 
-extern struct Expression * MkExpIntlString(char *  string, char *  context);
+extern struct Expression * MkExpIntlString(const char *  string, const char *  context);
 
-extern struct Expression * MkExpConstant(char *  string);
+extern struct Expression * MkExpConstant(const char *  string);
 
 extern struct Expression * MkExpInstance(struct Instantiation * inst);
 
@@ -2771,9 +2771,9 @@ extern unsigned int skipErrors;
 
 extern struct Expression * MkExpCondition(struct Expression * cond, struct __ecereNameSpace__ecere__sys__OldList * expressions, struct Expression * elseExp);
 
-extern void Compiler_Error(char *  format, ...);
+extern void Compiler_Error(const char *  format, ...);
 
-extern __declspec(dllexport) char *  __ecereNameSpace__ecere__GetTranslatedString(char * name, char *  string, char *  stringAndContext);
+extern __declspec(dllexport) const char *  __ecereNameSpace__ecere__GetTranslatedString(const char * name, const char *  string, const char *  stringAndContext);
 
 extern struct Specifier * MkSpecifier(int specifier);
 
@@ -2797,11 +2797,11 @@ extern void AddStructDefinitions(struct Specifier * spec, struct __ecereNameSpac
 
 extern void SetupBaseSpecs(struct Symbol * symbol, struct __ecereNameSpace__ecere__sys__OldList * baseSpecs);
 
-extern struct Specifier * MkSpecifierNameArgs(char *  name, struct __ecereNameSpace__ecere__sys__OldList *  templateArgs);
+extern struct Specifier * MkSpecifierNameArgs(const char *  name, struct __ecereNameSpace__ecere__sys__OldList *  templateArgs);
 
 extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
 
-extern char *  (* __ecereFunction___ecereNameSpace__ecere__sys__RSearchString)(char *  buffer, char *  subStr, int maxLen, unsigned int matchCase, unsigned int matchWord);
+extern char *  (* __ecereFunction___ecereNameSpace__ecere__sys__RSearchString)(const char *  buffer, const char *  subStr, int maxLen, unsigned int matchCase, unsigned int matchWord);
 
 extern struct Declarator * MkDeclaratorArray(struct Declarator * declarator, struct Expression * exp);
 
@@ -2827,7 +2827,7 @@ extern struct Declarator * MkDeclaratorExtendedEnd(struct ExtDecl * extended, st
 
 extern struct Initializer * MkInitializerList(struct __ecereNameSpace__ecere__sys__OldList * list);
 
-extern void Compiler_Warning(char *  format, ...);
+extern void Compiler_Warning(const char *  format, ...);
 
 extern struct InitDeclarator * MkInitDeclarator(struct Declarator * declarator, struct Initializer * initializer);
 
index 95a39e5..ab0b0ba 100644 (file)
@@ -69,7 +69,7 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpac
 
 struct __ecereNameSpace__ecere__com__Method
 {
-char *  name;
+const char *  name;
 struct __ecereNameSpace__ecere__com__Method * parent;
 struct __ecereNameSpace__ecere__com__Method * left;
 struct __ecereNameSpace__ecere__com__Method * right;
@@ -79,7 +79,7 @@ int vid;
 int type;
 struct __ecereNameSpace__ecere__com__Class * _class;
 void *  symbol;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int memberAccess;
 } __attribute__ ((gcc_struct));
@@ -90,12 +90,12 @@ struct __ecereNameSpace__ecere__com__Property
 {
 struct __ecereNameSpace__ecere__com__Property * prev;
 struct __ecereNameSpace__ecere__com__Property * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 void (*  Set)(void * , int);
@@ -106,7 +106,7 @@ void *  symbol;
 int vid;
 unsigned int conversion;
 unsigned int watcherOffset;
-char *  category;
+const char *  category;
 unsigned int compiled;
 unsigned int selfWatchable;
 unsigned int isWatchable;
@@ -615,7 +615,7 @@ struct __ecereNameSpace__ecere__com__Class
 {
 struct __ecereNameSpace__ecere__com__Class * prev;
 struct __ecereNameSpace__ecere__com__Class * next;
-char *  name;
+const char *  name;
 int offset;
 int structSize;
 int (* *  _vTbl)();
@@ -636,16 +636,16 @@ int startMemberID;
 int type;
 struct __ecereNameSpace__ecere__com__Instance * module;
 struct __ecereNameSpace__ecere__com__NameSpace *  nameSpace;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct Type * dataType;
 int typeSize;
 int defaultAlignment;
 void (*  Initialize)();
 int memberOffset;
 struct __ecereNameSpace__ecere__sys__OldList selfWatchers;
-char *  designerClass;
+const char *  designerClass;
 unsigned int noExpansion;
-char *  defaultProperty;
+const char *  defaultProperty;
 unsigned int comRedefinition;
 int count;
 int isRemote;
@@ -657,7 +657,7 @@ int destructionWatchOffset;
 unsigned int fixed;
 struct __ecereNameSpace__ecere__sys__OldList delayedCPValues;
 int inheritanceAccess;
-char *  fullName;
+const char *  fullName;
 void *  symbol;
 struct __ecereNameSpace__ecere__sys__OldList conversions;
 struct __ecereNameSpace__ecere__sys__OldList templateParams;
@@ -669,13 +669,13 @@ unsigned int isInstanceClass;
 unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
-extern __declspec(dllexport) long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
+extern __declspec(dllexport) long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name);
 
-extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name, long long value);
+extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eClass_SetProperty(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, long long value);
 
 extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eInstance_FireSelfWatchers(struct __ecereNameSpace__ecere__com__Instance * instance, struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, char *  name, void *  function);
+extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eInstance_SetMethod(struct __ecereNameSpace__ecere__com__Instance * instance, const char *  name, void *  function);
 
 extern __declspec(dllexport) void __ecereNameSpace__ecere__com__eInstance_IncRef(struct __ecereNameSpace__ecere__com__Instance * instance);
 
@@ -700,12 +700,12 @@ struct __ecereNameSpace__ecere__com__DataMember
 {
 struct __ecereNameSpace__ecere__com__DataMember * prev;
 struct __ecereNameSpace__ecere__com__DataMember * next;
-char *  name;
+const char *  name;
 unsigned int isProperty;
 int memberAccess;
 int id;
 struct __ecereNameSpace__ecere__com__Class * _class;
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 struct Type * dataType;
 int type;
@@ -735,13 +735,13 @@ union
 {
 struct
 {
-char *  dataTypeString;
+const char *  dataTypeString;
 struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
 } __attribute__ ((gcc_struct));
 struct __ecereNameSpace__ecere__com__DataValue expression;
 struct
 {
-char *  memberString;
+const char *  memberString;
 union
 {
 struct __ecereNameSpace__ecere__com__DataMember * member;
@@ -1880,7 +1880,7 @@ struct Location type_yylloc;
 
 int type_yynerrs;
 
-extern struct Symbol * DeclClass(int symbolID, char *  name);
+extern struct Symbol * DeclClass(int symbolID, const char *  name);
 
 extern void resetScannerPos(struct CodePosition * pos);
 
@@ -1888,9 +1888,9 @@ extern char *  strcpy(char * , const char * );
 
 extern char *  strcat(char * , const char * );
 
-extern struct Symbol * _DeclClass(int symbolID, char *  name);
+extern struct Symbol * _DeclClass(int symbolID, const char *  name);
 
-extern struct Specifier * MkSpecifierName(char *  name);
+extern struct Specifier * MkSpecifierName(const char *  name);
 
 extern void SetClassTemplateArgs(struct Specifier * spec, struct __ecereNameSpace__ecere__sys__OldList * templateArgs);
 
@@ -1898,7 +1898,7 @@ extern struct ClassFunction * MkClassFunction(struct __ecereNameSpace__ecere__sy
 
 extern struct Context * globalContext;
 
-extern struct Identifier * MkIdentifier(char *  string);
+extern struct Identifier * MkIdentifier(const char *  string);
 
 extern struct Expression * MkExpBrackets(struct __ecereNameSpace__ecere__sys__OldList * expressions);
 
@@ -1906,11 +1906,11 @@ extern struct Expression * MkExpIdentifier(struct Identifier * id);
 
 extern struct Expression * MkExpInstance(struct Instantiation * inst);
 
-extern struct Expression * MkExpConstant(char *  string);
+extern struct Expression * MkExpConstant(const char *  string);
 
-extern struct Expression * MkExpString(char *  string);
+extern struct Expression * MkExpString(const char *  string);
 
-extern struct Expression * MkExpIntlString(char *  string, char *  context);
+extern struct Expression * MkExpIntlString(const char *  string, const char *  context);
 
 extern struct Expression * MkExpDummy(void);
 
@@ -1958,7 +1958,7 @@ extern struct Declaration * MkDeclarationInst(struct Instantiation * inst);
 
 extern struct Declaration * MkDeclarationDefine(struct Identifier * id, struct Expression * exp);
 
-extern struct Specifier * MkSpecifierNameArgs(char *  name, struct __ecereNameSpace__ecere__sys__OldList *  templateArgs);
+extern struct Specifier * MkSpecifierNameArgs(const char *  name, struct __ecereNameSpace__ecere__sys__OldList *  templateArgs);
 
 extern struct InitDeclarator * MkInitDeclarator(struct Declarator * declarator, struct Initializer * initializer);
 
@@ -1966,7 +1966,7 @@ extern struct Specifier * MkSpecifier(int specifier);
 
 extern struct ExtDecl * MkExtDeclString(char * s);
 
-extern char *  (* __ecereFunction___ecereNameSpace__ecere__sys__CopyString)(char *  string);
+extern char *  (* __ecereFunction___ecereNameSpace__ecere__sys__CopyString)(const char *  string);
 
 extern struct ExtDecl * MkExtDeclAttrib(struct Attrib * attr);
 
index 38ccd41..f03880b 100644 (file)
@@ -4,9 +4,9 @@ import "ecdefs"
 #include "grammar.h"
 extern char * yytext;
 
-char * defaultNameSpace;
+const char * defaultNameSpace;
 int defaultNameSpaceLen;
-public void SetDefaultNameSpace(char * s) { defaultNameSpace = s; defaultNameSpaceLen = s ? strlen(s) : 0; }
+public void SetDefaultNameSpace(const char * s) { defaultNameSpace = s; defaultNameSpaceLen = s ? strlen(s) : 0; }
 
 bool strictNameSpaces;
 public void SetStrictNameSpaces(bool b) { strictNameSpaces = b; }
@@ -18,9 +18,9 @@ public void SetDeclMode(AccessMode accessMode) { structDeclMode = declMode = acc
 AccessMode defaultDeclMode = privateAccess;
 public void SetDefaultDeclMode(AccessMode accessMode) { defaultDeclMode = accessMode; }
 
-char * currentNameSpace;
+const char * currentNameSpace;
 int currentNameSpaceLen;
-public void SetCurrentNameSpace(char * s) { currentNameSpace = s; currentNameSpaceLen = s ? strlen(s) : 0; }
+public void SetCurrentNameSpace(const char * s) { currentNameSpace = s; currentNameSpaceLen = s ? strlen(s) : 0; }
 
 #ifdef _TIMINGS
 Time findClassTotalTime;
@@ -53,7 +53,7 @@ void ListAddFront(OldList list, void * item)
       list.Insert(null, item);
 }
 
-public Identifier MkIdentifier(char * string)
+public Identifier MkIdentifier(const char * string)
 {
    Identifier id { };
    int c;
@@ -62,7 +62,7 @@ public Identifier MkIdentifier(char * string)
 
    if(string)
    {
-      char * namePart;
+      const char * namePart;
       bool gotColon = false;
       for(c = strlen(string)-1; c >= 0; c--)
          if(string[c] == ':')
@@ -210,7 +210,7 @@ Expression MkExpExtensionInitializer(TypeName typeName, Initializer initializer)
 
 public Expression MkExpIdentifier(Identifier id)
 {
-   return { type = identifierExp, identifier = id };
+   return { type = identifierExp, identifier = id, loc = yylloc };
 }
 
 public Expression MkExpDummy()
@@ -219,14 +219,14 @@ public Expression MkExpDummy()
    return exp;
 }
 
-public Expression MkExpConstant(char * string)
+public Expression MkExpConstant(const char * string)
 {
-   return { type = constantExp, constant = CopyString(string) };
+   return { type = constantExp, constant = CopyString(string), loc = yylloc };
 }
 
-Expression MkExpString(char * string)
+Expression MkExpString(const char * string)
 {
-   return { type = stringExp, string = CopyString(string) };
+   return { type = stringExp, string = CopyString(string), loc = yylloc };
 }
 
 // TODO: String is case sensitive..
@@ -275,7 +275,7 @@ public struct ContextStringPair
 
 Map<ContextStringPair, List<Location>> intlStrings { };
 
-Expression MkExpIntlString(char * string, char * context)
+Expression MkExpIntlString(const char * string, const char * context)
 {
    if(inCompiler)
    {
@@ -371,67 +371,67 @@ Expression MkExpIndex(Expression expression, OldList index)
 
 Expression MkExpCall(Expression expression, OldList arguments)
 {
-   return { type = callExp, call.exp = expression, call.arguments = arguments };
+   return { type = callExp, call.exp = expression, call.arguments = arguments, loc = yylloc };
 }
 
 Expression MkExpMember(Expression expression, Identifier member)
 {
-   return { type = memberExp, member.exp = expression, member.member = member };
+   return { type = memberExp, member.exp = expression, member.member = member, loc = yylloc };
 }
 
 Expression MkExpPointer(Expression expression, Identifier member)
 {
-   return { type = pointerExp, member.exp = expression, member.member = member };
+   return { type = pointerExp, member.exp = expression, member.member = member, loc = yylloc };
 }
 
 Expression MkExpTypeSize(TypeName typeName)
 {
-   return { type = typeSizeExp, typeName = typeName };
+   return { type = typeSizeExp, typeName = typeName, loc = yylloc };
 }
 
 Expression MkExpTypeAlign(TypeName typeName)
 {
-   return { type = typeAlignExp, typeName = typeName };
+   return { type = typeAlignExp, typeName = typeName, loc = yylloc };
 }
 
 Expression MkExpClassSize(Specifier _class)
 {
-   return { type = classSizeExp, _class = _class };
+   return { type = classSizeExp, _class = _class, loc = yylloc };
 }
 
 Expression MkExpCast(TypeName typeName, Expression expression)
 {
-   return { type = castExp, cast.typeName = typeName, cast.exp = expression };
+   return { type = castExp, cast.typeName = typeName, cast.exp = expression, loc = yylloc };
 }
 
 Expression MkExpCondition(Expression cond, OldList expressions, Expression elseExp)
 {
-   return { type = conditionExp, cond.cond = cond, cond.exp = expressions, cond.elseExp = elseExp };
+   return { type = conditionExp, cond.cond = cond, cond.exp = expressions, cond.elseExp = elseExp, loc = yylloc };
 }
 
 Expression MkExpRenew(Expression memExp, TypeName type, Expression size)
 {
-   return { type = renewExp, _renew.exp = memExp, _renew.typeName = type, _renew.size = size };
+   return { type = renewExp, _renew.exp = memExp, _renew.typeName = type, _renew.size = size, loc = yylloc };
 }
 
 Expression MkExpRenew0(Expression memExp, TypeName type, Expression size)
 {
-   return { type = renew0Exp, _renew.exp = memExp, _renew.typeName = type, _renew.size = size };
+   return { type = renew0Exp, _renew.exp = memExp, _renew.typeName = type, _renew.size = size, loc = yylloc };
 }
 
 Expression MkExpNew(TypeName type, Expression size)
 {
-   return { type = newExp, _new.typeName = type, _new.size = size };
+   return { type = newExp, _new.typeName = type, _new.size = size, loc = yylloc };
 }
 
 Expression MkExpNew0(TypeName type, Expression size)
 {
-   return { type = new0Exp, _new.typeName = type, _new.size = size };
+   return { type = new0Exp, _new.typeName = type, _new.size = size, loc = yylloc };
 }
 
 Expression MkExpVaArg(Expression exp, TypeName type)
 {
-   return { type = vaArgExp, vaArg.exp = exp, vaArg.typeName = type };
+   return { type = vaArgExp, vaArg.exp = exp, vaArg.typeName = type, loc = yylloc };
 }
 
 Specifier MkSpecifier(int specifier)
@@ -675,7 +675,7 @@ public TypeName MkTypeNameGuessDecl(OldList qualifiers, Declarator declarator)
          next = spec.next;
          if(gotType && !declarator && ((spec.type == nameSpecifier && spec.name) || (spec.type == baseSpecifier && gotFullType)))
          {
-            String s = null;
+            const String s = null;
             if(spec.type == nameSpecifier)
             {
                char * colon = RSearchString(spec.name, "::", strlen(spec.name), true, false);
@@ -856,10 +856,10 @@ Declaration MkDeclaration(OldList specifiers, OldList initDeclarators)
                {
                   if((spec.type == nameSpecifier && spec.name) || spec.type == baseSpecifier)
                   {
-                     String s = null;
+                     const String s = null;
                      if(spec.type == nameSpecifier)
                      {
-                        char * colon = RSearchString(spec.name, "::", strlen(spec.name), true, false);
+                        const char * colon = RSearchString(spec.name, "::", strlen(spec.name), true, false);
                         s = colon ? colon + 2 : spec.name;
                      }
                      else if(spec.type == baseSpecifier)
@@ -890,7 +890,7 @@ Declaration MkDeclaration(OldList specifiers, OldList initDeclarators)
          {
             if(gotType && initDeclarators == null && !spec.next && ((spec.type == nameSpecifier && spec.name) || spec.type == baseSpecifier))
             {
-               String s = null;
+               const String s = null;
                if(spec.type == nameSpecifier)
                {
                   char * colon = RSearchString(spec.name, "::", strlen(spec.name), true, false);
@@ -1023,10 +1023,10 @@ Declaration MkStructDeclaration(OldList specifiers, OldList declarators, Specifi
          next = spec.next;
          if(gotType && declarators == null && ((spec.type == nameSpecifier && spec.name) || spec.type == baseSpecifier))
          {
-            String s = null;
+            const String s = null;
             if(spec.type == nameSpecifier)
             {
-               char * colon = RSearchString(spec.name, "::", strlen(spec.name), true, false);
+               const char * colon = RSearchString(spec.name, "::", strlen(spec.name), true, false);
                s = colon ? colon + 2 : spec.name;
             }
             else if(spec.type == baseSpecifier)
@@ -1442,7 +1442,7 @@ void SetClassTemplateArgs(Specifier spec, OldList templateArgs)
       FreeList(templateArgs, FreeTemplateArgument);
 }
 
-Specifier _MkSpecifierName(char * name, Symbol symbol, OldList templateArgs)
+Specifier _MkSpecifierName(const char * name, Symbol symbol, OldList templateArgs)
 {
    Specifier spec { type = nameSpecifier };
 
@@ -1483,18 +1483,18 @@ Specifier _MkSpecifierName(char * name, Symbol symbol, OldList templateArgs)
    return spec;
 }
 
-public Specifier MkSpecifierName(char * name)
+public Specifier MkSpecifierName(const char * name)
 {
    return _MkSpecifierName(name, null, null);
 }
 
-public Specifier MkSpecifierNameArgs(char * name, OldList * templateArgs)
+public Specifier MkSpecifierNameArgs(const char * name, OldList * templateArgs)
 {
    return _MkSpecifierName(name, null, templateArgs);
 }
 
 /*
-Specifier MkClassName(char * string)
+Specifier MkClassName(const char * string)
 {
    return { type = SpecifierClass, name = CopyString(string) };
 }
@@ -1694,7 +1694,7 @@ ClassDef MkClassDefClassData(Declaration decl)
    return { type = classDataClassDef, decl = decl };
 }
 
-ClassDef MkClassDefDesigner(char * designer)
+ClassDef MkClassDefDesigner(const char * designer)
 {
    return { type = classDesignerClassDef, designer = CopyString(designer) };
 }
@@ -1740,7 +1740,7 @@ ClassDef MkClassDefFunction(ClassFunction function)
    return def;
 }
 
-Symbol DeclClassAddNameSpace(int symbolID, char * className)
+Symbol DeclClassAddNameSpace(int symbolID, const char * className)
 {
    char name[1024];
    int len = 0, stringLen;
@@ -1769,7 +1769,7 @@ Symbol DeclClassAddNameSpace(int symbolID, char * className)
    return _DeclClass(symbolID, name);
 }
 
-Symbol DeclClass(int symbolID, char * name)
+Symbol DeclClass(int symbolID, const char * name)
 {
    if(strchr(name, ':'))
       return _DeclClass(symbolID, name);
@@ -1777,7 +1777,7 @@ Symbol DeclClass(int symbolID, char * name)
       return DeclClassAddNameSpace(symbolID, name);
 }
 
-Symbol _DeclClass(int symbolID, char * name)
+Symbol _DeclClass(int symbolID, const char * name)
 {
    Symbol symbol = FindClass(name);
    if(!symbol)
@@ -1965,7 +1965,7 @@ ClassDef MkClassDefClassPropertyValue(Identifier id, Initializer initializer)
    return { type = classPropertyValueClassDef, id = id, initializer = initializer };
 }
 
-int CheckType(char * text)
+int CheckType(const char * text)
 {
 #ifdef _TIMINGS
    Time startTime = GetTime();
@@ -2014,7 +2014,7 @@ void PopContext(Context ctx)
    curContext = ctx.parent;
 }
 
-Symbol FindType(Context ctx, char * name)
+Symbol FindType(Context ctx, const char * name)
 {
    Symbol type = null;
    if(curContext)
@@ -2032,7 +2032,7 @@ Symbol FindType(Context ctx, char * name)
    return type;
 }
 
-TemplatedType FindTemplateTypeParameter(Context ctx, char * name)
+TemplatedType FindTemplateTypeParameter(Context ctx, const char * name)
 {
    TemplatedType templatedType = null;
    if(curContext)
@@ -2104,7 +2104,7 @@ static char * GetFullClassName(Class c, char * name)
 }
 */
 
-public Symbol FindClass(char * name)
+public Symbol FindClass(const char * name)
 {
 #ifdef _DEBUG
    Time startTime = GetTime();
@@ -2729,7 +2729,7 @@ public Type ProcessType(OldList specs, Declarator decl)
    return ProcessTypeDecls(specs, decl, null);
 }
 
-public Type ProcessTypeString(char * string, bool staticMethod)
+public Type ProcessTypeString(const char * string, bool staticMethod)
 {
    OldList * specs = MkList();
    Declarator decl = SpecDeclFromString(string, specs, null);
@@ -2756,7 +2756,7 @@ Type MkClassTypeSymbol(Symbol symbol)
    return null;
 }
 
-public Type MkClassType(char * name)
+public Type MkClassType(const char * name)
 {
    if(name)
    {
@@ -2875,7 +2875,7 @@ Expression MkExpArray(OldList * expressions)
    return { type = arrayExp, list = expressions };
 }
 
-Expression GetTemplateArgExpByName(char * paramName, Class curClass, TemplateParameterType tplType)
+Expression GetTemplateArgExpByName(const char * paramName, Class curClass, TemplateParameterType tplType)
 {
    Expression argExp = null;
    Class _class = curClass ? curClass : ((curExternal && curExternal.type == functionExternal && curExternal.function) ? curExternal.function._class : null);
@@ -2928,7 +2928,7 @@ Expression GetTemplateArgExp(TemplateParameter param, Class curClass, bool point
    return param.identifier ? GetTemplateArgExpByName(param.identifier.string, curClass, type) : null;
 }
 
-/*char * CreateMsgID(char * string, char * context)
+/*char * CreateMsgID(const char * string, const char * context)
 {
    int lenString = strlen(string), lenContext = strlen(context);
    char * msgid = new char[lenString + lenContext + 20];
@@ -2943,8 +2943,8 @@ public void OutputIntlStrings()
 {
    if(intlStrings.count)
    {
-      char * srcFile = GetSourceFile();
-      char * objFile = GetOutputFile();
+      const char * srcFile = GetSourceFile();
+      const char * objFile = GetOutputFile();
       char srcFileFixed[MAX_LOCATION];
       char potFile[MAX_LOCATION];
       File f;
@@ -2952,7 +2952,7 @@ public void OutputIntlStrings()
       f = FileOpen(potFile, write);
       if(f)
       {
-         char * filePrefix = "";
+         const char * filePrefix = "";
          if(!(srcFile[0] && (srcFile[1] == ':' || srcFile[0] == '/')))
             filePrefix = "./"; //(GetRuntimePlatform() == win32) ? ".\\" : "./";
          // GetSystemPathBuffer(srcFileFixed, srcFile);
index 632b9cb..8596a62 100644 (file)
@@ -259,8 +259,8 @@ static void ProcessExpression(Expression exp)
             args->Add(MkExpIdentifier(MkIdentifier("create")));
             compound.compound.statements->Add(MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier("db")), '=',
                MkExpCall(MkExpMember(exp.dbopen.ds, MkIdentifier("OpenDatabase")), args)))));
-            compound.compound.statements->Add(MkExpressionStmt(MkListOne(/*MkExpOp(MkExpIdentifier(MkIdentifier("createNow")), '=',*/
-               MkExpIdentifier(MkIdentifier("true"))))); //);
+            /*compound.compound.statements->Add(MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier("createNow")), '=',
+               MkExpIdentifier(MkIdentifier("true")))));*/
 
             exp.dbopen.name = null;
             exp.dbopen.ds = null;
index d183a5c..909efc8 100644 (file)
@@ -197,16 +197,16 @@ public void SetMainModule(ModuleImport moduleImport) { mainModule = moduleImport
 File fileInput;
 public void SetFileInput(File file) { fileInput = file; }
 char * symbolsDir = null;
-public void SetSymbolsDir(char * s) {
+public void SetSymbolsDir(const char * s) {
    delete symbolsDir;
    symbolsDir = CopyString(s);
-} public char * GetSymbolsDir() { return symbolsDir ? symbolsDir : ""; }
-char * outputFile;
-public void SetOutputFile(char * s) { outputFile = s; } public char * GetOutputFile() { return outputFile; }
-char * sourceFile;
-public void SetSourceFile(char * s) { sourceFile = s; } public char * GetSourceFile() { return sourceFile; }
-char * i18nModuleName;
-public void SetI18nModuleName(char * s) { i18nModuleName = s; } public char * GetI18nModuleName() { return i18nModuleName; }
+} public const char * GetSymbolsDir() { return symbolsDir ? symbolsDir : ""; }
+const char * outputFile;
+public void SetOutputFile(const char * s) { outputFile = s; } public const char * GetOutputFile() { return outputFile; }
+const char * sourceFile;
+public void SetSourceFile(const char * s) { sourceFile = s; } public const char * GetSourceFile() { return sourceFile; }
+const char * i18nModuleName;
+public void SetI18nModuleName(const char * s) { i18nModuleName = s; } public const char * GetI18nModuleName() { return i18nModuleName; }
 
 public void SetGlobalContext(Context context) { globalContext = context; } public Context GetGlobalContext() { return globalContext; }
 public void SetTopContext(Context context) { topContext = context; } public Context GetTopContext() { return topContext; }
@@ -239,7 +239,8 @@ public char * PassArg(char * output, const char * input)
    const char * escCharsQuoted = "\"()$";
 #endif
    bool quoting = false;
-   char *o = output, *i = input, *l = input;
+   char *o = output;
+   const char *i = input, *l = input;
 #ifdef __WIN32__
    while(*l && !strchr(escChars, *l)) l++;
    if(*l) quoting = true;
@@ -441,7 +442,7 @@ public:
    TemplateArgument defaultArgument;
 
    // For type parameters
-   char * dataTypeString;
+   const char * dataTypeString;
    Type baseType;
 }
 
@@ -1309,10 +1310,11 @@ public:
    bool attrStdcall:1;
    bool declaredWithStruct:1;
    bool typedByReference:1;      // Originally typed by reference, regardless of class type
+   bool casted:1;
    // TODO: Add _Complex & _Imaginary support
    // bool complex:1, imaginary:1;
 
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       Type type = (Type)this;
       tempString[0] = '\0';
@@ -1416,7 +1418,7 @@ define MAX_INCLUDE_DEPTH = 30;
 
 #include <stdarg.h>
 
-void Compiler_Error(char * format, ...)
+void Compiler_Error(const char * format, ...)
 {
    if(inCompiler)
    {
@@ -1468,7 +1470,7 @@ void Compiler_Error(char * format, ...)
 int numWarnings;
 public int GetNumWarnings() { return numWarnings; }
 
-void Compiler_Warning(char * format, ...)
+void Compiler_Warning(const char * format, ...)
 {
    if(inCompiler)
    {
index 7a76530..4f77377 100644 (file)
@@ -565,7 +565,7 @@ static void ProcessClass(ClassType classType, OldList definitions, Symbol symbol
             delete typeString;
          }
          if(param.type == type || param.type == identifier)
-            delete defaultArg.dataTypeString;
+            delete (void *)defaultArg.dataTypeString;
 
       }
       eClass_DoneAddingTemplateParameters(regClass);
index 2b9e9bc..eb8d832 100644 (file)
@@ -1222,7 +1222,7 @@ void TESTTTT()
 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;
index d1add03..e6779df 100644 (file)
@@ -125,7 +125,7 @@ static void ReadDataMembers(Class regClass, DataMember member, File f)
 
 // This should register the stuff only...
 // But also call ImportModule
-public bool LoadSymbols(char * fileName, ImportType importType, bool loadDllOnly)
+public bool LoadSymbols(const char * fileName, ImportType importType, bool loadDllOnly)
 {
    File f = FileOpenBuffered(fileName, read);
    bool globalInstance = false;
@@ -211,7 +211,7 @@ public bool LoadSymbols(char * fileName, ImportType importType, bool loadDllOnly
                         else if(regClass = eSystem_FindClass(privateModule, name), !regClass || regClass.internalDecl || regClass.isRemote)
                         {
                            Symbol existingClass = FindClass(name);
-                           char * baseName = (classType == normalClass && importType == remoteImport && isRemote) ? "DCOMClientObject" : (!strcmp(line, "[None]") ? null : line);
+                           const char * baseName = (classType == normalClass && importType == remoteImport && isRemote) ? "DCOMClientObject" : (!strcmp(line, "[None]") ? null : line);
                            //Symbol baseSymbol = baseName ? FindClass(baseName) : null;
                            //if(baseSymbol && !baseSymbol->registered)
                            /*if(classType != unitClass && classType != bitClass && classType != enumClass && baseName && !eSystem_FindClass(privateModule, baseName))
@@ -535,7 +535,7 @@ public bool LoadSymbols(char * fileName, ImportType importType, bool loadDllOnly
                            if(type == TemplateParameterType::type || type == TemplateParameterType::expression)
                               delete info;
                            if(type == TemplateParameterType::type || type == TemplateParameterType::identifier)
-                              delete defaultArg.dataTypeString;
+                              delete (void *)defaultArg.dataTypeString;
                         }
                         if(regClass)
                            eClass_DoneAddingTemplateParameters(regClass);
@@ -717,7 +717,7 @@ public bool LoadSymbols(char * fileName, ImportType importType, bool loadDllOnly
 Map<String, List<Module> > loadedModules { };
 
 // (Same function as in actual compiler)
-public void ImportModule(char * name, ImportType importType, AccessMode importAccess, bool loadDllOnly)
+public void ImportModule(const char * name, ImportType importType, AccessMode importAccess, bool loadDllOnly)
 {
    ImportedModule module = null;
    char moduleName[MAX_LOCATION];
@@ -965,7 +965,7 @@ public void FreeGlobalData(NameSpace globalDataList)
    {
       FreeGlobalData(ns);
       globalDataList.nameSpaces.Remove((BTNode)ns);
-      delete ns->name;
+      delete (void *)ns->name;
       delete ns;
    }
    for(;(data = (GlobalData)globalDataList.functions.root);)
index 0e85dd5..8404305 100644 (file)
@@ -10,7 +10,10 @@ public void MangleClassName(char * className)
    char output[1024];
    int c, d = 0;
    char ch;
-   for(c = 0; (ch = className[c]); c++)
+   c = 0;
+   if(!strncmp(className, "const ", 6)) c += 6;
+
+   for(; (ch = className[c]); c++)
    {
       if(ch == ' ')
          output[d++] = '_';
@@ -24,6 +27,7 @@ public void MangleClassName(char * className)
       }
       else if(ch == '<')
       {
+         if(!strncmp(className + c + 1, "const ", 6)) c += 6;
          output[d++] = '_';
          output[d++] = 'T';
          output[d++] = 'P';
@@ -44,6 +48,7 @@ public void MangleClassName(char * className)
       }
       else if(ch == ',')
       {
+         if(!strncmp(className + c + 1, "const ", 6)) c += 6;
          output[d++] = '_';
       }
       else
@@ -54,7 +59,7 @@ public void MangleClassName(char * className)
    // ChangeCh(className, '*', '_');
 }
 
-public void FullClassNameCat(char * output, char * className, bool includeTemplateParams)
+public void FullClassNameCat(char * output, const char * className, bool includeTemplateParams)
 {
    int c;
    char ch;
@@ -77,7 +82,11 @@ public void FullClassNameCat(char * output, char * className, bool includeTempla
    }
 
    len = strlen(output);
-   for(c = 0; (ch = className[c]); c++)
+
+   c = 0;
+   if(!strncmp(className, "const ", 6)) c += 6;
+
+   for(; (ch = className[c]); c++)
    {
       if(ch == ':')
          output[len++] = '_';
@@ -102,6 +111,7 @@ public void FullClassNameCat(char * output, char * className, bool includeTempla
       else if(ch == '<')
       {
          if(!includeTemplateParams) break;
+         if(!strncmp(className + c + 1, "const ", 6)) c += 6;
          output[len++] = '_';
          output[len++] = 'T';
          output[len++] = 'P';
@@ -114,6 +124,7 @@ public void FullClassNameCat(char * output, char * className, bool includeTempla
       }
       else if(ch == ',')
       {
+         if(!strncmp(className + c + 1, "const ", 6)) c += 6;
          output[len++] = '_';
       }
       else
@@ -140,7 +151,7 @@ static bool NameSpaceContained(NameSpace * ns, NameSpace * parent)
       return false;
 }
 
-static void CheckPublicClass(Symbol classSym, AccessMode access, char * word)
+static void CheckPublicClass(Symbol classSym, AccessMode access, const char * word)
 {
    Class regClass = classSym ? classSym.registered : null;
    if(regClass)
@@ -302,7 +313,7 @@ static void CheckPublicExpression(Expression exp, AccessMode access)
    }
 }
 
-static void CheckPublicDataType(Type type, AccessMode access, char * word)
+static void CheckPublicDataType(Type type, AccessMode access, const char * word)
 {
    if(type)
    {
index 4d5bc7a..6578629 100644 (file)
@@ -135,7 +135,7 @@ External ProcessClassFunction(Class owningClass, ClassFunction func, OldList def
             }
 
             yylloc = func.loc;
-            if(!MatchTypes(type, methodDataType, null, owningClass, method._class /*owningClass*/, true, true, true, false))
+            if(!MatchTypes(type, methodDataType, null, owningClass, method._class /*owningClass*/, true, true, true, false, true))
             {
 #ifdef _DEBUG
                // MatchTypes(type, methodDataType, null, owningClass, owningClass, true, true, true, false);
@@ -343,7 +343,7 @@ void CreateRegisterModuleBody()
    }
 }
 
-void RegisterMembersAndProperties(Class regClass, bool isMember, char * className, Statement statement)
+void RegisterMembersAndProperties(Class regClass, bool isMember, const char * className, Statement statement)
 {
    DataMember dataMember = isMember ? (DataMember)regClass : null;
    DataMember member;
@@ -1096,7 +1096,7 @@ static void ProcessClass(ClassType classType, OldList definitions, Symbol symbol
          OldList * args = MkList();
          Method method;
          Expression exp;
-         char * registerFunction = null;
+         const char * registerFunction = null;
          AccessMode inheritanceAccess = publicAccess;
 
          CreateRegisterModuleBody();
index c387ab4..95ced2a 100644 (file)
@@ -105,7 +105,7 @@ bool NeedCast(Type type1, Type type2)
          case classType:
             return type1._class != type2._class;
          case pointerType:
-            return NeedCast(type1.type, type2.type);
+            return (type1.type && type2.type && type1.type.constant != type2.type.constant) || NeedCast(type1.type, type2.type);
          default:
             return true; //false; ????
       }
@@ -1053,7 +1053,7 @@ static int DeclareMembers(Class _class, bool isMember)
    return topMember ? topMember.memberID : _class.memberID;
 }
 
-void DeclareStruct(char * name, bool skipNoHead)
+void DeclareStruct(const char * name, bool skipNoHead)
 {
    External external = null;
    Symbol classSym = FindClass(name);
@@ -1734,8 +1734,16 @@ void ProcessMemberInitData(MemberInit member, Class _class, Class * curClass, Da
             ClassTemplateArgument arg = _class.templateArgs[id];
             if(arg.dataTypeString)
             {
+               bool constant = type.constant;
                // FreeType(type);
                type = ProcessTypeString(arg.dataTypeString, false);
+               if(type.kind == classType && constant) type.constant = true;
+               else if(type.kind == pointerType)
+               {
+                  Type t = type.type;
+                  while(t.kind == pointerType) t = t.type;
+                  if(constant) t.constant = constant;
+               }
                freeType = true;
                if(type && _class.templateClass)
                   type.passAsTemplate = true;
@@ -1900,7 +1908,7 @@ void ProcessMemberInitData(MemberInit member, Class _class, Class * curClass, Da
             }
          }
          //else if(!MatchTypes(member.exp.expType, type, null, _class, null, true, true, false, false))
-         else if(!MatchTypes(member.initializer.exp.expType, type, null, null, _class, true, true, false, false))
+         else if(!MatchTypes(member.initializer.exp.expType, type, null, null, _class, true, true, false, false, true))
          {
             Compiler_Error($"incompatible instance method %s\n", ident.string);
          }
@@ -2401,7 +2409,7 @@ public void ProcessPropertyType(Property prop)
    }
 }
 
-public void DeclareMethod(Method method, char * name)
+public void DeclareMethod(Method method, const char * name)
 {
    Symbol symbol = method.symbol;
    if(!symbol || (!symbol.pointerExternal && method.type == virtualMethod) || symbol.id > (curExternal ? curExternal.symbol.idCode : -1))
@@ -2914,10 +2922,27 @@ class Conversion : struct
    Type resultType;
 };
 
-public bool MatchTypes(Type source, Type dest, OldList conversions, Class owningClassSource, Class owningClassDest, bool doConversion, bool enumBaseType, bool acceptReversedParams, bool isConversionExploration)
+public bool MatchTypes(Type source, Type dest, OldList conversions, Class owningClassSource, Class owningClassDest, bool doConversion, bool enumBaseType, bool acceptReversedParams,
+                       bool isConversionExploration, bool warnConst)
 {
    if(source && dest)
    {
+      if(warnConst &&
+         ((source.kind == classType && source._class && source._class.registered) || source.kind == arrayType || source.kind == pointerType) &&
+         ((dest.kind == classType && dest._class && dest._class.registered) || /*dest.kind == arrayType || */dest.kind == pointerType))
+      {
+         Class sourceClass = source.kind == classType ? source._class.registered : null;
+         Class destClass = dest.kind == classType ? dest._class.registered : null;
+         if((!sourceClass || (sourceClass && sourceClass.type == normalClass && !sourceClass.structSize)) &&
+            (!destClass || (destClass && destClass.type == normalClass && !destClass.structSize)))
+         {
+            Type sourceType = source, destType = dest;
+            while(sourceType.type && (sourceType.kind == pointerType || sourceType.kind == arrayType)) sourceType = sourceType.type;
+            while(destType.type && (destType.kind == pointerType || destType.kind == arrayType)) destType = destType.type;
+            if(!destType.constant && sourceType.constant)
+               Compiler_Warning($"discarding const qualifier\n");
+         }
+      }
       // Property convert;
 
       if(source.kind == templateType && dest.kind != templateType)
@@ -2975,7 +3000,6 @@ public bool MatchTypes(Type source, Type dest, OldList conversions, Class owning
       if(!isConversionExploration && source.kind == pointerType && source.type.kind == voidType &&
          ((dest.kind == classType && (!dest._class || !dest._class.registered || dest._class.registered.type == structClass || dest._class.registered.type == normalClass || dest._class.registered.type == noHeadClass || dest._class.registered.type == systemClass))
          || dest.kind == subClassType || dest.kind == pointerType || dest.kind == arrayType || dest.kind == functionType || dest.kind == thisClassType)
-
          /* dest.kind != voidType && dest.kind != structType && dest.kind != unionType  */
 
          /*&& (dest.kind != classType || dest._class.registered.type != structClass)*/)
@@ -3046,7 +3070,7 @@ public bool MatchTypes(Type source, Type dest, OldList conversions, Class owning
                      if((!isConversionExploration || convert.dataType.kind == classType || !strcmp(_class.name, "String")) &&
                         MatchTypes(convert.dataType, dest, conversions, null, null,
                            (convert.dataType.kind == classType && !strcmp(convert.dataTypeString, "String")) ? true : false,
-                              convert.dataType.kind == classType, false, true))
+                              convert.dataType.kind == classType, false, true, warnConst))
                      {
                         if(!conversions && !convert.Get)
                            return true;
@@ -3061,6 +3085,7 @@ public bool MatchTypes(Type source, Type dest, OldList conversions, Class owning
                               Conversion conv { convert = convert, isGet = true };
                               // conversions.Add(conv);
                               conversions.Insert(after, conv);
+
                               return true;
                            }
                         }
@@ -3082,32 +3107,48 @@ public bool MatchTypes(Type source, Type dest, OldList conversions, Class owning
                {
                   if(convert.memberAccess == publicAccess || _class.module == privateModule)
                   {
+                     Type constType = null;
+                     bool success = false;
                      // Conversion after = (conversions != null) ? conversions.last : null;
 
                      if(!convert.dataType)
                         convert.dataType = ProcessTypeString(convert.dataTypeString, false);
+
+                     if(warnConst && convert.dataType.kind == pointerType && convert.dataType.type && dest.constant)
+                     {
+                        Type ptrType { };
+                        constType = { kind = pointerType, refCount = 1, type = ptrType };
+                        CopyTypeInto(ptrType, convert.dataType.type);
+                        ptrType.refCount++;
+                        ptrType.constant = true;
+                     }
+
                      // Just added this equality check to prevent recursion.... Make it safer?
                      // Changed enumBaseType to false here to prevent all int-compatible enums to show up in AnchorValues
-                     if(convert.dataType != dest && MatchTypes(source, convert.dataType, conversions, null, null, true, false /*true*/, false, true))
+                     if((constType || convert.dataType != dest) && MatchTypes(source, constType ? constType : convert.dataType, conversions, null, null, true, false /*true*/, false, true, warnConst))
                      {
                         if(!conversions && !convert.Set)
-                           return true;
+                           success = true;
                         else if(conversions != null)
                         {
                            if(_class.type == unitClass && convert.dataType.kind == classType && convert.dataType._class &&
                               convert.dataType._class.registered && _class.base == convert.dataType._class.registered.base &&
                               (source.kind != classType || source._class.registered != _class.base))
-                              return true;
+                              success = true;
                            else
                            {
                               // *** Testing this! ***
                               Conversion conv { convert = convert };
                               conversions.Add(conv);
                               //conversions.Insert(after, conv);
-                              return true;
+                              success = true;
                            }
                         }
                      }
+                     if(success)
+                        return true;
+                     if(constType)
+                        FreeType(constType);
                   }
                }
             }
@@ -3127,7 +3168,7 @@ public bool MatchTypes(Type source, Type dest, OldList conversions, Class owning
                if(dest._class.registered.dataType.kind == classType || source.truth || dest.truth/* ||
                   !strcmp(dest._class.registered.name, "bool") || (source.kind == classType && !strcmp(source._class.string, "bool"))*/)
                {
-                  if(MatchTypes(source, dest._class.registered.dataType, conversions, null, null, true, dest._class.registered.dataType.kind == classType, false, false))
+                  if(MatchTypes(source, dest._class.registered.dataType, conversions, null, null, true, dest._class.registered.dataType.kind == classType, false, false, warnConst))
                   {
                      return true;
                   }
@@ -3152,7 +3193,7 @@ public bool MatchTypes(Type source, Type dest, OldList conversions, Class owning
                         convert.dataType = ProcessTypeString(convert.dataTypeString, false);
                      if(convert.dataType != source &&
                         (!isConversionExploration || convert.dataType.kind == classType || !strcmp(_class.name, "String")) &&
-                        MatchTypes(convert.dataType, dest, conversions, null, null, convert.dataType.kind == classType, convert.dataType.kind == classType, false, true))
+                        MatchTypes(convert.dataType, dest, conversions, null, null, convert.dataType.kind == classType, convert.dataType.kind == classType, false, true, warnConst))
                      {
                         if(!conversions && !convert.Get)
                            return true;
@@ -3183,10 +3224,10 @@ public bool MatchTypes(Type source, Type dest, OldList conversions, Class owning
                   source._class.registered.dataType = ProcessTypeString(source._class.registered.dataTypeString, false);
                if(!isConversionExploration || source._class.registered.dataType.kind == classType || !strcmp(source._class.registered.name, "String"))
                {
-                  if(MatchTypes(source._class.registered.dataType, dest, conversions, null, null, source._class.registered.dataType.kind == classType, source._class.registered.dataType.kind == classType, false, false))
+                  if(MatchTypes(source._class.registered.dataType, dest, conversions, null, null, source._class.registered.dataType.kind == classType, source._class.registered.dataType.kind == classType, false, false, warnConst))
                      return true;
                   // For bool to be accepted by byte, short, etc.
-                  else if(MatchTypes(dest, source._class.registered.dataType, null, null, null, false, false, false, false))
+                  else if(MatchTypes(dest, source._class.registered.dataType, null, null, null, false, false, false, false, warnConst))
                      return true;
                }
             }
@@ -3312,7 +3353,7 @@ public bool MatchTypes(Type source, Type dest, OldList conversions, Class owning
 
 
          // Source return type must be derived from destination return type
-         if(!MatchTypes(source.returnType, dest.returnType, null, null, null, true, true, false, false))
+         if(!MatchTypes(source.returnType, dest.returnType, null, null, null, true, true, false, false, warnConst))
          {
             Compiler_Warning($"incompatible return type for function\n");
             return false;
@@ -3368,8 +3409,8 @@ public bool MatchTypes(Type source, Type dest, OldList conversions, Class owning
                }
 
                // paramDest must be derived from paramSource
-               if(!MatchTypes(paramDestType, paramSourceType, null, null, null, true, true, false, false) &&
-                  (!acceptReversedParams || !MatchTypes(paramSourceType, paramDestType, null, null, null, true, true, false, false)))
+               if(!MatchTypes(paramDestType, paramSourceType, null, null, null, true, true, false, false, warnConst) &&
+                  (!acceptReversedParams || !MatchTypes(paramSourceType, paramDestType, null, null, null, true, true, false, false, warnConst)))
                {
                   char type[1024];
                   type[0] = 0;
@@ -3400,7 +3441,7 @@ public bool MatchTypes(Type source, Type dest, OldList conversions, Class owning
       else if((dest.kind == pointerType || dest.kind == arrayType) &&
          (source.kind == arrayType || source.kind == pointerType))
       {
-         if(MatchTypes(source.type, dest.type, null, null, null, true, true, false, false))
+         if(MatchTypes(source.type, dest.type, null, null, null, true, true, false, false, warnConst))
             return true;
       }
    }
@@ -3431,7 +3472,7 @@ bool MatchWithEnums_NameSpace(NameSpace nameSpace, Expression sourceExp, Type de
             _class.symbol = FindClass(_class.fullName);
          type._class = _class.symbol;
 
-         if(MatchTypes(type, dest, &converts, null, null, true, false, false, false))
+         if(MatchTypes(type, dest, &converts, null, null, true, false, false, false, false))
          {
             NamedLink value;
             Class enumClass = eSystem_FindClass(privateModule, "enum");
@@ -3525,7 +3566,7 @@ bool MatchWithEnums_Module(Module mainModule, Expression sourceExp, Type dest, c
    return false;
 }
 
-bool MatchTypeExpression(Expression sourceExp, Type dest, OldList conversions, bool skipUnitBla)
+bool MatchTypeExpression(Expression sourceExp, Type dest, OldList conversions, bool skipUnitBla, bool warnConst)
 {
    Type source;
    Type realDest = dest;
@@ -3635,7 +3676,7 @@ bool MatchTypeExpression(Expression sourceExp, Type dest, OldList conversions, b
                tempType._class = _class.symbol;
                tempType.truth = dest.truth;
                if(tempType._class)
-                  MatchTypes(tempSource, tempDest, conversions, null, null, true, true, false, false);
+                  MatchTypes(tempSource, tempDest, conversions, null, null, true, true, false, false, warnConst);
 
                // NOTE: To handle bad warnings on int64 vs 32 bit eda::Id incompatibilities
                backupSourceExpType = sourceExp.expType;
@@ -3653,7 +3694,7 @@ bool MatchTypeExpression(Expression sourceExp, Type dest, OldList conversions, b
          {
             if(!dest._class.registered.dataType)
                dest._class.registered.dataType = ProcessTypeString(dest._class.registered.dataTypeString, false);
-            if(MatchTypes(source, dest._class.registered.dataType, conversions, null, null, true, true, false, false))
+            if(MatchTypes(source, dest._class.registered.dataType, conversions, null, null, true, true, false, false, warnConst))
             {
                FreeType(source);
                FreeType(sourceExp.expType);
@@ -3746,7 +3787,7 @@ bool MatchTypeExpression(Expression sourceExp, Type dest, OldList conversions, b
                tempType.classObjectType = source.classObjectType;
 
                if(tempType._class)
-                  MatchTypes(tempSource, tempDest, conversions, null, null, true, true, false, false);
+                  MatchTypes(tempSource, tempDest, conversions, null, null, true, true, false, false, warnConst);
 
                // PUT THIS BACK TESTING UNITS?
                if(conversions.last)
@@ -3792,7 +3833,7 @@ bool MatchTypeExpression(Expression sourceExp, Type dest, OldList conversions, b
 
       if(!flag)
       {
-         if(MatchTypes(source, dest, conversions, null, null, true, true, false, false))
+         if(MatchTypes(source, dest, conversions, null, null, true, true, false, false, warnConst))
          {
             FreeType(source);
             FreeType(dest);
@@ -6287,7 +6328,7 @@ void ComputeExpression(Expression exp)
    }
 }
 
-static bool CheckExpressionType(Expression exp, Type destType, bool skipUnitBla)
+static bool CheckExpressionType(Expression exp, Type destType, bool skipUnitBla, bool warnConst)
 {
    bool result = true;
    if(destType)
@@ -6298,7 +6339,7 @@ static bool CheckExpressionType(Expression exp, Type destType, bool skipUnitBla)
       if(destType.kind == voidType)
          return false;
 
-      if(!MatchTypeExpression(exp, destType, &converts, skipUnitBla))
+      if(!MatchTypeExpression(exp, destType, &converts, skipUnitBla, warnConst))
          result = false;
       if(converts.count)
       {
@@ -6409,7 +6450,7 @@ static bool CheckExpressionType(Expression exp, Type destType, bool skipUnitBla)
 
       if(!result && exp.expType && converts.count)      // TO TEST: Added converts.count here to avoid a double warning with function type
       {
-         result = MatchTypes(exp.expType, exp.destType, null, null, null, true, true, false, false);
+         result = MatchTypes(exp.expType, exp.destType, null, null, null, true, true, false, false, warnConst);
       }
       if(!result && exp.expType && exp.destType)
       {
@@ -6577,7 +6618,7 @@ void CheckTemplateTypes(Expression exp)
 //    - Tree of all symbols within (stored without namespace)
 //    - Tree of sub-namespaces
 
-static Symbol ScanWithNameSpace(BinaryTree tree, char * nameSpace, char * name)
+static Symbol ScanWithNameSpace(BinaryTree tree, const char * nameSpace, const char * name)
 {
    int nsLen = strlen(nameSpace);
    Symbol symbol;
@@ -6607,11 +6648,11 @@ static Symbol ScanWithNameSpace(BinaryTree tree, char * nameSpace, char * name)
    return null;
 }
 
-static Symbol FindWithNameSpace(BinaryTree tree, char * name)
+static Symbol FindWithNameSpace(BinaryTree tree, const char * name)
 {
    int c;
    char nameSpace[1024];
-   char * namePart;
+   const char * namePart;
    bool gotColon = false;
 
    nameSpace[0] = '\0';
@@ -6656,7 +6697,7 @@ static Symbol FindWithNameSpace(BinaryTree tree, char * name)
 
 static void ProcessDeclaration(Declaration decl);
 
-/*static */Symbol FindSymbol(char * name, Context startContext, Context endContext, bool isStruct, bool globalNameSpace)
+/*static */Symbol FindSymbol(const char * name, Context startContext, Context endContext, bool isStruct, bool globalNameSpace)
 {
 #ifdef _DEBUG
    //Time startTime = GetTime();
@@ -7553,6 +7594,73 @@ void ApplyAnyObjectLogic(Expression e)
    }
 }
 
+void ApplyLocation(Expression exp, Location loc)
+{
+   exp.loc = loc;
+   switch(exp.type)
+   {
+      case opExp:
+         if(exp.op.exp1) ApplyLocation(exp.op.exp1, loc);
+         if(exp.op.exp2) ApplyLocation(exp.op.exp2, loc);
+         break;
+      case bracketsExp:
+         if(exp.list)
+         {
+            Expression e;
+            for(e = exp.list->first; e; e = e.next)
+               ApplyLocation(e, loc);
+         }
+         break;
+      case indexExp:
+         if(exp.index.index)
+         {
+            Expression e;
+            for(e = exp.index.index->first; e; e = e.next)
+               ApplyLocation(e, loc);
+         }
+         if(exp.index.exp)
+            ApplyLocation(exp.index.exp, loc);
+         break;
+      case callExp:
+         if(exp.call.arguments)
+         {
+            Expression arg;
+            for(arg = exp.call.arguments->first; arg; arg = arg.next)
+               ApplyLocation(arg, loc);
+         }
+         if(exp.call.exp)
+            ApplyLocation(exp.call.exp, loc);
+         break;
+      case memberExp:
+      case pointerExp:
+         if(exp.member.exp)
+            ApplyLocation(exp.member.exp, loc);
+         break;
+      case castExp:
+         if(exp.cast.exp)
+            ApplyLocation(exp.cast.exp, loc);
+         break;
+      case conditionExp:
+         if(exp.cond.exp)
+         {
+            Expression e;
+            for(e = exp.cond.exp->first; e; e = e.next)
+               ApplyLocation(e, loc);
+         }
+         if(exp.cond.cond)
+            ApplyLocation(exp.cond.cond, loc);
+         if(exp.cond.elseExp)
+            ApplyLocation(exp.cond.elseExp, loc);
+         break;
+      case vaArgExp:
+         if(exp.vaArg.exp)
+            ApplyLocation(exp.vaArg.exp, loc);
+         break;
+      default:
+         break;
+   }
+}
+
 void ProcessExpressionType(Expression exp)
 {
    bool unresolved = false;
@@ -7616,7 +7724,7 @@ void ProcessExpressionType(Expression exp)
             // Enums should be resolved here (Special pass in opExp to fix identifiers not seen as enum on the first pass)
             if(!symbol/* && exp.destType*/)
             {
-               if(exp.destType && CheckExpressionType(exp, exp.destType, false))
+               if(exp.destType && CheckExpressionType(exp, exp.destType, false, false))
                   break;
                else
                {
@@ -7755,7 +7863,7 @@ void ProcessExpressionType(Expression exp)
                         FreeIdentifier(id);
                         exp.type = bracketsExp;
                         exp.list = MkListOne(parsedExpression);
-                        parsedExpression.loc = yylloc;
+                        ApplyLocation(parsedExpression, yylloc);
                         ProcessExpressionType(exp);
                         definedExpStackPos--;
                         return;
@@ -7856,6 +7964,7 @@ void ProcessExpressionType(Expression exp)
          //_class = classSym ? classSym.registered : null;
 
          ProcessInstantiationType(exp.instance);
+
          exp.isConstant = exp.instance.isConstant;
 
          /*
@@ -8166,7 +8275,7 @@ void ProcessExpressionType(Expression exp)
 
             // TESTING THIS HERE...
             if(exp.op.exp1.destType && exp.op.op != '=') exp.op.exp1.destType.count++;
-            ProcessExpressionType(exp.op.exp1);
+               ProcessExpressionType(exp.op.exp1);
             if(exp.op.exp1.destType && exp.op.op != '=') exp.op.exp1.destType.count--;
 
             exp.op.exp1.opDestType = false;
@@ -8388,7 +8497,7 @@ void ProcessExpressionType(Expression exp)
                   if(!exp.op.exp1.expType)
                      ProcessExpressionType(exp.op.exp1);
                   else
-                     CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false);
+                     CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false, false);
                   FreeType(exp.op.exp1.expType);
                   exp.op.exp1.expType = MkClassType("bool");
                   exp.op.exp1.expType.truth = true;
@@ -8401,7 +8510,7 @@ void ProcessExpressionType(Expression exp)
                   if(!exp.op.exp2.expType)
                      ProcessExpressionType(exp.op.exp2);
                   else
-                     CheckExpressionType(exp.op.exp2, exp.op.exp2.destType, false);
+                     CheckExpressionType(exp.op.exp2, exp.op.exp2.destType, false, false);
                   FreeType(exp.op.exp2.expType);
                   exp.op.exp2.expType = MkClassType("bool");
                   exp.op.exp2.expType.truth = true;
@@ -8528,7 +8637,7 @@ void ProcessExpressionType(Expression exp)
                         else if(exp.op.op == '-')
                         {
                            // Pointer Subtraction gives integer
-                           if(MatchTypes(type1.type, type2.type, null, null, null, false, false, false, false))
+                           if(MatchTypes(type1.type, type2.type, null, null, null, false, false, false, false, false))
                            {
                               exp.expType = Type
                               {
@@ -8581,14 +8690,14 @@ void ProcessExpressionType(Expression exp)
                      if(!success && exp.op.exp1.type == constantExp)
                      {
                         // If first expression is constant, try to match that first
-                        if(CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false))
+                        if(CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false, false))
                         {
                            if(exp.expType) FreeType(exp.expType);
                            exp.expType = exp.op.exp1.destType;
                            if(exp.op.exp1.destType) exp.op.exp1.destType.refCount++;
                            success = true;
                         }
-                        else if(CheckExpressionType(exp.op.exp2, exp.op.exp2.destType, false))
+                        else if(CheckExpressionType(exp.op.exp2, exp.op.exp2.destType, false, false))
                         {
                            if(exp.expType) FreeType(exp.expType);
                            exp.expType = exp.op.exp2.destType;
@@ -8598,14 +8707,14 @@ void ProcessExpressionType(Expression exp)
                      }
                      else if(!success)
                      {
-                        if(CheckExpressionType(exp.op.exp2, exp.op.exp2.destType, false))
+                        if(CheckExpressionType(exp.op.exp2, exp.op.exp2.destType, false, false))
                         {
                            if(exp.expType) FreeType(exp.expType);
                            exp.expType = exp.op.exp2.destType;
                            if(exp.op.exp2.destType) exp.op.exp2.destType.refCount++;
                            success = true;
                         }
-                        else if(CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false))
+                        else if(CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false, false))
                         {
                            if(exp.expType) FreeType(exp.expType);
                            exp.expType = exp.op.exp1.destType;
@@ -8645,7 +8754,7 @@ void ProcessExpressionType(Expression exp)
                   exp.op.exp1.destType = type2._class.registered.dataType;
                   if(type2._class.registered.dataType)
                      type2._class.registered.dataType.refCount++;
-                  CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false);
+                  CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false, false);
                   exp.expType = type2;
                   if(type2) type2.refCount++;
                }
@@ -8656,7 +8765,7 @@ void ProcessExpressionType(Expression exp)
                   exp.op.exp2.destType = type1._class.registered.dataType;
                   if(type1._class.registered.dataType)
                      type1._class.registered.dataType.refCount++;
-                  CheckExpressionType(exp.op.exp2, exp.op.exp2.destType, false);
+                  CheckExpressionType(exp.op.exp2, exp.op.exp2.destType, false, false);
                   exp.expType = type1;
                   if(type1) type1.refCount++;
                }
@@ -8673,7 +8782,7 @@ void ProcessExpressionType(Expression exp)
                      exp.op.exp2.destType = type1._class.registered.dataType;
                      exp.op.exp2.destType.refCount++;
 
-                     CheckExpressionType(exp.op.exp2, exp.op.exp2.destType, false);
+                     CheckExpressionType(exp.op.exp2, exp.op.exp2.destType, false, false);
                      if(type2)
                         FreeType(type2);
                      type2 = exp.op.exp2.destType;
@@ -8692,7 +8801,7 @@ void ProcessExpressionType(Expression exp)
                      exp.op.exp1.destType = type2._class.registered.dataType;
                      exp.op.exp1.destType.refCount++;
 
-                     CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false);
+                     CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false, false);
                      type1 = exp.op.exp1.destType;
                      exp.expType = type1;
                      type1.refCount++;
@@ -8708,7 +8817,7 @@ void ProcessExpressionType(Expression exp)
                         // Convert the enum to an int instead for these operators
                         if(op1IsEnum && exp.op.exp2.expType)
                         {
-                           if(CheckExpressionType(exp.op.exp1, exp.op.exp2.expType, false))
+                           if(CheckExpressionType(exp.op.exp1, exp.op.exp2.expType, false, false))
                            {
                               if(exp.expType) FreeType(exp.expType);
                               exp.expType = exp.op.exp2.expType;
@@ -8718,7 +8827,7 @@ void ProcessExpressionType(Expression exp)
                         }
                         else if(op2IsEnum && exp.op.exp1.expType)
                         {
-                           if(CheckExpressionType(exp.op.exp2, exp.op.exp1.expType, false))
+                           if(CheckExpressionType(exp.op.exp2, exp.op.exp1.expType, false, false))
                            {
                               if(exp.expType) FreeType(exp.expType);
                               exp.expType = exp.op.exp1.expType;
@@ -8731,7 +8840,7 @@ void ProcessExpressionType(Expression exp)
                      {
                         if(op1IsEnum && exp.op.exp2.expType)
                         {
-                           if(CheckExpressionType(exp.op.exp1, exp.op.exp2.expType, false))
+                           if(CheckExpressionType(exp.op.exp1, exp.op.exp2.expType, false, false))
                            {
                               if(exp.expType) FreeType(exp.expType);
                               exp.expType = exp.op.exp1.expType;
@@ -8741,7 +8850,7 @@ void ProcessExpressionType(Expression exp)
                         }
                         else if(op2IsEnum && exp.op.exp1.expType)
                         {
-                           if(CheckExpressionType(exp.op.exp2, exp.op.exp1.expType, false))
+                           if(CheckExpressionType(exp.op.exp2, exp.op.exp1.expType, false, false))
                            {
                               if(exp.expType) FreeType(exp.expType);
                               exp.expType = exp.op.exp2.expType;
@@ -8762,7 +8871,7 @@ void ProcessExpressionType(Expression exp)
                         exp.op.exp1.destType = type2;
                         type2.refCount++;
 
-                        if(CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false))
+                        if(CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false, false))
                         {
                            if(exp.expType) FreeType(exp.expType);
                            exp.expType = exp.op.exp1.destType;
@@ -8815,7 +8924,7 @@ void ProcessExpressionType(Expression exp)
                      }
                      */
 
-                        if(CheckExpressionType(exp.op.exp2, exp.op.exp2.destType, false))
+                        if(CheckExpressionType(exp.op.exp2, exp.op.exp2.destType, false, false))
                         {
                            if(exp.expType) FreeType(exp.expType);
                            exp.expType = exp.op.exp2.destType;
@@ -8864,7 +8973,7 @@ void ProcessExpressionType(Expression exp)
                   {
                      Type oldType = exp.op.exp1.expType;
                      exp.op.exp1.expType = null;
-                     if(CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false))
+                     if(CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false, false))
                         FreeType(oldType);
                      else
                         exp.op.exp1.expType = oldType;
@@ -8893,7 +9002,7 @@ void ProcessExpressionType(Expression exp)
                   }
                   */
 
-                  if(CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false))
+                  if(CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false, false))
                   {
                      if(exp.expType) FreeType(exp.expType);
                      exp.expType = exp.op.exp1.destType;
@@ -8910,7 +9019,7 @@ void ProcessExpressionType(Expression exp)
                   exp.op.exp1.destType = type2._class.registered.dataType;
                   if(type2._class.registered.dataType)
                      type2._class.registered.dataType.refCount++;
-                  CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false);
+                  CheckExpressionType(exp.op.exp1, exp.op.exp1.destType, false, false);
                }
                if(exp.op.op == '!')
                {
@@ -8932,7 +9041,7 @@ void ProcessExpressionType(Expression exp)
                   exp.op.exp2.destType = type1._class.registered.dataType;
                   if(type1._class.registered.dataType)
                      type1._class.registered.dataType.refCount++;
-                  CheckExpressionType(exp.op.exp2, exp.op.exp2.destType, false);
+                  CheckExpressionType(exp.op.exp2, exp.op.exp2.destType, false, false);
                }
                exp.expType = type1;
                if(type1) type1.refCount++;
@@ -9060,7 +9169,17 @@ void ProcessExpressionType(Expression exp)
 
                   if(exp.index.index && exp.index.index->last)
                   {
-                     ((Expression)exp.index.index->last).destType = ProcessTypeString(_class.templateArgs[1].dataTypeString, false);
+                     Type type = ProcessTypeString(_class.templateArgs[1].dataTypeString, false);
+
+                     if(type.kind == classType) type.constant = true;
+                     else if(type.kind == pointerType)
+                     {
+                        Type t = type;
+                        while(t.kind == pointerType) t = t.type;
+                        t.constant = true;
+                     }
+
+                     ((Expression)exp.index.index->last).destType = type;
                   }
                }
             }
@@ -9444,6 +9563,7 @@ void ProcessExpressionType(Expression exp)
                   }
                   if(curParam && _class.templateArgs[id].dataTypeString)
                   {
+                     bool constant = type.constant;
                      ClassTemplateArgument arg = _class.templateArgs[id];
                      {
                         Context context = SetupTemplatesContext(_class);
@@ -9453,6 +9573,15 @@ void ProcessExpressionType(Expression exp)
                         templatedType = ProcessTypeString(arg.dataTypeString, false);
                         FinishTemplatesContext(context);
                      }
+
+                     if(templatedType.kind == classType && constant) templatedType.constant = true;
+                     else if(templatedType.kind == pointerType)
+                     {
+                        Type t = templatedType.type;
+                        while(t.kind == pointerType) t = t.type;
+                        if(constant) t.constant = constant;
+                     }
+
                      e.destType = templatedType;
                      if(templatedType)
                      {
@@ -9890,28 +10019,39 @@ void ProcessExpressionType(Expression exp)
                   // Prioritize properties over data members otherwise
                   else
                   {
+                     bool useMemberForNonConst = false;
                      // First look for Public Members (Unless class specifier is provided, which skips public priority)
                      if(!id.classSym)
                      {
                         prop = eClass_FindProperty(_class, id.string, null);
-                        if(!id._class || !id._class.name || strcmp(id._class.name, "property"))
+
+                        useMemberForNonConst = prop && exp.destType &&
+                           ( (exp.destType.kind == classType && !exp.destType.constant) || ((exp.destType.kind == pointerType || exp.destType.kind == arrayType) && exp.destType.type && !exp.destType.type.constant) ) &&
+                              !strncmp(prop.dataTypeString, "const ", 6);
+
+                        if(useMemberForNonConst || !id._class || !id._class.name || strcmp(id._class.name, "property"))
                            member = eClass_FindDataMember(_class, id.string, null, null, null);
                      }
 
-                     if(!prop && !member)
+                     if((!prop || useMemberForNonConst) && !member)
                      {
-                        method = eClass_FindMethod(_class, id.string, null);
+                        method = useMemberForNonConst ? null : eClass_FindMethod(_class, id.string, null);
                         if(!method)
                         {
                            prop = eClass_FindProperty(_class, id.string, privateModule);
-                           if(!id._class || !id._class.name || strcmp(id._class.name, "property"))
+
+                           useMemberForNonConst |= prop && exp.destType &&
+                              ( (exp.destType.kind == classType && !exp.destType.constant) || ((exp.destType.kind == pointerType || exp.destType.kind == arrayType) && exp.destType.type && !exp.destType.type.constant) ) &&
+                                 !strncmp(prop.dataTypeString, "const ", 6);
+
+                           if(useMemberForNonConst || !id._class || !id._class.name || strcmp(id._class.name, "property"))
                               member = eClass_FindDataMember(_class, id.string, privateModule, null, null);
                         }
                      }
 
                      if(member && prop)
                      {
-                        if(member._class != prop._class && !id._class && eClass_IsDerived(member._class, prop._class))
+                        if(useMemberForNonConst || (member._class != prop._class && !id._class && eClass_IsDerived(member._class, prop._class)))
                            prop = null;
                         else
                            member = null;
@@ -10093,10 +10233,19 @@ void ProcessExpressionType(Expression exp)
                      {
                         ClassTemplateArgument arg = tClass.templateArgs[id];
                         Context context = SetupTemplatesContext(tClass);
+                        bool constant = exp.expType.constant;
                         /*if(!arg.dataType)
                            arg.dataType = ProcessTypeString(arg.dataTypeString, false);*/
                         FreeType(exp.expType);
+
                         exp.expType = ProcessTypeString(arg.dataTypeString, false);
+                        if(exp.expType.kind == classType && constant) exp.expType.constant = true;
+                        else if(exp.expType.kind == pointerType)
+                        {
+                           Type t = exp.expType.type;
+                           while(t.kind == pointerType) t = t.type;
+                           if(constant) t.constant = constant;
+                        }
                         if(exp.expType)
                         {
                            if(exp.expType.kind == thisClassType)
@@ -10111,6 +10260,14 @@ void ProcessExpressionType(Expression exp)
                            if(!exp.destType)
                            {
                               exp.destType = ProcessTypeString(arg.dataTypeString, false);
+                              if(exp.destType.kind == classType && constant) exp.destType.constant = true;
+                              else if(exp.destType.kind == pointerType)
+                              {
+                                 Type t = exp.destType.type;
+                                 while(t.kind == pointerType) t = t.type;
+                                 if(constant) t.constant = constant;
+                              }
+
                               //exp.destType.refCount++;
 
                               if(exp.destType.kind == thisClassType)
@@ -10454,7 +10611,9 @@ void ProcessExpressionType(Expression exp)
          FreeType(exp.cast.exp.destType);
          exp.cast.exp.destType = type;
          type.refCount++;
+         type.casted = true;
          ProcessExpressionType(exp.cast.exp);
+         type.casted = false;
          type.count = 0;
          exp.expType = type;
          //type.refCount++;
@@ -10620,7 +10779,7 @@ void ProcessExpressionType(Expression exp)
       case arrayExp:
       {
          Type type = null;
-         char * typeString = null;
+         const char * typeString = null;
          char typeStringBuf[1024];
          if(exp.destType && exp.destType.kind == classType && exp.destType._class && exp.destType._class.registered &&
             exp.destType._class.registered != containerClass && eClass_IsDerived(exp.destType._class.registered, containerClass))
@@ -10641,7 +10800,7 @@ void ProcessExpressionType(Expression exp)
                   else
                   {
                      // if(!MatchType(e.expType, type, null, null, null, false, false, false))
-                     if(!MatchTypeExpression(e, type, null, false))
+                     if(!MatchTypeExpression(e, type, null, false, true))
                      {
                         FreeType(type);
                         type = e.expType;
@@ -10652,7 +10811,7 @@ void ProcessExpressionType(Expression exp)
                         if(e.expType)
                         {
                            //if(!MatchTypes(e.expType, type, null, null, null, false, false, false))
-                           if(!MatchTypeExpression(e, type, null, false))
+                           if(!MatchTypeExpression(e, type, null, false, true))
                            {
                               FreeType(e.expType);
                               e.expType = null;
@@ -10796,7 +10955,7 @@ void ProcessExpressionType(Expression exp)
    if(exp.destType && (exp.destType.kind == voidType || exp.destType.kind == dummyType) );
    else if(exp.destType && !exp.destType.keepCast)
    {
-      if(!CheckExpressionType(exp, exp.destType, false))
+      if(!CheckExpressionType(exp, exp.destType, false, !exp.destType.casted))
       {
          if(!exp.destType.count || unresolved)
          {
@@ -10857,7 +11016,7 @@ void ProcessExpressionType(Expression exp)
                   if(inCompiler) { PrintExpression(exp, expString); ChangeCh(expString, '\n', ' '); }
 
 #ifdef _DEBUG
-                  CheckExpressionType(exp, exp.destType, false);
+                  CheckExpressionType(exp, exp.destType, false, true);
 #endif
                   // Flex & Bison generate code that triggers this, so we ignore it for a quiet sdk build:
                   if(!sourceFile || (strcmp(sourceFile, "src\\lexer.ec") && strcmp(sourceFile, "src/lexer.ec") && strcmp(sourceFile, "src\\grammar.ec") && strcmp(sourceFile, "src/grammar.ec")))
@@ -11212,6 +11371,8 @@ static void ProcessDeclarator(Declarator decl)
                            qualifiers = MkListOne(MkSpecifier(VOID));
                            declarator = MkDeclaratorPointer(MkPointer(null,null), d);
                         };
+                        if(d.type != pointerDeclarator)
+                           newParam.qualifiers->Insert(null, MkSpecifier(CONST));
 
                         FreeList(param.qualifiers, FreeSpecifier);
 
@@ -11228,6 +11389,8 @@ static void ProcessDeclarator(Declarator decl)
                         FreeList(param.qualifiers, FreeSpecifier);
 
                         param.qualifiers = MkListOne(MkSpecifier(VOID));
+                        if(d.type != pointerDeclarator)
+                           param.qualifiers->Insert(null, MkSpecifier(CONST));
                         param.declarator = MkDeclaratorPointer(MkPointer(null,null), d);
                      }
                      else if(spec.specifier == THISCLASS)
@@ -11621,7 +11784,7 @@ static void ProcessStatement(Statement stmt)
             (((Expression)exp->last).type == ExpressionType::arrayExp ||
               (((Expression)exp->last).type == castExp && ((Expression)exp->last).cast.exp.type == ExpressionType::arrayExp));
          Expression arrayExp;
-         char * typeString = null;
+         const char * typeString = null;
          int builtinCount = 0;
 
          for(e = exp ? exp->first : null; e; e = e.next)
@@ -11716,7 +11879,7 @@ static void ProcessStatement(Statement stmt)
                         else
                         {
                            // if(!MatchType(e.expType, type, null, null, null, false, false, false))
-                           if(!MatchTypeExpression(e, type, null, false))
+                           if(!MatchTypeExpression(e, type, null, false, true))
                            {
                               FreeType(type);
                               type = e.expType;
@@ -11727,7 +11890,7 @@ static void ProcessStatement(Statement stmt)
                               if(e.expType)
                               {
                                  //if(!MatchTypes(e.expType, type, null, null, null, false, false, false, false))
-                                 if(!MatchTypeExpression(e, type, null, false))
+                                 if(!MatchTypeExpression(e, type, null, false, true))
                                  {
                                     FreeType(e.expType);
                                     e.expType = null;
@@ -12825,7 +12988,7 @@ static void ProcessClass(OldList definitions, Symbol symbol)
    }
 }
 
-void DeclareFunctionUtil(String s)
+void DeclareFunctionUtil(const String s)
 {
    GlobalFunction function = eSystem_FindFunction(privateModule, s);
    if(function)
index 4f51c29..d32569f 100644 (file)
@@ -689,7 +689,7 @@ static bool ProcessInstMembers(Instantiation inst, Expression instExp, OldList l
    return fullSet || convert;
 }
 
-public void DeclareClass(Symbol classSym, char * className)
+public void DeclareClass(Symbol classSym, const char * className)
 {
    /*if(classSym.registered.templateClass)
    {
index be3456d..9372c7b 100644 (file)
@@ -1096,7 +1096,7 @@ static void ProcessExpression(Expression exp)
 
             //ProcessExpression(object);
 
-            ListAdd(exp.list, MkExpOp(CopyExpression(object), '=', MkExpConstant("0")));
+            ListAdd(exp.list, MkExpOp(CopyExpression(object.type == castExp ? object.cast.exp : object), '=', MkExpConstant("0")));
 
             exp2 = null;
 
@@ -1662,9 +1662,12 @@ static void ProcessExpression(Expression exp)
 
                   if(method.dataType.thisClass && !strcmp(method.dataType.thisClass.string, "class"))
                   {
+                     TypeName param;
                      typedObject = true;
 
-                     funcDecl.function.parameters->Insert(null, MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer(null,null), null)));
+                     param = MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer(null,null), null));
+                     param.qualifiers->Insert(null, MkSpecifier(CONST));
+                     funcDecl.function.parameters->Insert(null, param);
                      // Testing this for any_object::
                      if(!method.dataType.extraParam)
                         funcDecl.function.parameters->Insert(null, MkTypeName(MkListOne(MkStructOrUnion(structSpecifier, MkIdentifier("__ecereNameSpace__ecere__com__Class"), null)), MkDeclaratorPointer(MkPointer(null,null), null)));
index b4a84bc..0cbfd6b 100644 (file)
@@ -179,7 +179,8 @@ static int ReplaceClassSpec(OldList specs, Specifier spec, bool param)
    {
       if(spec.specifier == ANY_OBJECT)
       {
-         spec.specifier = VOID;
+         spec.specifier = CONST;
+         specs.Add(MkSpecifier(VOID));
          return 1;
       }
    }
@@ -213,7 +214,7 @@ static void ReplaceByInstancePtr(Specifier spec, Declarator * declPtr, int type)
    }
 }
 
-static void InstDeclPassSpecifier(Specifier spec)
+static void InstDeclPassSpecifier(Specifier spec, bool byRefTypedObject)
 {
    switch(spec.type)
    {
@@ -221,7 +222,9 @@ static void InstDeclPassSpecifier(Specifier spec)
          if(spec.specifier == TYPED_OBJECT)
          {
             spec.type = extendedSpecifier;
-            spec.extDecl = MkExtDeclString(CopyString("struct __ecereNameSpace__ecere__com__Class * class, void *"));
+            spec.extDecl = MkExtDeclString(CopyString(byRefTypedObject ?
+               "struct __ecereNameSpace__ecere__com__Class * class, void *" :
+               "struct __ecereNameSpace__ecere__com__Class * class, const void *"));
          }
          break;
       case nameSpecifier:
@@ -394,7 +397,7 @@ static void InstDeclPassDeclarator(Declarator decl)
                (classSym.registered.type == enumClass || classSym.registered.type == bitClass || classSym.registered.type == unitClass))))
                ReplaceByInstancePtr(spec, &type.declarator, 2);
          }
-         InstDeclPassSpecifier(spec);
+         InstDeclPassSpecifier(spec, type.declarator && type.declarator.type == pointerDeclarator);
       }
    }
    if(type.declarator)
@@ -579,7 +582,7 @@ static void InstDeclPassDeclaration(Declaration decl)
                         ReplaceByInstancePtr(spec, &d.declarator, type);
                   }
                }
-               InstDeclPassSpecifier(spec);
+               InstDeclPassSpecifier(spec, false);
             }
          }
          if(decl.declarators)
@@ -611,7 +614,7 @@ static void InstDeclPassDeclaration(Declaration decl)
                         ReplaceByInstancePtr(spec, &d, type);
                   }
                }
-               InstDeclPassSpecifier(spec);
+               InstDeclPassSpecifier(spec, false);
             }
          }
 
@@ -804,7 +807,7 @@ public void ProcessInstanceDeclarations()
                int type;
                if((type = ReplaceClassSpec(func.specifiers, spec, false)))
                   ReplaceByInstancePtr(spec, &func.declarator, type);
-               InstDeclPassSpecifier(spec);
+               InstDeclPassSpecifier(spec, false);
             }
          }
          InstDeclPassDeclarator(func.declarator);
index 45ce470..15f5e83 100644 (file)
@@ -51,20 +51,20 @@ Declarator PlugDeclarator(Declarator decl, Declarator baseDecl)
 
 
 // *** Shortcut Functions ***
-Declarator QMkPtrDecl(char * id)
+Declarator QMkPtrDecl(const char * id)
 {
    Declarator declarator = id ? MkDeclaratorIdentifier(MkIdentifier(id)) : null;
    return MkDeclaratorPointer(MkPointer(null,null), declarator);
 }
 
-TypeName QMkType(char * spec, Declarator decl)
+TypeName QMkType(const char * spec, Declarator decl)
 {
    OldList * specs = MkList();
    ListAdd(specs, MkSpecifierName(spec));
    return MkTypeName(specs, decl);
 }
 
-TypeName QMkClass(char * spec, Declarator decl)
+TypeName QMkClass(const char * spec, Declarator decl)
 {
    OldList * specs = MkList();
    ListAdd(specs, MkSpecifierName/*MkClassName*/(spec));
@@ -78,7 +78,7 @@ Expression QBrackets(Expression exp)
    return MkExpBrackets(expList);
 }
 
-Expression QMkExpId(char * id)
+Expression QMkExpId(const char * id)
 {
    return MkExpIdentifier(MkIdentifier(id));
 }
@@ -90,7 +90,7 @@ Expression QMkExpCond(Expression cond, Expression exp, Expression elseExp)
    return MkExpCondition(cond, expList, elseExp);
 }
 
-Declaration QMkDeclaration(char * name, InitDeclarator initDecl)
+Declaration QMkDeclaration(const char * name, InitDeclarator initDecl)
 {
    OldList * specs = MkList(), * initDecls = null;
    ListAdd(specs, MkSpecifierName(name));
@@ -114,7 +114,7 @@ Declaration QMkDeclarationBase(int base, InitDeclarator initDecl)
    return MkDeclaration(specs, initDecls);
 }
 
-char * QMkString(char * source)
+char * QMkString(const char * source)
 {
    char * string;
    if(source)
@@ -161,7 +161,7 @@ public Declarator GetFuncDecl(Declarator decl)
 
 bool parseTypeError;
 
-public Declarator SpecDeclFromString(char * string, OldList * specs, Declarator baseDecl)
+public Declarator SpecDeclFromString(const char * string, OldList * specs, Declarator baseDecl)
 {
    Location oldLocation = yylloc;
    Declarator decl = null;
index da546ee..08e8cbd 100644 (file)
@@ -30,7 +30,7 @@ static bool editing = true;
 
 enum CodeObjectType { typeClass, typeData, typeMethod, typeEvent, typeProperty, typeNameSpace, typeDataType, typeEnumValue, typeDataPrivate, typeMethodPrivate, typePropertyPrivate };
 
-static char * iconNames[CodeObjectType] =
+static const char * iconNames[CodeObjectType] =
 {
    "<:ecere>constructs/class.png",
    "<:ecere>constructs/data.png",
@@ -57,7 +57,7 @@ IDESettingsContainer settingsContainer
 void GetTemplateString(Class c, char * templateString)
 {
    Module m = c.module.application;
-   char * n = c.name;
+   const char * n = c.name;
    char * lt = strchr(n, '<');
    char * s;
    char ch;
@@ -110,6 +110,8 @@ static void _PrintType(Type type, char * string, bool printName, bool printFunct
 {
    if(type)
    {
+      if(type.constant && (type.kind != pointerType && type.kind != arrayType))
+         strcat(string, "const ");
       switch(type.kind)
       {
          case classType:
@@ -122,7 +124,7 @@ static void _PrintType(Type type, char * string, bool printName, bool printFunct
                   if(type._class.registered)
                   {
                      char hex[20];
-                     char * s = type._class.registered.name;
+                     const char * s = type._class.registered.name;
                      sprintf(hex, "%p", type._class.registered.templateClass ? type._class.registered.templateClass : type._class.registered);
                      strcat(string, "<a href=\"api://");
                      strcat(string, hex);
@@ -444,12 +446,12 @@ void AddComponents(Module module, bool isDll)
 class APIPage
 {
 public:
-   char * name;
+   const char * name;
    APIPage page;
-   char * label;
+   const char * label;
    bool showPrivate;
 
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       return name;
    }
@@ -548,7 +550,7 @@ static void FigureFileName(char * fileName, Module module, DocumentationType typ
    }
    else if(function)
    {
-      char * name = RSearchString(function.name, "::", strlen(function.name), true, false);
+      const char * name = RSearchString(function.name, "::", strlen(function.name), true, false);
       if(name) name += 2; else name = function.name;
       strcat(fileName, "functions/");
       strcat(fileName, name);
@@ -573,7 +575,7 @@ static void FigureFileName(char * fileName, Module module, DocumentationType typ
          break;
       case conversion:
       {
-         char * name = RSearchString(((Property)data).name, "::", strlen(((Property)data).name), true, false);
+         const char * name = RSearchString(((Property)data).name, "::", strlen(((Property)data).name), true, false);
          if(name) name += 2; else name = ((Property)data).name;
          strcat(fileName, "conversions/");
          strcat(fileName, name);
@@ -795,7 +797,7 @@ class APIPageNameSpace : APIPage
          {
             GlobalFunction function = link.data;
             char * desc = ReadDoc(module, functionDoc, function, description, null);
-            char * name = RSearchString(function.name, "::", strlen(function.name), true, false);
+            const char * name = RSearchString(function.name, "::", strlen(function.name), true, false);
             if(name) name += 2; else name = function.name;
             if(first)
             {
@@ -907,7 +909,7 @@ class APIPageClass : APIPage
          f.Printf($"Namespace: <a href=\"api://%p\" style=\"text-decoration: none;\">%s</a><br>\n", cl.nameSpace, nsName);
 
       {
-         char * classType = null;
+         const char * classType = null;
          switch(cl.type)
          {
             case bitClass:
@@ -1052,7 +1054,7 @@ class APIPageClass : APIPage
             {
                char * desc = ReadDoc(module, classDoc, cl, conversion, prop);
                DataRow mRow;
-               char * name;
+               const char * name;
                Type type = ProcessTypeString(prop.name, false);
                name = RSearchString(prop.name, "::", strlen(prop.name), true, false);
                if(name) name += 2; else name = prop.name;
@@ -1793,7 +1795,7 @@ class APIPageFunction : APIPage
    }
 }
 
-static void AddNameSpace(DataRow parentRow, Module module, NameSpace mainNameSpace, NameSpace comNameSpace, char * parentName, bool showPrivate)
+static void AddNameSpace(DataRow parentRow, Module module, NameSpace mainNameSpace, NameSpace comNameSpace, const char * parentName, bool showPrivate)
 {
    char nsName[1024];
    NameSpace * ns;
@@ -1880,7 +1882,7 @@ static void AddNameSpace(DataRow parentRow, Module module, NameSpace mainNameSpa
                fn = link.data;
                if(!module || fn.module == module || (!fn.module.name && !strcmp(module.name, "ecere")))
                {
-                  char * name = ( name = RSearchString(fn.name, "::", strlen(fn.name), false, false), name ? name + 2 : fn.name);
+                  const char * name = ( name = RSearchString(fn.name, "::", strlen(fn.name), false, false), name ? name + 2 : fn.name);
                   DataRow fnRow;
                   if(!functionsRow) { functionsRow = row.AddRow(); functionsRow.SetData(null, APIPage { $"Functions", page = page }); functionsRow.collapsed = true; functionsRow.icon = mainForm.icons[typeMethod];  functionsRow.tag = 2; };
                   fnRow = functionsRow.AddRow(); fnRow.SetData(null, APIPageFunction { name, function = fn }); fnRow.icon = mainForm.icons[typeMethod]; fnRow.tag = (int64)fn;
@@ -2071,7 +2073,7 @@ static void AddClass(DataRow parentRow, Module module, Class cl, char * nsName,
       for(prop = cl.conversions.first; prop; prop = prop.next)
       {
          DataRow mRow;
-         char * name;
+         const char * name;
          if(!conversionsRow) { conversionsRow = row.AddRow(); conversionsRow.SetData(null, APIPage { $"Conversions", page = page }); conversionsRow.collapsed = true; conversionsRow.icon = mainForm.icons[typeDataType]; conversionsRow.tag = 7; }
          name = RSearchString(prop.name, "::", strlen(prop.name), true, false);
          if(name) name += 2; else name = prop.name;
@@ -2242,7 +2244,7 @@ class MainForm : Window
    MenuDivider { fileMenu };
    MenuItem fileExit { fileMenu, $"Exit", x, altF4, NotifySelect = MenuFileExit };
 
-   void OpenModule(char * filePath)
+   void OpenModule(const char * filePath)
    {
       char moduleName[MAX_LOCATION];
       char extension[MAX_EXTENSION];
index 638ab6e..82efd9f 100644 (file)
@@ -47,10 +47,11 @@ static void ShowSyntax()
 #define ARCHIVE_ACTION_CLEAR     9
 #define ARCHIVE_ACTION_SELFEXT   10
 
-static void ViewArchive(char * path)
+static void ViewArchive(const char * path)
 {
    FileListing listing { path };
-   char string[MAX_LOCATION], * directory;
+   char string[MAX_LOCATION];
+   const char * directory;
 
    SplitArchivePath(path, string, &directory);
 
@@ -92,7 +93,7 @@ static void ViewArchive(char * path)
 }
 #define BUFFERSIZE 0x10000
 
-static void ExtractFileFromArchive(char * path, char * outputFile)
+static void ExtractFileFromArchive(const char * path, const char * outputFile)
 {
    char fileName[MAX_LOCATION];
    FileAttribs exists = FileExists(path);
@@ -175,7 +176,7 @@ static void ExtractFileFromArchive(char * path, char * outputFile)
       FileSetTime(outputFile, stats.created, 0, stats.modified);
 }
 
-static bool AddToArchive(Archive archive, ArchiveDir parentDir, char * name, char * path, ArchiveAddMode addMode, int compression)
+static bool AddToArchive(Archive archive, ArchiveDir parentDir, const char * name, const char * path, ArchiveAddMode addMode, int compression)
 {
    bool result = true;
    FileAttribs exists = FileExists(path);
@@ -236,14 +237,15 @@ static bool AddToArchive(Archive archive, ArchiveDir parentDir, char * name, cha
    return result;
 }
 
-static void MoveFileInArchive(Archive* archive, char * sourcePath, char * outputDirectory)
+static void MoveFileInArchive(Archive* archive, const char * sourcePath, const char * outputDirectory)
 {
    // Verify if source file/directory exists and figure its kind
    FileAttribs exists = FileExists(sourcePath);
    if(exists)
    {
       char sourceFileName[MAX_FILENAME], sourceDirectory[MAX_LOCATION];
-      char archiveName[MAX_LOCATION], * source;
+      char archiveName[MAX_LOCATION];
+      const char * source;
       char existingFilePath[MAX_LOCATION], * existingFile;
       bool rootMoving = false;
       FileAttribs outputExists;
@@ -308,7 +310,8 @@ static void MoveFileInArchive(Archive* archive, char * sourcePath, char * output
                      dir = archive->OpenDirectory(outputDirectory, null, 0);
                      if(dir)
                      {
-                        char archiveName[MAX_LOCATION], * archiveFile;
+                        char archiveName[MAX_LOCATION];
+                        const char * archiveFile;
                         delete dir;
                         delete *archive;
                         SplitArchivePath(sourcePath, archiveName, &archiveFile);
@@ -566,7 +569,8 @@ class EARApp : Application
                {
                   for(c = firstFileArg; c<numFiles + firstFileArg; c++)
                   {
-                     char *name, archive[MAX_LOCATION], fileName[MAX_LOCATION];
+                     char archive[MAX_LOCATION], fileName[MAX_LOCATION];
+                     const char * name;
                      FileAttribs exists;
 
                      strcpy(fileName, archivePath);
index 50425b0..51af54d 100644 (file)
@@ -8,7 +8,7 @@ static char archivePath[MAX_LOCATION], archive[MAX_LOCATION];
 
 #define BUFFERSIZE 0x10000
 
-void ExtractFileFromArchive(ProgressBar progressBar, char * path, char * outputFile)
+void ExtractFileFromArchive(ProgressBar progressBar, const char * path, const char * outputFile)
 {
    char fileName[MAX_LOCATION];
    FileAttribs exists = FileExists(path);
@@ -210,7 +210,7 @@ class SelfExtract : Window
       return true;
    }
 
-   void ViewArchive(char * path)
+   void ViewArchive(const char * path)
    {
       FileListing listing { path };
       char string[MAX_LOCATION], * directory;
index 58eb48c..c1e3f34 100644 (file)
@@ -7,7 +7,7 @@ import "instance"
 public enum TreePrintStyle { inOrder, postOrder, preOrder, depthOrder };
 
 // WARNING: This function has no boundary check!
-public void strcatf(char * string, char * format, ...)
+public void strcatf(char * string, const char * format, ...)
 {
    va_list args;
    va_start(args, format);
@@ -216,13 +216,13 @@ private:
       return this;
    }
 
-   public BTNode FindString(char * key)
+   public BTNode FindString(const char * key)
    {
       while(this)
       {
          int result;
          if(key && this.key)
-            result = strcmp(key, (char *)this.key);
+            result = strcmp(key, (const char *)this.key);
          else if(key && !this.key)
             result = 1;
          else if(!key && this.key)
@@ -240,7 +240,7 @@ private:
       return this;
    }
 
-   public BTNode FindPrefix(char * key)
+   public BTNode FindPrefix(const char * key)
    {
       BTNode subString = null;
       int len = key ? strlen(key) : 0;
@@ -248,7 +248,7 @@ private:
       {
          int result;
          if(key && this.key)
-            result = strcmp(key, (char *)this.key);
+            result = strcmp(key, (const char *)this.key);
          else if(key && !this.key)
             result = 1;
          else if(!key && this.key)
@@ -258,7 +258,7 @@ private:
 
          if(result < 0)
          {
-            if(!strncmp(key, (char *)this.key, len))
+            if(!strncmp(key, (const char *)this.key, len))
                subString = this;
             this = left;
          }
index cca3353..543fb63 100644 (file)
@@ -28,7 +28,7 @@ public struct BinaryTree
       return (a > b) ? 1 : ((a < b) ? - 1 : 0);
    }
 
-   int CompareString(char * a, char * b)
+   int CompareString(const char * a, const char * b)
    {
       return (a && b) ? strcmp(a, b) : -1;
    }
@@ -70,12 +70,12 @@ public struct BinaryTree
       return root ? root.Find(this, key) : null;
    }
 
-   BTNode FindString(char * key)
+   BTNode FindString(const char * key)
    {
       return root ? root.FindString(key) : null;
    }
 
-   BTNode FindPrefix(char * key)
+   BTNode FindPrefix(const char * key)
    {
       return root ? root.FindPrefix(key) : null;
    }
index fb17aac..cef4861 100644 (file)
@@ -392,7 +392,7 @@ public:
       }
    }
 
-   void * FindName(char * name, bool warn)
+   void * FindName(const char * name, bool warn)
    {
       void * result = null;
       if(name)
@@ -415,7 +415,7 @@ public:
       return result;
    }
 
-   bool PlaceName(char * name, void ** place)
+   bool PlaceName(const char * name, void ** place)
    {
       bool result = true;
       void * item;
@@ -468,7 +468,7 @@ public:
       return item;
    }
 
-   void * FindNamedLink(char * name, bool warn)
+   void * FindNamedLink(const char * name, bool warn)
    {
       if(name)
       {
index d992a96..9200a15 100644 (file)
@@ -43,7 +43,7 @@ public define MAX_DIRECTORY = 534; // 8 levels + 8 separators + \0
 public define MAX_LOCATION = 797; // directory + filename + separator + \0
 
 // --- File related String functions ---
-public char * GetExtension(char * string, char * output)
+public char * GetExtension(const char * string, char * output)
 {
    int c;
    int len = strlen(string);
@@ -63,7 +63,7 @@ public char * GetExtension(char * string, char * output)
    return output;
 }
 
-public char * StripLastDirectory(char * string, char * output)
+public char * StripLastDirectory(const char * string, char * output)
 {
    int c;
    if(runtimePlatform == win32 && !strcmp(string, "\\\\"))
@@ -144,7 +144,7 @@ public char * SplitDirectory(const char * string, char * part, char * rest)
    return rest;
 }
 
-public char * GetLastDirectory(char * string, char * output)
+public char * GetLastDirectory(const char * string, char * output)
 {
    int c;
    int len = string ? strlen(string) : 0;
@@ -164,7 +164,7 @@ public char * GetLastDirectory(char * string, char * output)
    return output;
 }
 
-public bool SplitArchivePath(char * fileName, char * archiveName, char ** archiveFile)
+public bool SplitArchivePath(const char * fileName, char * archiveName, const char * * archiveFile)
 {
    // Support Archives
    if(fileName[0] == '<')
@@ -188,12 +188,13 @@ public bool SplitArchivePath(char * fileName, char * archiveName, char ** archiv
    return false;
 }
 
-public char * PathCatSlash(char * string, char * addedPath)
+public char * PathCatSlash(char * string, const char * addedPath)
 {
    bool modified = false;
    if(addedPath)
    {
-      char fileName[MAX_LOCATION] = "", archiveName[MAX_LOCATION] = "", * file = null;
+      char fileName[MAX_LOCATION] = "", archiveName[MAX_LOCATION] = "";
+      const char * file = null;
       int c = 0;
       bool isURL = false;
       bool isArchive = SplitArchivePath(string, archiveName, &file);
@@ -407,12 +408,13 @@ public char * PathCatSlash(char * string, char * addedPath)
    return modified ? string : null;
 }
 
-public char * PathCat(char * string, char * addedPath)
+public char * PathCat(char * string, const char * addedPath)
 {
    bool modified = false;
    if(addedPath)
    {
-      char fileName[MAX_LOCATION] = "", archiveName[MAX_LOCATION] = "", * file = null;
+      char fileName[MAX_LOCATION] = "", archiveName[MAX_LOCATION] = "";
+      const char * file = null;
       int c = 0;
       bool isURL = false;
       bool isArchive = SplitArchivePath(string, archiveName, &file);
@@ -631,7 +633,7 @@ public char * PathCat(char * string, char * addedPath)
    return modified ? string : null;
 }
 
-public char * MakePathRelative(char * path, char * to, char * destination)
+public char * MakePathRelative(const char * path, const char * to, char * destination)
 {
    int len;
    // Don't process empty paths
@@ -690,7 +692,7 @@ public bool StripExtension(char * string)
    return false;
 }
 
-public char * ChangeExtension(char * string, char * ext, char * output)
+public char * ChangeExtension(const char * string, const char * ext, char * output)
 {
    if(string != output)
       strcpy(output, string);
@@ -759,12 +761,12 @@ public void PrintBigSize(char * string, double size, int prec)
       sprintf(string, "%.0f B", size);
 }
 
-public char * SearchString(char * buffer, int start, char * subStr, bool matchCase, bool matchWord)
+public char * SearchString(const char * buffer, int start, const char * subStr, bool matchCase, bool matchWord)
 {
    if(buffer && subStr)
    {
-      char * ptr;
-      char * strBuffer = buffer + start;
+      const char * ptr;
+      const char * strBuffer = buffer + start;
       int subLen = strlen(subStr);
       char beforeChar = start ? *(strBuffer-1) : 0;
       int (*strcompare)(const char *, const char *, unsigned int) = matchCase ? strncmp : strnicmp;
@@ -782,12 +784,12 @@ public char * SearchString(char * buffer, int start, char * subStr, bool matchCa
                   */
                   (!IS_ALUNDER(subStr[subLen-1]) || !IS_ALUNDER(ptr[subLen])) &&
                   (!IS_ALUNDER(subStr[0]) || !IS_ALUNDER(beforeChar)))
-                  return ptr;
+                  return (char *)ptr;
             }
             else
             {
                if(!strcompare(ptr,subStr,subLen))
-                  return ptr;
+                  return (char *)ptr;
             }
          }
          beforeChar = ptr[0];
@@ -796,13 +798,13 @@ public char * SearchString(char * buffer, int start, char * subStr, bool matchCa
    return null;
 }
 
-public char * RSearchString(char * buffer, char * subStr, int maxLen, bool matchCase, bool matchWord)
+public char * RSearchString(const char * buffer, const char * subStr, int maxLen, bool matchCase, bool matchWord)
 {
    if(buffer && subStr)
    {
       int subLen = strlen(subStr);
-      char * ptr1 = buffer + maxLen - subLen;
-      char * ptr2 = buffer + maxLen - subLen - 1;
+      const char * ptr1 = buffer + maxLen - subLen;
+      const char * ptr2 = buffer + maxLen - subLen - 1;
       int (*strcompare)(const char *, const char *, unsigned int) = matchCase ? strncmp : strnicmp;
       for(; ptr1 >=buffer; ptr1--, ptr2--)
       {
@@ -815,12 +817,12 @@ public char * RSearchString(char * buffer, char * subStr, int maxLen, bool match
                   (!IS_ALUNDER(subStr[subLen-1]) || !IS_ALUNDER(ptr1[subLen])) &&
                   (!IS_ALUNDER(subStr[0]) || !IS_ALUNDER(*ptr2)))
 
-                 return ptr1;
+                 return (char *)ptr1;
             }
             else
             {
                if(!strcompare(ptr1,subStr,subLen))
-                  return ptr1;
+                  return (char *)ptr1;
             }
          }
       }
@@ -897,7 +899,7 @@ public int Tokenize(char * string, int maxTokens, char* tokens[], BackSlashEscap
    return count;
 }
 
-public int TokenizeWith(char * string, int maxTokens, char* tokens[], char * tokenizers, bool escapeBackSlashes)
+public int TokenizeWith(char * string, int maxTokens, char* tokens[], const char * tokenizers, bool escapeBackSlashes)
 {
    int count = 0;
    bool quoted = false;
@@ -967,7 +969,7 @@ public int TokenizeWith(char * string, int maxTokens, char* tokens[], char * tok
    return count;
 }
 
-public char * TrimLSpaces(char * string, char * output)
+public char * TrimLSpaces(const char * string, char * output)
 {
    int c;
    for(c = 0; string[c] && string[c] == ' '; c++);
@@ -975,7 +977,7 @@ public char * TrimLSpaces(char * string, char * output)
    return output;
 }
 
-public char * TrimRSpaces(char * string, char * output)
+public char * TrimRSpaces(const char * string, char * output)
 {
    int c;
    for(c = strlen(string)-1; c >= 0 && string[c] == ' '; c--);
@@ -1004,7 +1006,7 @@ public void RepeatCh(char * string, int count, char ch)
    string[c] = 0;
 }
 
-public char * CopyString(char * string)
+public char * CopyString(const char * string)
 {
    if(string)
    {
@@ -1078,10 +1080,10 @@ public uint GetHexValue(char ** buffer)
    return (uint)strtoul(string, null, 16);
 }
 
-public char * StripQuotes(char * string, char * output)
+public char * StripQuotes(const char * string, char * output)
 {
    int len;
-   char * src = (string[0] == '\"') ? (string+1) : string;
+   const char * src = (string[0] == '\"') ? (string+1) : string;
    memmove(output, src, strlen(src)+1);
    len = strlen(output);
    if(len && output[len-1] == '\"')
@@ -1089,7 +1091,7 @@ public char * StripQuotes(char * string, char * output)
    return output;
 }
 
-public double FloatFromString(char * string)
+public double FloatFromString(const char * string)
 {
    int c, dig;
    float dec = 0,res = 0;
@@ -1123,7 +1125,7 @@ public double FloatFromString(char * string)
    return neg * res;
 }
 
-public bool IsPathInsideOf(char * path, char * of)
+public bool IsPathInsideOf(const char * path, const char * of)
 {
    if(!path[0] || !of[0])
       return false;  // What to do here? Ever used?
index c1828bc..613c7b4 100644 (file)
@@ -47,14 +47,14 @@ public class AVLTree<class AT> : CustomAVLTree<BT = AVLNode<AT>, KT = AT, T = AT
       delete node;
    }
 
-   AVLNode<AT> Find(AT key)
+   AVLNode<AT> Find(const AT key)
    {
       AVLNode<AT> root = this.root;
       return root ? root.Find(class(AT), key) : null;
    }
 
    // *** FIND ALL COMPARES KEY FOR EQUALITY, NOT USING OnCompare ***
-   AVLNode<AT> FindAll(AT key)
+   AVLNode<AT> FindAll(const AT key)
    {
       AVLNode<AT> root = this.root;
       return root ? root.FindAll(key) : null;
index 6fc7842..2aac35a 100644 (file)
@@ -42,7 +42,7 @@ public:
       *item = value;
       return true;
    }
-   IteratorPointer GetAtPosition(I pos, bool create)
+   IteratorPointer GetAtPosition(const I pos, bool create)
    {
       if((int)pos > count && create)
       {
index 0bf7722..ec26c68 100644 (file)
@@ -50,7 +50,7 @@ public:
    {
       return false;
    }
-   virtual IteratorPointer GetAtPosition(uint64 pos, bool create)
+   virtual IteratorPointer GetAtPosition(const uint64 pos, bool create)
    {
       return data ? (IteratorPointer)((byte *)data +
          ((type.type == noHeadClass || type.type == normalClass) ? sizeof(void *) : type.typeSize)) : null;
@@ -108,7 +108,7 @@ public:
 
    virtual void Delete(IteratorPointer it) { }
 
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       if(this)
       {
@@ -120,9 +120,9 @@ public:
          tempString[0] = '\0';
          for(i = 0; i < count; i++)
          {
-            char * result;
+            const char * result;
             itemString[0] = '\0';
-            result = ((char *(*)(void *, void *, char *, void *, bool *))(void *)Dclass._vTbl[__ecereVMethodID_class_OnGetString])(
+            result = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)Dclass._vTbl[__ecereVMethodID_class_OnGetString])(
                Dclass, (type.type == normalClass || type.type == noHeadClass) ? *(void **)data : data, itemString, null, null);
             if(!first) strcat(tempString, ", ");
             strcat(tempString, result);
index 6b0d7ff..47b39cb 100644 (file)
@@ -62,7 +62,7 @@ public:
       return container.SetData(pointer, value);
    };
 
-   bool Find(T value)
+   bool Find(const T value)
    {
       if(container)
       {
@@ -85,7 +85,7 @@ public:
          container.FreeIterator(pointer);
    }
 
-   bool Index(IT index, bool create)
+   bool Index(const IT index, bool create)
    {
       if(container)
       {
@@ -111,7 +111,7 @@ public:
    virtual IteratorPointer GetNext(IteratorPointer pointer) { return null; }
    virtual D GetData(IteratorPointer pointer) { return (D)0; }
    virtual bool SetData(IteratorPointer pointer, D data);
-   virtual IteratorPointer GetAtPosition(I pos, bool create) { return null; }
+   virtual IteratorPointer GetAtPosition(const I pos, bool create) { return null; }
 
    virtual IteratorPointer Insert(IteratorPointer after, T value);
    virtual IteratorPointer Add(T value);
@@ -163,7 +163,7 @@ public:
       }
    }
 
-   virtual IteratorPointer Find(D value)
+   virtual IteratorPointer Find(const D value)
    {
       IteratorPointer i;
       Class Dclass = class(D);
@@ -172,7 +172,7 @@ public:
          for(i = GetFirst(); i; i = GetNext(i))
          {
             D data = GetData(i);
-            int result = ((int (*)(void *, void *, void *))(void *)Dclass._vTbl[__ecereVMethodID_class_OnCompare])(Dclass, &value,&data);
+            int result = ((int (*)(void *, const void *, const void *))(void *)Dclass._vTbl[__ecereVMethodID_class_OnCompare])(Dclass, &value,&data);
             if(!result)
                return i;
          }
@@ -182,7 +182,7 @@ public:
          for(i = GetFirst(); i; i = GetNext(i))
          {
             D data = GetData(i);
-            int result = ((int (*)(void *, void *, void *))(void *)Dclass._vTbl[__ecereVMethodID_class_OnCompare])(Dclass, (void *)value, (void *)data);
+            int result = ((int (*)(void *, const void *, const void *))(void *)Dclass._vTbl[__ecereVMethodID_class_OnCompare])(Dclass, (const void *) value, (const void *)data);
             if(!result)
                return i;
          }
@@ -214,7 +214,7 @@ public:
       Remove(i);
    }
 
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       if(this)
       {
@@ -226,11 +226,11 @@ public:
          {
             Class Dclass = class(D);
             D data = GetData(i);
-            char * result;
+            const char * result;
 
             itemString[0] = '\0';
 
-            result = ((char *(*)(void *, void *, char *, void *, bool *))(void *)Dclass._vTbl[__ecereVMethodID_class_OnGetString])(Dclass,
+            result = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)Dclass._vTbl[__ecereVMethodID_class_OnGetString])(Dclass,
                ((Dclass.type == systemClass && !Dclass.byValueSystemClass) || Dclass.type == bitClass || Dclass.type == enumClass || Dclass.type == unitClass) ? &data : (void *)data, itemString, null, null);
             if(!first) strcat(tempString, ", ");
 
@@ -243,7 +243,7 @@ public:
       return tempString;
    }
 
-   void TakeOut(D d)
+   void TakeOut(const D d)
    {
       IteratorPointer i = Find(d);
       if(i) Remove(i);
index d1f8254..4fdb978 100644 (file)
@@ -146,7 +146,7 @@ private:
       }
    }
 
-   public thisclass Find(Class Tclass, T key)
+   public thisclass Find(Class Tclass, const T key)
    {
       while(this)
       {
@@ -164,7 +164,7 @@ private:
       return this;
    }
 
-   thisclass FindAll(T key)
+   thisclass FindAll(const T key)
    {
       AVLNode<T> result = null;
       // *** FIND ALL COMPARES KEY FOR EQUALITY, NOT USING OnCompare ***
index 6c060ec..5e22f73 100644 (file)
@@ -32,7 +32,7 @@ public:
    LT GetNext(IteratorPointer item) { return ((LT)item).link.next; }
    LT GetData(IteratorPointer pointer) { return (LT)pointer; }
 
-   IteratorPointer GetAtPosition(I pos, bool create)
+   IteratorPointer GetAtPosition(const I pos, bool create)
    {
       int c;
       LT item;
index 7eda871..d55010e 100644 (file)
@@ -71,7 +71,7 @@ public class List<class LLT> : LinkList<Link, T = LLT, D = LLT>
       }
    }
 
-   Link Find(LLT value)
+   Link Find(const LLT value)
    {
       return (Link)Container::Find(value);
    }
index c36fc54..6dea332 100644 (file)
@@ -17,7 +17,7 @@ class_fixed
 public:
    // public(key)
    // THIS IS MISSING CODE FOR struct KEYS
-   property KT key
+   property const KT key
    {
       get { return AVLNode::key; }
       set { AVLNode::key = value; }
@@ -43,7 +43,7 @@ public struct MapIterator<class KT, class V> : Iterator<V, IT = KT>
       set { container = (Container<V, IT>)value; }
       get { return (Map<KT, V>)container; }
    }
-   property KT key
+   property const KT key
    {
       get { return ((Map<KT, V>)container).GetKey((MapNode<KT, V>)pointer); }
    }
@@ -173,7 +173,7 @@ public class Map<class MT, class V> : CustomAVLTree<MapNode<MT, V>, I = MT, D =
       return (MapNode<MT, V>)Container::Find(value);
    }
 
-   MapNode<MT, V> GetAtPosition(MT pos, bool create)
+   MapNode<MT, V> GetAtPosition(const MT pos, bool create)
    {
       MapNode<MT, V> node = root ? root.Find(class(MT), pos) : null;
       if(!node && create)
index 6d35b5e..d7b41ea 100644 (file)
@@ -102,8 +102,8 @@ public:
 public class IOChannel
 {
 public:
-   virtual uint WriteData(byte * data, uint numBytes);
-   virtual uint ReadData(byte * data, uint numBytes);
+   virtual uint WriteData(const void * data, uint numBytes);
+   virtual uint ReadData(void * data, uint numBytes);
 
    dllexport void Serialize(typed_object data)
    {
@@ -134,7 +134,7 @@ public:
    uint _size;
    uint pos;
 
-   uint WriteData(byte * bytes, uint numBytes)
+   uint WriteData(const void * bytes, uint numBytes)
    {
       if(this != null)
       {
@@ -151,7 +151,7 @@ public:
       return 0;
    }
 
-   uint ReadData(byte * bytes, uint numBytes)
+   uint ReadData(void * bytes, uint numBytes)
    {
       if(this != null)
       {
@@ -193,7 +193,7 @@ public:
    }
 };
 
-/*static */char * Enum_OnGetString(Class _class, int * data, char * tempString, void * fieldData, bool * needClass)
+/*static */const char * Enum_OnGetString(Class _class, int * data, char * tempString, void * fieldData, bool * needClass)
 {
    NamedLink item = null;
    Class b;
@@ -216,7 +216,7 @@ public:
       return null;
 }
 
-static bool Enum_OnGetDataFromString(Class _class, int * data, char * string)
+static bool Enum_OnGetDataFromString(Class _class, int * data, const char * string)
 {
    NamedLink item = null;
    Class b;
@@ -463,7 +463,7 @@ static int OnCompare(Class _class, void * data1, void * data2)
    return 0;
 }
 
-static char * OnGetString(Class _class, void * data, char * tempString, void * fieldData, bool * needClass)
+static const char * OnGetString(Class _class, void * data, char * tempString, void * fieldData, bool * needClass)
 {
    // WHY DOES _class.module NOT SEEM TO WORK?
    Module module = _class.templateClass ? _class.templateClass.module : _class.module;
@@ -504,26 +504,26 @@ static char * OnGetString(Class _class, void * data, char * tempString, void * f
          {
             if(prop.Set && prop.Get)
             {
-               String dts = _class.base.dataTypeString;
+               const String dts = _class.base.dataTypeString;
                if(!strcmp(dts, "double"))
                {
                   double d = ((double(*)(double))(void *)prop.Set)(*(double *)data);
-                  return ((char *(*)(void *, void *, char *, void *, bool *))(void *)class(double)._vTbl[__ecereVMethodID_class_OnGetString])(class(double), &d, tempString, fieldData, needClass);
+                  return ((const char *(*)(void *, void *, char *, void *, bool *))(void *)class(double)._vTbl[__ecereVMethodID_class_OnGetString])(class(double), &d, tempString, fieldData, needClass);
                }
                else if(!strcmp(dts, "float"))
                {
                   float d = ((float(*)(float))(void *)prop.Set)(*(float *)data);
-                  return ((char *(*)(void *, void *, char *, void *, bool *))(void *)class(float)._vTbl[__ecereVMethodID_class_OnGetString])(class(float), &d, tempString, fieldData, needClass);
+                  return ((const char *(*)(void *, void *, char *, void *, bool *))(void *)class(float)._vTbl[__ecereVMethodID_class_OnGetString])(class(float), &d, tempString, fieldData, needClass);
                }
                else if(!strcmp(dts, "int"))
                {
                   int d = ((int(*)(int))(void *)prop.Set)(*(int *)data);
-                  return ((char *(*)(void *, void *, char *, void *, bool *))(void *)class(int)._vTbl[__ecereVMethodID_class_OnGetString])(class(int), &d, tempString, fieldData, needClass);
+                  return ((const char *(*)(void *, void *, char *, void *, bool *))(void *)class(int)._vTbl[__ecereVMethodID_class_OnGetString])(class(int), &d, tempString, fieldData, needClass);
                }
                else if(!strcmp(dts, "int64"))
                {
                   int64 d = ((int64(*)(int64))(void *)prop.Set)(*(int64 *)data);
-                  return ((char *(*)(void *, void *, char *, void *, bool *))(void *)class(int64)._vTbl[__ecereVMethodID_class_OnGetString])(class(int64), &d, tempString, fieldData, needClass);
+                  return ((const char *(*)(void *, void *, char *, void *, bool *))(void *)class(int64)._vTbl[__ecereVMethodID_class_OnGetString])(class(int64), &d, tempString, fieldData, needClass);
                }
             }
             else
@@ -531,7 +531,7 @@ static char * OnGetString(Class _class, void * data, char * tempString, void * f
          }
       }
       dataType = eSystem_FindClass(module, _class.dataTypeString);
-      return ((char *(*)(void *, void *, char *, void *, bool *))(void *)dataType._vTbl[__ecereVMethodID_class_OnGetString])(dataType, data, tempString, fieldData, needClass);
+      return ((const char *(*)(void *, void *, char *, void *, bool *))(void *)dataType._vTbl[__ecereVMethodID_class_OnGetString])(dataType, data, tempString, fieldData, needClass);
    }
    else
    {
@@ -553,7 +553,7 @@ static char * OnGetString(Class _class, void * data, char * tempString, void * f
          {
             char memberString[1024];
             Class memberType = member.dataTypeClass;
-            char * name = member.name;
+            const char * name = member.name;
             if(member.id < 0) continue;
 
             memberString[0] = 0;
@@ -578,7 +578,7 @@ static char * OnGetString(Class _class, void * data, char * tempString, void * f
                         if(value.f)
                         {
                            bool needClass = true;
-                           char * result = ((char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, null, &needClass);
+                           const char * result = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, null, &needClass);
                            if(result && result != memberString)
                               strcpy(memberString, result);
                            // TESTING THIS HERE
@@ -592,7 +592,7 @@ static char * OnGetString(Class _class, void * data, char * tempString, void * f
                         if(value.p || prop.IsSet)
                         {
                            bool needClass = true;
-                           char * result = ((char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType,
+                           const char * result = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType,
                               (memberType.type == normalClass) ? value.p : &value, memberString, null, &needClass);
                            if(result && result != memberString)
                               strcpy(memberString, result);
@@ -604,7 +604,7 @@ static char * OnGetString(Class _class, void * data, char * tempString, void * f
                         if(value.i || prop.IsSet)
                         {
                            bool needClass = true;
-                           char * result = ((char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, null, &needClass);
+                           const char * result = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, null, &needClass);
                            if(result && result != memberString)
                               strcpy(memberString, result);
                         }
@@ -628,11 +628,11 @@ static char * OnGetString(Class _class, void * data, char * tempString, void * f
                      if(c < typeSize)
                      {
                         bool needClass = true;
-                        char * result;
+                        const char * result;
                         if(memberType.type == normalClass)
-                           result = ((char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType, *(Instance *)memberData, internalMemberString, null, &needClass);
+                           result = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType, *(Instance *)memberData, internalMemberString, null, &needClass);
                         else
-                           result = ((char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType, memberData, internalMemberString, null, &needClass);
+                           result = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType, memberData, internalMemberString, null, &needClass);
                         if(needClass && strcmp(memberType.dataTypeString, "char *"))
                         {
                            //strcpy(memberString, memberType.name);
@@ -659,7 +659,7 @@ static char * OnGetString(Class _class, void * data, char * tempString, void * f
                         {
                            bool needClass = true;
                            char internalMemberString[1024];
-                           char * result = ((char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, internalMemberString, null, &needClass);
+                           const char * result = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, internalMemberString, null, &needClass);
 
                            if(needClass && memberType.type != systemClass && memberType.type != enumClass && memberType.type != unitClass)
                            {
@@ -685,7 +685,7 @@ static char * OnGetString(Class _class, void * data, char * tempString, void * f
                            if(value.i)
                            {
                               bool needClass = true;
-                              char * result = ((char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, null, &needClass);
+                              const char * result = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType, &value, memberString, null, &needClass);
                               if(result && memberString != result)
                                  strcpy(memberString, result);
                            }
@@ -693,7 +693,7 @@ static char * OnGetString(Class _class, void * data, char * tempString, void * f
                         else
                         {
                            bool needClass = true;
-                           char * result = ((char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType, ((byte *)data + (((member._class.type == normalClass) ? member._class.offset : 0) + member.offset)), memberString, null, &needClass);
+                           const char * result = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType, ((byte *)data + (((member._class.type == normalClass) ? member._class.offset : 0) + member.offset)), memberString, null, &needClass);
                            if(result && memberString != result)
                               strcpy(memberString, result);
                         }
@@ -704,8 +704,8 @@ static char * OnGetString(Class _class, void * data, char * tempString, void * f
                      char internalMemberString[1024];
                      byte * memberData = ((byte *)data + (((member._class.type == normalClass) ? member._class.offset : 0) + member.offset));
                      bool needClass = true;
-                     char * result;
-                     result = ((char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType, memberData, internalMemberString, null, &needClass);
+                     const char * result;
+                     result = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)memberType._vTbl[__ecereVMethodID_class_OnGetString])(memberType, memberData, internalMemberString, null, &needClass);
                      if(needClass)
                      {
                         //strcpy(memberString, memberType.name);
@@ -771,7 +771,7 @@ static char * OnGetString(Class _class, void * data, char * tempString, void * f
    return tempString;
 }
 
-static bool OnGetDataFromString(Class _class, void ** data, char * string)
+static bool OnGetDataFromString(Class _class, void ** data, const char * string)
 {
    bool result;
    Module module = _class.module;
@@ -803,7 +803,7 @@ static bool OnGetDataFromString(Class _class, void ** data, char * string)
          {
             if(prop.Set && prop.Get)
             {
-               String dts = _class.base.dataTypeString;
+               const String dts = _class.base.dataTypeString;
                if(!strcmp(dts, "double"))
                {
                   double d;
@@ -1326,13 +1326,13 @@ static int Integer_OnCompare(Class _class, int * data1, int * data2)
    return result;
 }
 
-/*static */char * Integer_OnGetString(Class _class, int * data, char * string, void * fieldData, bool * needClass)
+/*static */const char * Integer_OnGetString(Class _class, int * data, char * string, void * fieldData, bool * needClass)
 {
    sprintf(string, "%d", *data);
    return string;
 }
 
-static bool Integer_OnGetDataFromString(Class _class, int * data, char * string)
+static bool Integer_OnGetDataFromString(Class _class, int * data, const char * string)
 {
    char * end;
    int result = strtol(string, &end, 0);
@@ -1345,13 +1345,13 @@ static bool Integer_OnGetDataFromString(Class _class, int * data, char * string)
    return false;
 }
 
-static char * Int16_OnGetString(Class _class, short * data, char * string, void * fieldData, bool * needClass)
+static const char * Int16_OnGetString(Class _class, short * data, char * string, void * fieldData, bool * needClass)
 {
    sprintf(string, "%d", (int)*data);
    return string;
 }
 
-static bool Int16_OnGetDataFromString(Class _class, short * data, char * string)
+static bool Int16_OnGetDataFromString(Class _class, short * data, const char * string)
 {
    char * end;
    short result = (short)strtol(string, &end, 0);
@@ -1386,7 +1386,7 @@ static int UInteger_OnCompare(Class _class, unsigned int * data1, unsigned int *
    return result;
 }
 
-static char * UInteger_OnGetString(Class _class, unsigned int * data, char * string, void * fieldData, bool * needClass)
+static const char * UInteger_OnGetString(Class _class, unsigned int * data, char * string, void * fieldData, bool * needClass)
 {
    sprintf(string, "%u", *data);
    return string;
@@ -1403,20 +1403,20 @@ static int UInt16_OnCompare(Class _class, uint16 * data1, unsigned int * data2)
    return result;
 }
 
-static char * UInt16_OnGetString(Class _class, uint16 * data, char * string, void * fieldData, bool * needClass)
+static const char * UInt16_OnGetString(Class _class, uint16 * data, char * string, void * fieldData, bool * needClass)
 {
    sprintf(string, "%u", (uint)*data);
    return string;
 }
 
 
-static char * UIntegerHex_OnGetString(Class _class, unsigned int * data, char * string, void * fieldData, bool * needClass)
+static const char * UIntegerHex_OnGetString(Class _class, unsigned int * data, char * string, void * fieldData, bool * needClass)
 {
    sprintf(string, "%x", *data);
    return string;
 }
 
-static bool UInteger_OnGetDataFromString(Class _class, unsigned int * data, char * string)
+static bool UInteger_OnGetDataFromString(Class _class, unsigned int * data, const char * string)
 {
    char * end;
    uint result = (uint)strtoul(string, &end, 0);
@@ -1428,7 +1428,7 @@ static bool UInteger_OnGetDataFromString(Class _class, unsigned int * data, char
    return false;
 }
 
-static bool UInt16_OnGetDataFromString(Class _class, uint16 * data, char * string)
+static bool UInt16_OnGetDataFromString(Class _class, uint16 * data, const char * string)
 {
    char * end;
    uint16 result = (uint16)strtoul(string, &end, 0);
@@ -1451,13 +1451,13 @@ static int Byte_OnCompare(Class _class, byte * data1, byte * data2)
    return result;
 }
 
-static char * Byte_OnGetString(Class _class, byte * data, char * string, void * fieldData, bool * needClass)
+static const char * Byte_OnGetString(Class _class, byte * data, char * string, void * fieldData, bool * needClass)
 {
    sprintf(string, "%u", (int)*data);
    return string;
 }
 
-static char * Char_OnGetString(Class _class, char * data, char * string, void * fieldData, bool * needClass)
+static const char * Char_OnGetString(Class _class, char * data, char * string, void * fieldData, bool * needClass)
 {
    if(needClass && *needClass)
    {
@@ -1475,7 +1475,7 @@ static char * Char_OnGetString(Class _class, char * data, char * string, void *
    return string;
 }
 
-static bool Byte_OnGetDataFromString(Class _class, byte * data, char * string)
+static bool Byte_OnGetDataFromString(Class _class, byte * data, const char * string)
 {
    char * end;
    byte result = (byte)strtoul(string, &end, 0);
@@ -1541,47 +1541,47 @@ static int UIntPtr32_OnCompare(Class _class, uint32 data1, uint32 data2)
    return result;
 }
 
-static char * Int64_OnGetString(Class _class, int64 * data, char * string, void * fieldData, bool * needClass)
+static const char * Int64_OnGetString(Class _class, int64 * data, char * string, void * fieldData, bool * needClass)
 {
    sprintf(string, FORMAT64D, *data);
    return string;
 }
 
-static char * UInt64_OnGetString(Class _class, uint64 * data, char * string, void * fieldData, bool * needClass)
+static const char * UInt64_OnGetString(Class _class, uint64 * data, char * string, void * fieldData, bool * needClass)
 {
    sprintf(string, FORMAT64U, *data);
    return string;
 }
 
-static char * UInt64Hex_OnGetString(Class _class, uint64 * data, char * string, void * fieldData, bool * needClass)
+static const char * UInt64Hex_OnGetString(Class _class, uint64 * data, char * string, void * fieldData, bool * needClass)
 {
    sprintf(string, FORMAT64HEX, *data);
    return string;
 }
 
-static char * UIntPtr64_OnGetString(Class _class, uint64 data, char * string, void * fieldData, bool * needClass)
+static const char * UIntPtr64_OnGetString(Class _class, uint64 data, char * string, void * fieldData, bool * needClass)
 {
    return UInt64Hex_OnGetString(_class, &data, string, fieldData, needClass);
 }
 
-static char * UIntPtr32_OnGetString(Class _class, uint data, char * string, void * fieldData, bool * needClass)
+static const char * UIntPtr32_OnGetString(Class _class, uint data, char * string, void * fieldData, bool * needClass)
 {
    return UIntegerHex_OnGetString(_class, &data, string, fieldData, needClass);
 }
 
-static char * IntPtr64_OnGetString(Class _class, uint64 data, char * string, void * fieldData, bool * needClass)
+static const char * IntPtr64_OnGetString(Class _class, int64 data, char * string, void * fieldData, bool * needClass)
 {
    return Int64_OnGetString(_class, &data, string, fieldData, needClass);
 }
 
-static char * IntPtr32_OnGetString(Class _class, uint data, char * string, void * fieldData, bool * needClass)
+static const char * IntPtr32_OnGetString(Class _class, int data, char * string, void * fieldData, bool * needClass)
 {
    return Integer_OnGetString(_class, &data, string, fieldData, needClass);
 }
 
-static bool Int64_OnGetDataFromString(Class _class, uint64 * data, char * string)
+static bool Int64_OnGetDataFromString(Class _class, int64 * data, const char * string)
 {
-   char * end;
+   const char * end;
    uint64 result = _strtoi64(string, &end, 0);
    if(end > string)
    {
@@ -1591,9 +1591,9 @@ static bool Int64_OnGetDataFromString(Class _class, uint64 * data, char * string
    return false;
 }
 
-static bool UInt64_OnGetDataFromString(Class _class, uint64 * data, char * string)
+static bool UInt64_OnGetDataFromString(Class _class, uint64 * data, const char * string)
 {
-   char * end;
+   const char * end;
    uint64 result = _strtoui64(string, &end, 0);
    if(end > string)
    {
@@ -1698,7 +1698,7 @@ static void RegisterClass_Integer(Module module)
 {
    Class integerClass = eSystem_RegisterClass(normalClass, "int", null, 0, 0, null, null, module, baseSystemAccess, publicAccess);
    integerClass.type = systemClass;
-   delete integerClass.dataTypeString;
+   delete (void *)integerClass.dataTypeString;
    integerClass.dataTypeString = CopyString("int");
    integerClass.structSize = 0;
    integerClass.typeSize = sizeof(int);
@@ -1713,7 +1713,7 @@ static void RegisterClass_Integer(Module module)
    integerClass.type = systemClass;
    integerClass.structSize = 0;
    integerClass.typeSize = sizeof(int64);
-   delete integerClass.dataTypeString;
+   delete (void *)integerClass.dataTypeString;
    integerClass.dataTypeString = CopyString("int64");
    eClass_AddMethod(integerClass, "OnGetString", null, Int64_OnGetString, publicAccess);
    eClass_AddMethod(integerClass, "OnCompare", null, Int64_OnCompare, publicAccess);
@@ -1723,7 +1723,7 @@ static void RegisterClass_Integer(Module module)
 
    integerClass = eSystem_RegisterClass(normalClass, "uint", null, 0, 0, null, null, module, baseSystemAccess, publicAccess);
    integerClass.type = systemClass;
-   delete integerClass.dataTypeString;
+   delete (void *)integerClass.dataTypeString;
    integerClass.dataTypeString = CopyString("unsigned int");
    integerClass.structSize = 0;
    integerClass.typeSize = sizeof(uint);
@@ -1735,7 +1735,7 @@ static void RegisterClass_Integer(Module module)
 
    integerClass = eSystem_RegisterClass(normalClass, "unsigned int", null, 0, 0, null, null, module, baseSystemAccess, publicAccess);
    integerClass.type = systemClass;
-   delete integerClass.dataTypeString;
+   delete (void *)integerClass.dataTypeString;
    integerClass.dataTypeString = CopyString("unsigned int");
    integerClass.structSize = 0;
    integerClass.typeSize = sizeof(uint);
@@ -1748,7 +1748,7 @@ static void RegisterClass_Integer(Module module)
 
    integerClass = eSystem_RegisterClass(normalClass, "uint16", null, 0, 0, null, null, module, baseSystemAccess, publicAccess);
    integerClass.type = systemClass;
-   delete integerClass.dataTypeString;
+   delete (void *)integerClass.dataTypeString;
    integerClass.dataTypeString = CopyString("unsigned short");
    integerClass.structSize = 0;
    integerClass.typeSize = sizeof(uint16);
@@ -1761,7 +1761,7 @@ static void RegisterClass_Integer(Module module)
 
    integerClass = eSystem_RegisterClass(normalClass, "short", null, 0, 0, null, null, module, baseSystemAccess, publicAccess);
    integerClass.type = systemClass;
-   delete integerClass.dataTypeString;
+   delete (void *)integerClass.dataTypeString;
    integerClass.dataTypeString = CopyString("short");
    integerClass.structSize = 0;
    integerClass.typeSize = sizeof(short);
@@ -1775,7 +1775,7 @@ static void RegisterClass_Integer(Module module)
    /*
    integerClass = eSystem_RegisterClass(normalClass, "uint32", null, 0, 0, null, null, module, baseSystemAccess);
    integerClass.type = systemClass;
-   delete integerClass.dataTypeString;
+   delete (void *)integerClass.dataTypeString;
    integerClass.dataTypeString = CopyString("uint32");
    eClass_AddMethod(integerClass, "OnCompare", null, UInteger_OnCompare, publicAccess);
    eClass_AddMethod(integerClass, "OnGetString", null, UInteger_OnGetString, publicAccess);
@@ -1783,14 +1783,14 @@ static void RegisterClass_Integer(Module module)
    */
    integerClass = eSystem_RegisterClass(normalClass, "uint32", "uint", 0, 0, null, null, module, baseSystemAccess, publicAccess);
    integerClass.type = systemClass;
-   delete integerClass.dataTypeString;
+   delete (void *)integerClass.dataTypeString;
    integerClass.dataTypeString = CopyString("unsigned int");
    integerClass.structSize = 0;
    integerClass.typeSize = sizeof(uint32);
 
    integerClass = eSystem_RegisterClass(normalClass, "uint64", null, 0, 0, null, null, module, baseSystemAccess, publicAccess);
    integerClass.type = systemClass;
-   delete integerClass.dataTypeString;
+   delete (void *)integerClass.dataTypeString;
    integerClass.dataTypeString = CopyString("uint64");
    integerClass.structSize = 0;
    integerClass.typeSize = sizeof(uint64);
@@ -1802,7 +1802,7 @@ static void RegisterClass_Integer(Module module)
 
    integerClass = eSystem_RegisterClass(normalClass, "byte", null, 0, 0, null, null, module, baseSystemAccess, publicAccess);
    integerClass.type = systemClass;
-   delete integerClass.dataTypeString;
+   delete (void *)integerClass.dataTypeString;
    integerClass.dataTypeString = CopyString("unsigned char");
    integerClass.structSize = 0;
    integerClass.typeSize = sizeof(byte);
@@ -1814,7 +1814,7 @@ static void RegisterClass_Integer(Module module)
 
    integerClass = eSystem_RegisterClass(normalClass, "char", null, 0, 0, null, null, module, baseSystemAccess, publicAccess);
    integerClass.type = systemClass;
-   delete integerClass.dataTypeString;
+   delete (void *)integerClass.dataTypeString;
    integerClass.dataTypeString = CopyString("char");
    integerClass.structSize = 0;
    integerClass.typeSize = sizeof(char);
@@ -1826,7 +1826,7 @@ static void RegisterClass_Integer(Module module)
 
    integerClass = eSystem_RegisterClass(normalClass, "intsize", null, 0, 0, null, null, module, baseSystemAccess, publicAccess);
    integerClass.type = systemClass;
-   delete integerClass.dataTypeString;
+   delete (void *)integerClass.dataTypeString;
    integerClass.dataTypeString = CopyString("ssize_t");
    integerClass.structSize = 0;
    integerClass.typeSize = sizeof(intsize);
@@ -1849,7 +1849,7 @@ static void RegisterClass_Integer(Module module)
 
    integerClass = eSystem_RegisterClass(normalClass, "uintsize", null, 0, 0, null, null, module, baseSystemAccess, publicAccess);
    integerClass.type = systemClass;
-   delete integerClass.dataTypeString;
+   delete (void *)integerClass.dataTypeString;
    integerClass.dataTypeString = CopyString("size_t");
    integerClass.structSize = 0;
    integerClass.typeSize = sizeof(uintsize);
@@ -1872,7 +1872,7 @@ static void RegisterClass_Integer(Module module)
 
    integerClass = eSystem_RegisterClass(normalClass, "uintptr", null, 0, 0, null, null, module, baseSystemAccess, publicAccess);
    integerClass.type = systemClass;
-   delete integerClass.dataTypeString;
+   delete (void *)integerClass.dataTypeString;
    integerClass.dataTypeString = CopyString("uintptr_t");
    integerClass.structSize = 0;
    integerClass.typeSize = sizeof(uintptr);
@@ -1896,7 +1896,7 @@ static void RegisterClass_Integer(Module module)
 
    integerClass = eSystem_RegisterClass(normalClass, "intptr", null, 0, 0, null, null, module, baseSystemAccess, publicAccess);
    integerClass.type = systemClass;
-   delete integerClass.dataTypeString;
+   delete (void *)integerClass.dataTypeString;
    integerClass.dataTypeString = CopyString("intptr_t");
    integerClass.structSize = 0;
    integerClass.typeSize = sizeof(intptr);
@@ -2011,7 +2011,7 @@ static void RegisterClass_Float(Module module)
 {
    Class floatClass = eSystem_RegisterClass(normalClass, "float", null, 0, 0, null, null, module, baseSystemAccess, publicAccess);
    floatClass.type = systemClass;
-   delete floatClass.dataTypeString;
+   delete (void *)floatClass.dataTypeString;
    floatClass.dataTypeString = CopyString("float");
    floatClass.structSize = 0;
    floatClass.typeSize = sizeof(float);
@@ -2122,7 +2122,7 @@ static void RegisterClass_Double(Module module)
 {
    Class doubleClass = eSystem_RegisterClass(normalClass, "double", null, 0, 0, null, null, module, baseSystemAccess, publicAccess);
    doubleClass.type = systemClass;
-   delete doubleClass.dataTypeString;
+   delete (void *)doubleClass.dataTypeString;
    doubleClass.dataTypeString = CopyString("double");
    doubleClass.structSize = 0;
    doubleClass.typeSize = sizeof(double);
@@ -2173,9 +2173,9 @@ public struct StaticString
       return result;
    }
 
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
-      return (char *)(this ? string : null); // Cast for memguard
+      return (const char *)(this ? string : null); // Cast for memguard
    }
 
    void OnFree()
@@ -2216,7 +2216,7 @@ static bool String_OnGetDataFromString(Class _class, char ** data, char * newDat
    return true;
 }
 
-/*static */int String_OnCompare(Class _class, char * string1, char * string2)
+/*static */int String_OnCompare(Class _class, const char * string1, const char * string2)
 {
    int result = 0;
    if(string1 && string2)
@@ -2279,7 +2279,7 @@ static void String_OnUnserialize(Class _class, char * * string, IOChannel channe
 static void RegisterClass_String(Module module)
 {
    Class stringClass = eSystem_RegisterClass(normalClass, "char *", null, 0, 0, null, null, module, baseSystemAccess, publicAccess);
-   delete stringClass.dataTypeString;
+   delete (void *)stringClass.dataTypeString;
    stringClass.dataTypeString = CopyString("char *");
    stringClass.structSize = 0;
    stringClass.computeSize = false;
@@ -2307,8 +2307,8 @@ void InitializeDataTypes1(Module module)
    eClass_AddVirtualMethod(baseClass, "OnCompare", "int typed_object::OnCompare(any_object object)", OnCompare, publicAccess);
    eClass_AddVirtualMethod(baseClass, "OnCopy", "void typed_object&::OnCopy(any_object newData)", OnCopy, publicAccess);
    eClass_AddVirtualMethod(baseClass, "OnFree", "void typed_object::OnFree(void)", OnFree, publicAccess);
-   eClass_AddVirtualMethod(baseClass, "OnGetString", "char * typed_object::OnGetString(char * tempString, void * fieldData, bool * needClass)", OnGetString, publicAccess);
-   eClass_AddVirtualMethod(baseClass, "OnGetDataFromString", "bool typed_object&::OnGetDataFromString(char * string)", OnGetDataFromString, publicAccess);
+   eClass_AddVirtualMethod(baseClass, "OnGetString", "const char * typed_object::OnGetString(char * tempString, void * fieldData, bool * needClass)", OnGetString, publicAccess);
+   eClass_AddVirtualMethod(baseClass, "OnGetDataFromString", "bool typed_object&::OnGetDataFromString(const char * string)", OnGetDataFromString, publicAccess);
    eClass_AddVirtualMethod(baseClass, "OnEdit", "Window typed_object::OnEdit(DataBox dataBox, DataBox obsolete, int x, int y, int w, int h, void * userData)", null, publicAccess);
    eClass_AddVirtualMethod(baseClass, "OnSerialize", "void typed_object::OnSerialize(IOChannel channel)", OnSerialize, publicAccess);
    eClass_AddVirtualMethod(baseClass, "OnUnserialize", "void typed_object&::OnUnserialize(IOChannel channel)", OnUnserialize, publicAccess);
@@ -2333,7 +2333,7 @@ public int PrintStdArgsToBuffer(char * buffer, int maxLen, typed_object object,
 {
    int len = 0;
    // TOFIX: OnGetString will need a maxLen as well
-   char * result = object.OnGetString(buffer, null, null);
+   const char * result = object.OnGetString(buffer, null, null);
    if(result)
    {
       len = strlen(result);
@@ -2352,7 +2352,7 @@ public int PrintStdArgsToBuffer(char * buffer, int maxLen, typed_object object,
       if(data)
       {
          // TOFIX: OnGetString will need a maxLen as well
-         result = ((char *(*)(void *, void *, char *, void *, bool *))(void *)_class._vTbl[__ecereVMethodID_class_OnGetString])(_class, data, buffer + len, null, null);
+         result = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)_class._vTbl[__ecereVMethodID_class_OnGetString])(_class, data, buffer + len, null, null);
          if(result)
          {
             int newLen = strlen(result);
index b810a9f..07d9754 100644 (file)
@@ -98,10 +98,10 @@ void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
 void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
 void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
 void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
-unsigned short * __ecereNameSpace__ecere__sys__UTF8toUTF16(char * source, int * wordCount);
-unsigned short * __ecereNameSpace__ecere__sys__UTF8toUTF16Buffer(char * source, uint16 * dest, int max);
+unsigned short * __ecereNameSpace__ecere__sys__UTF8toUTF16(const char * source, int * wordCount);
+unsigned short * __ecereNameSpace__ecere__sys__UTF8toUTF16Buffer(const char * source, uint16 * dest, int max);
 char * __ecereNameSpace__ecere__sys__UTF16toUTF8(uint16 * source);
-char * __ecereNameSpace__ecere__sys__UTF16toUTF8Buffer(uint16 * source, byte * dest, int max);
+char * __ecereNameSpace__ecere__sys__UTF16toUTF8Buffer(uint16 * source, char * dest, int max);
 
 #define eSystem_Delete     __ecereNameSpace__ecere__com__eSystem_Delete
 #define eSystem_New0       __ecereNameSpace__ecere__com__eSystem_New0
@@ -118,10 +118,10 @@ static char exeLocation[MAX_LOCATION];
 
 #define forArgsPassing 2
 int __ecereNameSpace__ecere__sys__Tokenize(char * string, int maxTokens, char* tokens[], int esc);
-char * __ecereNameSpace__ecere__sys__RSearchString(char * buffer, char * subStr, int maxLen, bool matchCase, bool matchWord);
-char * __ecereNameSpace__ecere__sys__GetLastDirectory(char * string, char * output);
-char * __ecereNameSpace__ecere__sys__PathCat(char * string, char * addedPath);
-char * __ecereNameSpace__ecere__sys__GetExtension(char * string, char * output);
+char * __ecereNameSpace__ecere__sys__RSearchString(const char * buffer, const char * subStr, int maxLen, bool matchCase, bool matchWord);
+char * __ecereNameSpace__ecere__sys__GetLastDirectory(const char * string, char * output);
+char * __ecereNameSpace__ecere__sys__PathCat(char * string, const char * addedPath);
+char * __ecereNameSpace__ecere__sys__GetExtension(const char * string, char * output);
 
 #define Tokenize           __ecereNameSpace__ecere__sys__Tokenize
 #define RSearchString      __ecereNameSpace__ecere__sys__RSearchString
@@ -184,7 +184,7 @@ static bool DualPipe_GetLine(FILE * p, char *s, int max)
 
 #endif
 
-bool Instance_LocateModule(char * name, char * fileName)
+bool Instance_LocateModule(const char * name, char * fileName)
 {
 #if defined(__WIN32__)
    HMODULE hModule = null;
@@ -202,7 +202,7 @@ bool Instance_LocateModule(char * name, char * fileName)
       {
          uint16 _wfileName[MAX_LOCATION];
          GetModuleFileNameW(hModule, _wfileName, MAX_LOCATION);
-         UTF16toUTF8Buffer(_wfileName, (byte *)fileName, MAX_LOCATION);
+         UTF16toUTF8Buffer(_wfileName, fileName, MAX_LOCATION);
          return true;
       }
    }
@@ -210,7 +210,7 @@ bool Instance_LocateModule(char * name, char * fileName)
    {
       uint16 _wfileName[MAX_LOCATION];
       GetModuleFileNameW(null, _wfileName, MAX_LOCATION);
-      UTF16toUTF8Buffer(_wfileName, (byte *)fileName, MAX_LOCATION);
+      UTF16toUTF8Buffer(_wfileName, fileName, MAX_LOCATION);
       return true;
    }
 #elif defined(__APPLE__)
@@ -398,7 +398,7 @@ bool Instance_LocateModule(char * name, char * fileName)
    return false;
 }
 
-void Instance_COM_Initialize(int argc, char ** argv, char ** parsedCommand, int * argcPtr, char *** argvPtr)
+void Instance_COM_Initialize(int argc, char ** argv, char ** parsedCommand, int * argcPtr, const char *** argvPtr)
 {
 #if !defined(__WIN32__) && !defined(ECERE_BOOTSTRAP)
    // Disable stdout buffering on Unix
index 628b8d3..5dd172c 100644 (file)
@@ -35,7 +35,7 @@ static define MAX_MEMORY_LOC = 40;
 
 static class MemStack : BTNode
 {
-   char * frames[1000];
+   const char * frames[1000];
    int pos;
    bool recurse;
 };
@@ -69,7 +69,7 @@ default const char * AndroidInterface_GetLibLocation();
 
 public define null = ((void *)0);
 
-dllexport Class eSystem_FindClass(Module module, char * name);
+dllexport Class eSystem_FindClass(Module module, const char * name);
 dllexport void * eSystem_Renew(void * memory, unsigned int size);
 dllexport void * eSystem_Renew0(void * memory, unsigned int size);
 dllexport void * eSystem_New(unsigned int size);
@@ -81,8 +81,8 @@ default:
 extern int __ecereVMethodID_class_OnGetDataFromString;
 
 // IMPLEMENTATION FOR THESE IN _instance.c:
-bool Instance_LocateModule(char * name, char * fileName);
-void Instance_COM_Initialize(int argc, char ** argv, char ** parsedCommand, int * argcPtr, char *** argvPtr);
+bool Instance_LocateModule(const char * name, const char * fileName);
+void Instance_COM_Initialize(int argc, char ** argv, char ** parsedCommand, int * argcPtr, const char *** argvPtr);
 void * Instance_Module_Load(const char * libLocation, const char * name, void ** Load, void ** Unload);
 void Instance_Module_Free(void * library);
 #if defined(_DEBUG)
@@ -96,13 +96,13 @@ public class Angle : double;
 public class unichar : uint32
 {
 
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       UTF32toUTF8Len(&this, 1, tempString, 5);
       return tempString;
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       int nb;
       this = UTF8GetChar(string, &nb);
@@ -117,12 +117,12 @@ public:
    class_fixed
    class_no_expansion
    Property prev, next;
-   char * name;
+   const char * name;
    bool isProperty;
    AccessMode memberAccess;
    int id;
    Class _class;
-   char * dataTypeString;
+   const char * dataTypeString;
    Class dataTypeClass;
    Type dataType;
 
@@ -134,14 +134,14 @@ public:
    int vid;
    bool conversion;
    uint watcherOffset;
-   char * category;
+   const char * category;
    bool compiled;
    bool selfWatchable, isWatchable;
 };
 
 dllexport void eInstance_FireWatchers(Instance instance, Property _property);
 
-public dllexport void MemoryGuard_PushLoc(char * loc)
+public dllexport void MemoryGuard_PushLoc(const char * loc)
 {
 #ifdef MEMINFO
    MemStack stack;
@@ -214,7 +214,7 @@ public class BTNamedLink : struct
 {
    class_fixed
 public:
-   char * name;
+   const char * name;
    BTNamedLink parent, left, right;
    int depth;
    void * data;
@@ -265,7 +265,7 @@ public:
    class_fixed
    class_no_expansion
    Class prev, next;
-   char * name;
+   const char * name;
    int offset, structSize;
    int (** _vTbl)();
    int vTblSize;
@@ -284,16 +284,16 @@ public:
    ClassType type;
    Module module;
    NameSpace * nameSpace;
-   char * dataTypeString;
+   const char * dataTypeString;
    Type dataType;
    int typeSize;
    int defaultAlignment;
    void (*Initialize)();
    int memberOffset;       // For structs, this includes all base classes structSize. Otherwise it restarts at for each class hierarchy level.
    OldList selfWatchers;
-   char * designerClass;
+   const char * designerClass;
    bool noExpansion;
-   char * defaultProperty;
+   const char * defaultProperty;
    bool comRedefinition;
 
    int count;     // DEBUGGING
@@ -307,7 +307,7 @@ public:
    bool fixed;
    OldList delayedCPValues;
    AccessMode inheritanceAccess;
-   char * fullName;
+   const char * fullName;
    void * symbol;
    OldList conversions;
 
@@ -319,7 +319,7 @@ public:
    bool isInstanceClass;
    bool byValueSystemClass;
 
-   property char *
+   property const char *
    {
       get { return name; }
       set
@@ -333,12 +333,12 @@ public:
       }
    };
 
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       return name;
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       Class theClass;
       theClass = eSystem_FindClass(__thisModule, string);
@@ -383,7 +383,7 @@ public:
       // For type
       struct
       {
-         char * dataTypeString;
+         const char * dataTypeString;
          Class dataTypeClass;
          // Type dataType;
       };
@@ -393,7 +393,7 @@ public:
       // For identifier
       struct
       {
-         char * memberString;
+         const char * memberString;
          union
          {
             DataMember member;
@@ -409,12 +409,12 @@ public class ClassTemplateParameter : struct
 class_fixed
 public:
    ClassTemplateParameter prev, next;
-   char * name;
+   const char * name;
    TemplateParameterType type;
    union
    {
       // Class baseClass;                 // For type
-      char * dataTypeString;           // For expression
+      const char * dataTypeString;           // For expression
       TemplateMemberType memberType;   // For identifier
    };
    ClassTemplateArgument defaultArg;
@@ -435,7 +435,7 @@ public class Module
    OldList modules;
 
    Module prev, next;
-   char * name;
+   const char * name;
    void * library;
    void (stdcall * Unload)(Module module);
    ImportType importType;
@@ -449,11 +449,11 @@ public class Module
 public class Application : Module
 {
    int argc;
-   char ** argv;
+   const char ** argv;
    int exitCode;
    bool isGUIApp;
    OldList allModules;
-   char * parsedCommand;
+   const char * parsedCommand;
    NameSpace systemNameSpace;
 };
 */
@@ -463,7 +463,7 @@ public class Method : struct
 {
 public:
    class_fixed
-   char * name;
+   const char * name;
    Method parent, left, right;
    int depth;
    int (*function)();
@@ -471,7 +471,7 @@ public:
    MethodType type;
    Class _class;
    void * symbol;
-   char * dataTypeString;
+   const char * dataTypeString;
    Type dataType;
    AccessMode memberAccess;
 };
@@ -489,7 +489,7 @@ public enum ImportType
 
 public struct NameSpace
 {
-   char * name;
+   const char * name;
    NameSpace * btParent, * left, * right;
    int depth;
 
@@ -520,12 +520,12 @@ public class DataMember : struct
 public:
    class_fixed
    DataMember prev, next;
-   char * name;
+   const char * name;
    bool isProperty;
    AccessMode memberAccess;
    int id;
    Class _class;
-   char * dataTypeString;
+   const char * dataTypeString;
    Class dataTypeClass;
    Type dataType;
 
@@ -543,12 +543,12 @@ public class BitMember : struct
 public:
    class_fixed
    BitMember prev, next;
-   char * name;
+   const char * name;
    bool isProperty;
    AccessMode memberAccess;
    int id;
    Class _class;
-   char * dataTypeString;
+   const char * dataTypeString;
    Class dataTypeClass;
    Type dataType;
 
@@ -562,12 +562,12 @@ public class ClassProperty : struct
 {
 public:
    class_fixed
-   char * name;
+   const char * name;
    ClassProperty parent, left, right;
    int depth;
    void (*Set)(Class, int64);
    int64 (*Get)(Class);
-   char * dataTypeString;
+   const char * dataTypeString;
    Type dataType;
    bool constant;
 };
@@ -577,8 +577,8 @@ public class DefinedExpression : struct
 public:
    class_fixed
    DefinedExpression prev, next;
-   char * name;
-   char * value;
+   const char * name;
+   const char * value;
    NameSpace * nameSpace;
 };
 
@@ -587,11 +587,11 @@ public class GlobalFunction : struct
 public:
    class_fixed
    GlobalFunction prev, next;
-   char * name;
+   const char * name;
    int (*function)();
    Module module;
    NameSpace * nameSpace;
-   char * dataTypeString;
+   const char * dataTypeString;
    Type dataType;
    void * symbol;
 };
@@ -626,10 +626,10 @@ static class MemInfo : BTNode //struct
    byte * oldmem;
    uint size;
    bool freed;
-   char * _class;
+   const char * _class;
    uint id;
-   char * allocLoc[MAX_MEMORY_LOC];
-   char * freeLoc[MAX_MEMORY_LOC];
+   const char * allocLoc[MAX_MEMORY_LOC];
+   const char * freeLoc[MAX_MEMORY_LOC];
    bool internal;
 
    void OutputStacks(bool showFree)
@@ -663,7 +663,7 @@ static BinaryTree memBlocks;
 bool recurse = false;
 static int blockID;
 //Class allocateClass;
-char * allocateClass;
+const char * allocateClass;
 bool allocateInternal;
 
 #endif
@@ -1926,7 +1926,7 @@ static void FixDerivativesBase(Class base, Class mod)
       int oldSizeClass = _class.sizeClass;
       int sizeClass = _class.sizeClass - _class.offsetClass;
       Class enumBase = null;
-      char * dataTypeString = null;
+      const char * dataTypeString = null;
       // NOTE: baseClass is class(class)
       Class baseClass;
       uint offsetBefore = _class.offset;
@@ -1995,7 +1995,7 @@ static void FixDerivativesBase(Class base, Class mod)
 
       if(_class.type != systemClass)
          _class.type = type;
-      delete _class.dataTypeString;
+      delete (void *)_class.dataTypeString;
       _class.dataTypeString = CopyString(dataTypeString);
 
       if(totalSizeClass != oldSizeClass)
@@ -2055,13 +2055,13 @@ static void FixDerivativesBase(Class base, Class mod)
                         if(method.function) _class._vTbl[vMethod.vid] = method.function;
                         if(!method.symbol)
                         {
-                           delete method.name;
-                           delete method.dataTypeString;
+                           delete (void *)method.name;
+                           delete (void *)method.dataTypeString;
                            _class.methods.Delete((BTNode)method);
                         }
                         else
                         {
-                           delete method.dataTypeString;
+                           delete (void *)method.dataTypeString;
                            method.type = vMethod.type;
                            method.dataTypeString = CopyString(vMethod.dataTypeString);
                            method._class = vMethod._class;
@@ -2121,8 +2121,8 @@ static void FixDerivativesBase(Class base, Class mod)
                         }
                         _property.selfWatchable = true;
                         _class.prop.Delete((BTNode)link);
-                        delete prop.name;
-                        delete prop.dataTypeString;
+                        delete (void *)prop.name;
+                        delete (void *)prop.dataTypeString;
                         _class.membersAndProperties.Delete(prop);    // Remove only was done before?
                      }
                   }
@@ -2180,7 +2180,7 @@ static void FixDerivativesBase(Class base, Class mod)
       for(templateLink = base.templatized.first; templateLink; templateLink = templateLink.next)
       {
          Class template = templateLink.data;
-         //char * templateParams = strchr(template.name, '<');
+         //const char * templateParams = strchr(template.name, '<');
          template.base = base.base;
          template._vTbl = base._vTbl;
          //ComputeClassParameters(template, templateParams, null);
@@ -2197,7 +2197,7 @@ static void FixDerivativesBase(Class base, Class mod)
    }
 }
 
-public dllexport Class eSystem_RegisterClass(ClassType type, char * name, char * baseName, int size, int sizeClass,
+public dllexport Class eSystem_RegisterClass(ClassType type, const char * name, const char * baseName, int size, int sizeClass,
                              bool (* Constructor)(void *),void (* Destructor)(void *),
                              Module module, AccessMode declMode, AccessMode inheritanceAccess)
 {
@@ -2263,7 +2263,7 @@ public dllexport Class eSystem_RegisterClass(ClassType type, char * name, char *
       int totalSizeClass;
       BTNamedLink classLink = null;
       Class _class = null;
-      char * dataTypeString = null;
+      const char * dataTypeString = null;
       Class enumBase = null;
       Class base = (baseName && baseName[0]) ? eSystem_FindClass(module, baseName) : null;
       Class prevBase = null;
@@ -2383,7 +2383,7 @@ public dllexport Class eSystem_RegisterClass(ClassType type, char * name, char *
       _class = eSystem_FindClass(module, name);
       if(!_class)
       {
-         char * colons = RSearchString(name, "::", strlen(name), true, false);
+         const char * colons = RSearchString(name, "::", strlen(name), true, false);
          if(colons && colons)
          {
             _class = eSystem_FindClass(module, colons + 2);
@@ -2391,7 +2391,7 @@ public dllexport Class eSystem_RegisterClass(ClassType type, char * name, char *
             {
                if(_class.internalDecl)
                {
-                  delete _class.fullName;
+                  delete (void *)_class.fullName;
                   _class.fullName = CopyString(name);
                }
                else
@@ -2472,7 +2472,7 @@ public dllexport Class eSystem_RegisterClass(ClassType type, char * name, char *
                }
             }
 
-            delete _class.fullName;
+            delete (void *)_class.fullName;
             _class.fullName = CopyString(name);
          }
          else
@@ -2489,13 +2489,13 @@ public dllexport Class eSystem_RegisterClass(ClassType type, char * name, char *
       }
       if(nameSpace)
       {
-         nameSpace->classes.Add((BTNode)BTNamedLink { name = _class.name, data = _class });
+         nameSpace->classes.Add((BTNode)BTNamedLink { name = (char *)_class.name, data = _class });
          {
             OldLink t;
             for(t = _class.templatized.first; t; t = t.next)
             {
                Class template = t.data;
-               nameSpace->classes.Add((BTNode)BTNamedLink { name = template.name, data = template });
+               nameSpace->classes.Add((BTNode)BTNamedLink { name = (char *)template.name, data = template });
             }
          }
 
@@ -2546,7 +2546,7 @@ public dllexport Class eSystem_RegisterClass(ClassType type, char * name, char *
             memset((byte *)_class.data + offsetClass, 0, sizeClass);
          }
 
-         delete _class.dataTypeString;
+         delete (void *)_class.dataTypeString;
          _class.dataTypeString = CopyString(dataTypeString);
          _class.defaultAlignment = base ? base.defaultAlignment : 0;
 
@@ -2772,8 +2772,8 @@ static void DataMember_Free(DataMember parentMember)
 {
    DataMember member;
    BTNamedLink namedLink;
-   delete parentMember.name;
-   delete parentMember.dataTypeString;
+   delete (void *)parentMember.name;
+   delete (void *)parentMember.dataTypeString;
 
    while((member = parentMember.members.first))
    {
@@ -2797,10 +2797,10 @@ static void FreeTemplateArg(Class template, ClassTemplateParameter param, int id
    switch(param.type)
    {
       case type:
-         delete template.templateArgs[id].dataTypeString;
+         delete (void *)template.templateArgs[id].dataTypeString;
          break;
       case identifier:
-         delete template.templateArgs[id].memberString;
+         delete (void *)template.templateArgs[id].memberString;
          break;
       case expression:
 
@@ -2831,10 +2831,10 @@ static void FreeTemplateArgs(Class template)
                switch(param.type)
                {
                   case type:
-                     delete template.templateArgs[id].dataTypeString;
+                     delete (void *)template.templateArgs[id].dataTypeString;
                      break;
                   case identifier:
-                     delete template.templateArgs[id].memberString;
+                     delete (void *)template.templateArgs[id].memberString;
                      break;
                   case expression:
                      // delete template.templateArgs[id].dataTypeString;
@@ -2858,10 +2858,10 @@ static void FreeTemplate(Class template)
    }
    FreeTemplateArgs(template);
 
-   delete template.fullName;
-   delete template.name;
-   delete template.templateArgs;
-   delete template.dataTypeString;
+   delete (void *)template.fullName;
+   delete (void *)template.name;
+   delete (void *)template.templateArgs;
+   delete (void *)template.dataTypeString;
 
    while((deriv = template.derivatives.first))
    {
@@ -2885,7 +2885,7 @@ static void FreeTemplates(Class _class)
    //if(_class.templateArgs)
       //printf("Deleting  Template args for %s\n", _class.name);
    delete _class.templateArgs;
-   delete _class.dataTypeString;
+   delete (void *)_class.dataTypeString;
 
    while((template = _class.templatized.first))
    {
@@ -2921,15 +2921,15 @@ public dllexport void eClass_Unregister(Class _class)
    {
       if(!member.isProperty && (member.type == unionMember || member.type == structMember))
          DataMember_Free(member);
-      delete member.name;
-      delete member.dataTypeString;
+      delete (void *)member.name;
+      delete (void *)member.dataTypeString;
       _class.membersAndProperties.Delete(member);
    }
 
    while((member = _class.conversions.first))
    {
-      delete member.name;
-      delete member.dataTypeString;
+      delete (void *)member.name;
+      delete (void *)member.dataTypeString;
       _class.conversions.Delete(member);
    }
 
@@ -2945,15 +2945,15 @@ public dllexport void eClass_Unregister(Class _class)
 
    while((classProp = (ClassProperty)_class.classProperties.first))
    {
-      delete classProp.name;
-      delete classProp.dataTypeString;
+      delete (void *)classProp.name;
+      delete (void *)classProp.dataTypeString;
       _class.classProperties.Delete((BTNode)classProp);
    }
 
    while((method = (Method)_class.methods.first))
    {
-      delete method.name;
-      delete method.dataTypeString;
+      delete (void *)method.name;
+      delete (void *)method.dataTypeString;
       _class.methods.Delete((BTNode)method);
    }
 
@@ -2991,10 +2991,10 @@ public dllexport void eClass_Unregister(Class _class)
       _class.nameSpace->classes.Delete((BTNode)link);
    }
 
-   delete _class.name;
-   delete _class.fullName;
+   delete (void *)_class.name;
+   delete (void *)_class.fullName;
 
-   delete _class.dataTypeString;
+   delete (void *)_class.dataTypeString;
 
    delete _class.data;
 
@@ -3003,17 +3003,17 @@ public dllexport void eClass_Unregister(Class _class)
       switch(param.type)
       {
          case type:
-            delete param.defaultArg.dataTypeString;
+            delete (void *)param.defaultArg.dataTypeString;
             break;
          case identifier:
-            delete param.defaultArg.memberString;
+            delete (void *)param.defaultArg.memberString;
             break;
          case expression:
 
             break;
       }
-      if(param.type != identifier) delete param.dataTypeString;
-      delete param.name;
+      if(param.type != identifier) delete (void *)param.dataTypeString;
+      delete (void *)param.name;
 
       _class.templateParams.Delete(param);
    }
@@ -3022,7 +3022,7 @@ public dllexport void eClass_Unregister(Class _class)
    _free(_class);
 }
 
-static BTNamedLink ScanNameSpace(NameSpace nameSpace, char * name, void * listOffset)
+static BTNamedLink ScanNameSpace(NameSpace nameSpace, const char * name, void * listOffset)
 {
    BinaryTree * tree = (BinaryTree *)((byte *)nameSpace + (uintptr)listOffset);
    BTNamedLink link = (BTNamedLink)tree->Find((uintptr)name);
@@ -3039,7 +3039,7 @@ static BTNamedLink ScanNameSpace(NameSpace nameSpace, char * name, void * listOf
    return link;
 }
 
-static BTNamedLink SearchNameSpace(NameSpace nameSpace, char * name, void * listOffset)
+static BTNamedLink SearchNameSpace(NameSpace nameSpace, const char * name, void * listOffset)
 {
    int start = 0, c;
    char ch;
@@ -3070,7 +3070,7 @@ static BTNamedLink SearchNameSpace(NameSpace nameSpace, char * name, void * list
    return null;
 }
 
-static BTNamedLink SearchModule(Module module, char * name, void * listOffset, bool searchPrivate)
+static BTNamedLink SearchModule(Module module, const char * name, void * listOffset, bool searchPrivate)
 {
    SubModule subModule;
    BTNamedLink link;
@@ -3099,7 +3099,7 @@ static BTNamedLink SearchModule(Module module, char * name, void * listOffset, b
    return null;
 }
 
-public int64 _strtoi64(char * string, char ** endString, int base)
+public int64 _strtoi64(const char * string, const char ** endString, int base)
 {
    int64 value = 0;
    int sign = 1;
@@ -3154,7 +3154,7 @@ public int64 _strtoi64(char * string, char ** endString, int base)
    return sign*value;
 }
 
-public uint64 _strtoui64(char * string, char ** endString, int base)
+public uint64 _strtoui64(const char * string, const char ** endString, int base)
 {
    uint64 value = 0;
    int sign = 1;
@@ -3209,11 +3209,12 @@ public uint64 _strtoui64(char * string, char ** endString, int base)
    return sign*value;
 }
 
-public dllexport Class eSystem_FindClass(Module module, char * name)
+public dllexport Class eSystem_FindClass(Module module, const char * name)
 {
    if(name && module)
    {
       BTNamedLink link;
+      if(!strncmp(name, "const ", 6)) name += 6;
       link = SearchNameSpace(&module.application.systemNameSpace, name, &((NameSpace *)0)->classes);
       if(link) return link.data;
 
@@ -3262,7 +3263,7 @@ public dllexport Class eSystem_FindClass(Module module, char * name)
                templatedClass.fullName = CopyString(className);
                templatedClass.dataTypeString = CopyString(_class.dataTypeString);
                templatedClass.name = CopyString(templatedClass.fullName + strlen(_class.fullName) - strlen(_class.name));
-               templatedClass.nameSpace->classes.Add((BTNode)BTNamedLink { name = templatedClass.name, data = templatedClass });
+               templatedClass.nameSpace->classes.Add((BTNode)BTNamedLink { name = (char *)templatedClass.name, data = templatedClass });
                templatedClass.templateArgs = null;
                templatedClass.numParams = 0;
                templatedClass.derivatives = { };
@@ -3295,10 +3296,10 @@ static void CopyTemplateArg(ClassTemplateParameter param, ClassTemplateArgument
    }
 }
 
-static void ComputeClassParameters(Class templatedClass, char * templateParams, Module findModule)
+static void ComputeClassParameters(Class templatedClass, const char * templateParams, Module findModule)
 {
    char ch;
-   char * nextParamStart = templateParams ? (templateParams + 1) : null;
+   const char * nextParamStart = templateParams ? (templateParams + 1) : null;
    ClassTemplateParameter curParam = null;
    Class lastClass = null, sClass;
    int curParamID = 0;
@@ -3362,8 +3363,8 @@ static void ComputeClassParameters(Class templatedClass, char * templateParams,
 
    while(nextParamStart)
    {
-      char * paramStart = nextParamStart;
-      char * paramEnd;
+      const char * paramStart = nextParamStart;
+      const char * paramEnd;
       int level = 0;
       while(*paramStart == ' ') paramStart++;
       paramEnd = paramStart;
@@ -3378,7 +3379,7 @@ static void ComputeClassParameters(Class templatedClass, char * templateParams,
       while(*paramEnd == ' ') paramEnd--;
       if(paramEnd > paramStart)
       {
-         char * ptr, * equal = null;
+         const char * ptr, * equal = null;
          for(ptr = paramStart; ptr <= paramEnd; ptr++)
          {
             if(*ptr == '=')
@@ -3389,7 +3390,7 @@ static void ComputeClassParameters(Class templatedClass, char * templateParams,
          }
          if(equal)
          {
-            char * end = equal - 1;
+            const char * end = equal - 1;
             char ident[1024];
 
             while(*end == ' ') end--;
@@ -3844,9 +3845,9 @@ static void ComputeClassParameters(Class templatedClass, char * templateParams,
             if(param.type == identifier && arg->memberString)
             {
                Class memberClass = templatedClass;
-               char * memberString = arg->memberString;
-               char * colon = strstr(memberString, "::");
-               char * memberName = memberString;
+               const char * memberString = arg->memberString;
+               const char * colon = strstr(memberString, "::");
+               const char * memberName = memberString;
                if(colon) memberName = colon + 2;
                if(!colon)
                {
@@ -3982,7 +3983,7 @@ public dllexport bool eClass_IsDerived(Class _class, Class from)
    return false;
 }
 
-static void FixDerivativeVirtualMethod(Class base, char * name, int vid, void * origFunction, char * type)
+static void FixDerivativeVirtualMethod(Class base, const char * name, int vid, void * origFunction, const char * type)
 {
    OldLink derivative;
    for(derivative = base.derivatives.first; derivative; derivative = derivative.next)
@@ -4002,13 +4003,13 @@ static void FixDerivativeVirtualMethod(Class base, char * name, int vid, void *
 
          if(!method.symbol)
          {
-            delete method.name;
-            delete method.dataTypeString;
+            delete (void *)method.name;
+            delete (void *)method.dataTypeString;
             _class.methods.Delete((BTNode)method);
          }
          else
          {
-            delete method.dataTypeString;
+            delete (void *)method.dataTypeString;
             method.type = virtualMethod;
             method.dataTypeString = CopyString(type);
             method._class = base;
@@ -4044,7 +4045,7 @@ static void FixDerivativeVirtualMethod(Class base, char * name, int vid, void *
    }
 }
 
-public dllexport Method eClass_AddMethod(Class _class, char * name, char * type, void * function, AccessMode declMode)
+public dllexport Method eClass_AddMethod(Class _class, const char * name, const char * type, void * function, AccessMode declMode)
 {
    if(_class && !_class.comRedefinition && name)
    {
@@ -4117,7 +4118,7 @@ public dllexport Method eClass_AddMethod(Class _class, char * name, char * type,
    return null;
 }
 
-public dllexport Method eClass_AddVirtualMethod(Class _class, char * name, char * type, void * function, AccessMode declMode)
+public dllexport Method eClass_AddVirtualMethod(Class _class, const char * name, const char * type, void * function, AccessMode declMode)
 {
    if(_class && !_class.comRedefinition && name)
    {
@@ -4187,8 +4188,8 @@ static void FixDerivativeProperty(Class base, Property _property)
             }
             _property.selfWatchable = true;
 
-            delete prop.name;
-            delete prop.dataTypeString;
+            delete (void *)prop.name;
+            delete (void *)prop.dataTypeString;
             _class.membersAndProperties.Delete(prop);
             _class.prop.Delete((BTNode)link);
          }
@@ -4203,12 +4204,18 @@ static void FixDerivativeProperty(Class base, Property _property)
    }
 }
 
-public dllexport Property eClass_AddProperty(Class _class, char * name, char * dataType, void * setStmt, void * getStmt, AccessMode declMode)
+public dllexport Property eClass_AddProperty(Class _class, const char * name, const char * dataType, void * setStmt, void * getStmt, AccessMode declMode)
 {
    Property _property = null;
    if(_class)
    {
       BTNamedLink link = (BTNamedLink)_class.prop.FindString(name ? name : dataType);
+      bool isConversion = name ? false : true;
+      if(!name && dataType && !strncmp(dataType, "const ", 6))
+      {
+         name = dataType + 6;
+         isConversion = true;
+      }
       if(link)
          _property = link.data;
       if(!_property)
@@ -4223,10 +4230,10 @@ public dllexport Property eClass_AddProperty(Class _class, char * name, char * d
             dataTypeString = CopyString(dataType);
             _class = _class;
             compiled = true;
-            conversion = name ? false : true;
+            conversion = isConversion;
             memberAccess = declMode;
          };
-         if(name)
+         if(!isConversion)
             _class.membersAndProperties.Add(_property);
          else
             _class.conversions.Add(_property);
@@ -4263,7 +4270,7 @@ static void SetDelayedCPValues(Class _class, ClassProperty _property)
    }
 }
 
-public dllexport ClassProperty eClass_AddClassProperty(Class _class, char * name, char * dataType, void * setStmt, void * getStmt)
+public dllexport ClassProperty eClass_AddClassProperty(Class _class, const char * name, const char * dataType, void * setStmt, void * getStmt)
 {
    if(name && !_class.classProperties.FindString(name))
    {
@@ -4295,7 +4302,7 @@ public dllexport Time GetClassFindTime()
    return classFindTotalTime;
 }
 */
-public dllexport ClassProperty eClass_FindClassProperty(Class _class, char * name)
+public dllexport ClassProperty eClass_FindClassProperty(Class _class, const char * name)
 {
    //Time startTime = GetTime();
    ClassProperty _property = null;
@@ -4321,7 +4328,7 @@ public dllexport ClassProperty eClass_FindClassProperty(Class _class, char * nam
    return _property;
 }
 
-public dllexport int64 eClass_GetProperty(Class _class, char * name)
+public dllexport int64 eClass_GetProperty(Class _class, const char * name)
 {
    ClassProperty _property = eClass_FindClassProperty(_class, name);
    if(_property && _property.Get && _property.Get != (void *)1)
@@ -4332,7 +4339,7 @@ public dllexport int64 eClass_GetProperty(Class _class, char * name)
    return 0;
 }
 
-public dllexport void eClass_SetProperty(Class _class, char * name, int64 value)
+public dllexport void eClass_SetProperty(Class _class, const char * name, int64 value)
 {
    ClassProperty _property = eClass_FindClassProperty(_class, name);
    if(_property)
@@ -4342,11 +4349,11 @@ public dllexport void eClass_SetProperty(Class _class, char * name, int64 value)
    }
    else
    {
-      _class.delayedCPValues.Add(NamedLink64 { name = name, value });
+      _class.delayedCPValues.Add(NamedLink64 { name = (char *)name, value });
    }
 }
 
-public dllexport Method eClass_FindMethod(Class _class, char * name, Module module)
+public dllexport Method eClass_FindMethod(Class _class, const char * name, Module module)
 {
    //Time startTime = GetTime();
    if(_class && name)
@@ -4680,11 +4687,14 @@ public dllexport void eInstance_Delete(Instance instance)
    }
 }
 
-public dllexport Property eClass_FindProperty(Class _class, char * name, Module module)
+public dllexport Property eClass_FindProperty(Class _class, const char * name, Module module)
 {
    //Time startTime = GetTime();
    if(_class && name)
    {
+      if(!strncmp(name, "const ", 6))
+         name += 6;
+
       for(; _class; _class = _class.base)
       {
          BTNamedLink link;
@@ -4722,7 +4732,7 @@ public dllexport Property eClass_FindProperty(Class _class, char * name, Module
    return null;
 }
 
-static DataMember FindDataMember(OldList list, BinaryTree alist, char * name, uint * offset, int * id, bool searchPrivate, DataMember * subMemberStack, int * subMemberStackPos)
+static DataMember FindDataMember(OldList list, BinaryTree alist, const char * name, uint * offset, int * id, bool searchPrivate, DataMember * subMemberStack, int * subMemberStackPos)
 {
    BTNamedLink link;
    DataMember dataMember;
@@ -4760,7 +4770,7 @@ static DataMember FindDataMember(OldList list, BinaryTree alist, char * name, ui
    return null;
 }
 
-public dllexport DataMember eClass_FindDataMember(Class _class, char * name, Module module, DataMember * subMemberStack, int * subMemberStackPos)
+public dllexport DataMember eClass_FindDataMember(Class _class, const char * name, Module module, DataMember * subMemberStack, int * subMemberStackPos)
 {
    //Time startTime = GetTime();
    DataMember dataMember = null;
@@ -4802,7 +4812,7 @@ public dllexport DataMember eClass_FindDataMember(Class _class, char * name, Mod
    return dataMember;
 }
 
-public dllexport DataMember eClass_FindDataMemberAndOffset(Class _class, char * name, uint * offset, Module module, DataMember * subMemberStack, int * subMemberStackPos)
+public dllexport DataMember eClass_FindDataMemberAndOffset(Class _class, const char * name, uint * offset, Module module, DataMember * subMemberStack, int * subMemberStackPos)
 {
    //Time startTime = GetTime();
    DataMember dataMember = null;
@@ -4845,7 +4855,7 @@ public dllexport DataMember eClass_FindDataMemberAndOffset(Class _class, char *
    return dataMember;
 }
 
-public dllexport DataMember eClass_FindDataMemberAndId(Class _class, char * name, int * id, Module module, DataMember * subMemberStack, int * subMemberStackPos)
+public dllexport DataMember eClass_FindDataMemberAndId(Class _class, const char * name, int * id, Module module, DataMember * subMemberStack, int * subMemberStackPos)
 {
    //Time startTime = GetTime();
    DataMember dataMember = null;
@@ -4984,7 +4994,7 @@ public dllexport void eClass_FindNextMember(Class _class, Class * curClass, Data
    }
 }
 
-public dllexport void eInstance_SetMethod(Instance instance, char * name, void * function)     // YET TO BE DECIDED:   , Module module)
+public dllexport void eInstance_SetMethod(Instance instance, const char * name, void * function)     // YET TO BE DECIDED:   , Module module)
 {
    if(instance && name)
    {
@@ -5058,7 +5068,7 @@ public dllexport void eClass_Resize(Class _class, int newSize)
       FixOffsets(deriv.data);
 }
 
-public dllexport DataMember eClass_AddDataMember(Class _class, char * name, char * type, unsigned int size, unsigned int alignment, AccessMode declMode)
+public dllexport DataMember eClass_AddDataMember(Class _class, const char * name, const char * type, unsigned int size, unsigned int alignment, AccessMode declMode)
 {
    if(_class && name)
    {
@@ -5094,7 +5104,7 @@ public dllexport DataMember eClass_AddDataMember(Class _class, char * name, char
    return null;
 }
 
-public dllexport DataMember eMember_AddDataMember(DataMember member, char * name, char * type, unsigned int size, unsigned int alignment, AccessMode declMode)
+public dllexport DataMember eMember_AddDataMember(DataMember member, const char * name, const char * type, unsigned int size, unsigned int alignment, AccessMode declMode)
 {
    if(name && !member.membersAlpha.FindString(name))
    {
@@ -5225,7 +5235,7 @@ public dllexport bool eClass_AddMember(Class _class, DataMember dataMember)
    return true;
 }
 
-public dllexport BitMember eClass_AddBitMember(Class _class, char * name, char * type, int bitSize, int bitPos, AccessMode declMode)
+public dllexport BitMember eClass_AddBitMember(Class _class, const char * name, const char * type, int bitSize, int bitPos, AccessMode declMode)
 {
    if(_class && name && !_class.members.FindString(name))
    {
@@ -5260,7 +5270,7 @@ public dllexport BitMember eClass_AddBitMember(Class _class, char * name, char *
    return null;
 }
 
-static Module Module_Load(Module fromModule, char * name, AccessMode importAccess, bool ensureCOM)
+static Module Module_Load(Module fromModule, const char * name, AccessMode importAccess, bool ensureCOM)
 {
    bool (stdcall * Load)(Module module) = null;
    bool (stdcall * Unload)(Module module) = null;
@@ -5381,17 +5391,17 @@ static Module Module_Load(Module fromModule, char * name, AccessMode importAcces
    return module;
 }
 
-public dllexport Module eModule_Load(Module fromModule, char * name, AccessMode importAccess)
+public dllexport Module eModule_Load(Module fromModule, const char * name, AccessMode importAccess)
 {
    return Module_Load(fromModule, name, importAccess, true);
 }
 
-public dllexport Module eModule_LoadStrict(Module fromModule, char * name, AccessMode importAccess)
+public dllexport Module eModule_LoadStrict(Module fromModule, const char * name, AccessMode importAccess)
 {
    return Module_Load(fromModule, name, importAccess, false);
 }
 
-public dllexport Module eModule_LoadStatic(Module fromModule, char * name, AccessMode importAccess, bool (* Load)(Module module), bool (* Unload)(Module module))
+public dllexport Module eModule_LoadStatic(Module fromModule, const char * name, AccessMode importAccess, bool (* Load)(Module module), bool (* Unload)(Module module))
 {
    Module module;
    for(module = fromModule.application.allModules.first; module; module = module.next)
@@ -5442,7 +5452,7 @@ public dllexport void eModule_Unload(Module fromModule, Module module)
    }
 }
 
-public dllexport void eEnum_AddFixedValue(Class _class, char * string, int value)
+public dllexport void eEnum_AddFixedValue(Class _class, const char * string, int value)
 {
    if(_class && _class.type == enumClass)
    {
@@ -5461,7 +5471,7 @@ public dllexport void eEnum_AddFixedValue(Class _class, char * string, int value
    }
 }
 
-public dllexport int eEnum_AddValue(Class _class, char * string)
+public dllexport int eEnum_AddValue(Class _class, const char * string)
 {
    if(_class && _class.type == enumClass)
    {
@@ -5485,7 +5495,7 @@ public dllexport int eEnum_AddValue(Class _class, char * string)
 static void NameSpace_Free(NameSpace parentNameSpace)
 {
    NameSpace * nameSpace;
-   delete parentNameSpace.name;
+   delete (void *)parentNameSpace.name;
 
    while((nameSpace = (NameSpace *)parentNameSpace.nameSpaces.first))
    {
@@ -5622,8 +5632,8 @@ static void Module_Destructor(Module module)
                break;
             }
       }
-      delete def.name;
-      delete def.value;
+      delete (void *)def.name;
+      delete (void *)def.value;
       module.defines.Delete(def);
    }
 
@@ -5640,12 +5650,12 @@ static void Module_Destructor(Module module)
                break;
             }
       }
-      delete function.name;
-      delete function.dataTypeString;
+      delete (void *)function.name;
+      delete (void *)function.dataTypeString;
       module.functions.Delete(function);
    }
 
-   delete module.name;
+   delete (void *)module.name;
 
    NameSpace_Free(module.privateNameSpace);
    NameSpace_Free(module.publicNameSpace);
@@ -5692,7 +5702,7 @@ default dllexport char * strupr(char *string)
 }
 #endif
 
-public dllexport DefinedExpression eSystem_RegisterDefine(char * name, char * value, Module module, AccessMode declMode)
+public dllexport DefinedExpression eSystem_RegisterDefine(const char * name, const char * value, Module module, AccessMode declMode)
 {
    NameSpace * nameSpace = null;
 
@@ -5752,7 +5762,7 @@ public dllexport DefinedExpression eSystem_RegisterDefine(char * name, char * va
    return null;
 }
 
-public dllexport GlobalFunction eSystem_RegisterFunction(char * name, char * type, void * func, Module module, AccessMode declMode)
+public dllexport GlobalFunction eSystem_RegisterFunction(const char * name, const char * type, void * func, Module module, AccessMode declMode)
 {
    NameSpace * nameSpace = null;
    int start = 0, c;
@@ -5813,7 +5823,7 @@ public dllexport GlobalFunction eSystem_RegisterFunction(char * name, char * typ
    return null;
 }
 
-public dllexport DefinedExpression eSystem_FindDefine(Module module, char * name)
+public dllexport DefinedExpression eSystem_FindDefine(Module module, const char * name)
 {
    if(name && module)
    {
@@ -5827,7 +5837,7 @@ public dllexport DefinedExpression eSystem_FindDefine(Module module, char * name
    return null;
 }
 
-public dllexport GlobalFunction eSystem_FindFunction(Module module, char * name)
+public dllexport GlobalFunction eSystem_FindFunction(Module module, const char * name)
 {
    if(name && module)
    {
@@ -5943,7 +5953,7 @@ public dllexport void eClass_DestructionWatchable(Class _class)
    }
 }
 
-public dllexport void eProperty_SelfWatch(Class _class, char * name, void (*callback)(void *))
+public dllexport void eProperty_SelfWatch(Class _class, const char * name, void (*callback)(void *))
 {
    if(_class)
    {
@@ -6042,7 +6052,7 @@ public dllexport subclass(ClassDesignerBase) eInstance_GetDesigner(Instance inst
    return null;
 }
 
-public bool LocateModule(char * name, char * fileName)
+public bool LocateModule(const char * name, const char * fileName)
 {
    return Instance_LocateModule(name, fileName);
 }
@@ -6088,7 +6098,7 @@ static void LoadCOM(Module module)
    eClass_AddClassProperty(enumClass, "enumSize", "int", null, GetEnumSize).constant = true;
    enumClass.type = systemClass;
 
-   delete enumClass.dataTypeString;
+   delete (void *)enumClass.dataTypeString;
    enumClass.dataTypeString = CopyString(/*"unsigned int"*/"int");
 
    // Create Struct (simple) class
@@ -6115,7 +6125,7 @@ static void LoadCOM(Module module)
                                                                                 sizeof(struct Module), 0, (void *)Module_Constructor, (void *)Module_Destructor, module, baseSystemAccess, publicAccess);
    eClass_AddVirtualMethod(moduleClass, "OnLoad", "bool()", null, publicAccess);
    eClass_AddVirtualMethod(moduleClass, "OnUnload", "void()", null, publicAccess);
-   eClass_AddMethod(moduleClass, "Load", "Module(char * name, AccessMode importAccess)", eModule_Load, publicAccess);
+   eClass_AddMethod(moduleClass, "Load", "Module(const char * name, AccessMode importAccess)", eModule_Load, publicAccess);
    eClass_AddMethod(moduleClass, "Unload", "void(Module module)", eModule_Unload, publicAccess);
    eClass_AddDataMember(moduleClass, "application", "Application", pointerSize, pointerSize, publicAccess);
    eClass_AddDataMember(moduleClass, "classes", "OldList", force64Bits ? 32 : force32Bits ? 20 : sizeof(OldList), pointerSize, publicAccess);
@@ -6124,7 +6134,7 @@ static void LoadCOM(Module module)
    eClass_AddDataMember(moduleClass, "modules", "OldList", force64Bits ? 32 : force32Bits ? 20 : sizeof(OldList), pointerSize, publicAccess);
    eClass_AddDataMember(moduleClass, "prev", "Module", pointerSize, pointerSize, publicAccess);
    eClass_AddDataMember(moduleClass, "next", "Module", pointerSize, pointerSize, publicAccess);
-   eClass_AddDataMember(moduleClass, "name", "char *", pointerSize, pointerSize, publicAccess);
+   eClass_AddDataMember(moduleClass, "name", "const char *", pointerSize, pointerSize, publicAccess);
    eClass_AddDataMember(moduleClass, "library", "void *", pointerSize, pointerSize, publicAccess);
    eClass_AddDataMember(moduleClass, "Unload", "void *", pointerSize, pointerSize, publicAccess);
    eClass_AddDataMember(moduleClass, "importType", "ImportType", sizeof(ImportType), 4, publicAccess);
@@ -6145,7 +6155,7 @@ static void LoadCOM(Module module)
    }
    eClass_AddVirtualMethod(applicationClass, "Main", "void()", null, publicAccess);
    eClass_AddDataMember(applicationClass, "argc", "int", sizeof(int), 4, publicAccess);
-   eClass_AddDataMember(applicationClass, "argv", "char **", pointerSize, pointerSize, publicAccess);
+   eClass_AddDataMember(applicationClass, "argv", "const char **", pointerSize, pointerSize, publicAccess);
    eClass_AddDataMember(applicationClass, "exitCode", "int", sizeof(int), 4, publicAccess);
    eClass_AddDataMember(applicationClass, "isGUIApp", "bool", sizeof(bool), 4, publicAccess);
    eClass_AddDataMember(applicationClass, "allModules", "OldList", force64Bits ? 32 : force32Bits ? 20 : sizeof(OldList), pointerSize, publicAccess);
@@ -6183,8 +6193,8 @@ static void LoadCOM(Module module)
 
    // --- Stdlib ---
    eSystem_RegisterFunction("qsort", "void qsort(void *, uintsize, uintsize, int (*)(void *, void *))", qsort, module, baseSystemAccess);
-   eSystem_RegisterFunction("strtod", "double strtod(char*, char**)", strtod, module, baseSystemAccess);
-   eSystem_RegisterFunction("strtol", "int strtol(char*, char**, int base)", strtol, module, baseSystemAccess);
+   eSystem_RegisterFunction("strtod", "double strtod(const char*, char**)", strtod, module, baseSystemAccess);
+   eSystem_RegisterFunction("strtol", "int strtol(const char*, char**, int base)", strtol, module, baseSystemAccess);
    eSystem_RegisterFunction("system", "int system(const char*)", system, module, baseSystemAccess);
    eSystem_RegisterFunction("atoi", "int atoi(const char*)", atoi, module, baseSystemAccess);
    eSystem_RegisterFunction("atof", "double atof(const char*)", atof, module, baseSystemAccess);
@@ -6232,13 +6242,13 @@ static void LoadCOM(Module module)
    eSystem_RegisterFunction("memcmp", "int memcmp(const void *, const void *, uintsize size)", memcmp, module, baseSystemAccess);
 
    // --- Stdio ---
-   eSystem_RegisterFunction("sprintf", "int sprintf(char *, char *, ...)", sprintf, module, baseSystemAccess);
-   eSystem_RegisterFunction("snprintf", "int sprintf(char *, uintsize, char *, ...)", snprintf, module, baseSystemAccess);
-   eSystem_RegisterFunction("printf", "int printf(char *, ...)", printf, module, baseSystemAccess);
+   eSystem_RegisterFunction("sprintf", "int sprintf(char *, const char *, ...)", sprintf, module, baseSystemAccess);
+   eSystem_RegisterFunction("snprintf", "int sprintf(char *, uintsize, const char *, ...)", snprintf, module, baseSystemAccess);
+   eSystem_RegisterFunction("printf", "int printf(const char *, ...)", printf, module, baseSystemAccess);
    eSystem_RegisterFunction("vsprintf", "int vsprintf(char*, const char*, __builtin_va_list)", vsprintf, module, baseSystemAccess);
    eSystem_RegisterFunction("vsnprintf", "int vsnprintf(char*, uintsize, const char*, __builtin_va_list)", vsnprintf, module, baseSystemAccess);
-   eSystem_RegisterFunction("puts", "int puts(char *)", puts, module, baseSystemAccess);
-   eSystem_RegisterFunction("fputs", "int fputs(char *, void * stream)", fputs, module, baseSystemAccess);
+   eSystem_RegisterFunction("puts", "int puts(const char *)", puts, module, baseSystemAccess);
+   eSystem_RegisterFunction("fputs", "int fputs(const char *, void * stream)", fputs, module, baseSystemAccess);
 
    // --- Ctype ---
    eSystem_RegisterFunction("isalnum", "int isalnum(int c)", isalnum, module, baseSystemAccess);
@@ -6298,7 +6308,7 @@ public dllexport Application __ecere_COM_Initialize(bool guiApp, int argc, char
    return app;
 }
 
-public dllexport ClassTemplateParameter eClass_AddTemplateParameter(Class _class, char * name, TemplateParameterType type, void * info, ClassTemplateArgument defaultArg)
+public dllexport ClassTemplateParameter eClass_AddTemplateParameter(Class _class, const char * name, TemplateParameterType type, const void * info, ClassTemplateArgument defaultArg)
 {
    if(_class && name)
    {
@@ -6352,8 +6362,8 @@ public dllexport void eClass_DoneAddingTemplateParameters(Class base)
          if(param.type == identifier && param.defaultArg.memberString)
          {
             Class memberClass = base;
-            char * colon = strstr(param.defaultArg.memberString, "::");
-            char * memberName;
+            const char * colon = strstr(param.defaultArg.memberString, "::");
+            const char * memberName;
             if(colon)
             {
                char className[1024];
@@ -6445,7 +6455,7 @@ public enum Platform
 {
    unknown, win32, tux, apple;
 
-   property char *
+   property const char *
    {
       get { return OnGetString(null, null, null); }
       set
@@ -6461,7 +6471,7 @@ public enum Platform
       }
    };
 
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       if(this >= firstPlatform && this <= lastPlatform)
       {
@@ -6474,7 +6484,7 @@ public enum Platform
       return null;
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       this = string;
       return this != unknown;
@@ -6513,8 +6523,8 @@ public:
 public class DesignerBase : Window
 {
 public:
-   virtual bool FindObject(Instance * instance, char * string);
-   virtual void RenameObject(ObjectInfo object, char * name);
+   virtual bool FindObject(Instance * instance, const char * string);
+   virtual void RenameObject(ObjectInfo object, const char * name);
    virtual void SelectObjectFromDesigner(ObjectInfo object);
    virtual void CodeAddObject(Instance instance, ObjectInfo * object);
    virtual void SheetAddObject(ObjectInfo object);
@@ -6526,7 +6536,7 @@ public:
    virtual void UpdateProperties(void);
 
    ClassDesignerBase classDesigner;
-   char * objectClass;
+   const char * objectClass;
    bool isDragging;
 
    // FIX THIS WITH PUBLIC:
@@ -6535,7 +6545,7 @@ public:
       get { return classDesigner; }
       set { classDesigner = value; }
    };
-   property char * objectClass
+   property const char * objectClass
    {
       get { return objectClass; }
       set { objectClass = value; }
@@ -6562,7 +6572,7 @@ public:
    virtual void ::DroppedObject(Instance instance, ObjectInfo object, bool isClass, Instance _class);
    virtual void ::DestroyObject(Instance object);
    virtual void ::FixProperty(Property prop, Instance object);
-   virtual void ::CreateNew(EditBox editBox, Size clientSize, char * name, char * inherit);
+   virtual void ::CreateNew(EditBox editBox, Size clientSize, const char * name, const char * inherit);
 }
 
 DesignerBase activeDesigner;
@@ -6591,7 +6601,7 @@ namespace sys;
 define LEAD_OFFSET      = 0xD800 - (0x10000 >> 10);
 define SURROGATE_OFFSET = 0x10000 - (0xD800 << 10) - 0xDC00;
 
-public bool UTF8Validate(char * source)
+public bool UTF8Validate(const char * source)
 {
    if(source)
    {
@@ -6648,7 +6658,7 @@ public bool UTF8Validate(char * source)
    return true;
 }
 
-public int ISO8859_1toUTF8(char * source, char * dest, int max)
+public int ISO8859_1toUTF8(const char * source, char * dest, int max)
 {
    int c;
    int d = 0;
@@ -6690,7 +6700,7 @@ public int ISO8859_1toUTF8(char * source, char * dest, int max)
    return d;
 }
 
-public char * UTF16toUTF8(uint16 * source)
+public char * UTF16toUTF8(const uint16 * source)
 {
    int c;
    int d = 0;
@@ -6744,7 +6754,7 @@ public char * UTF16toUTF8(uint16 * source)
    return dest;
 }
 
-public int UTF16toUTF8Buffer(uint16 * source, byte * dest, int max)
+public int UTF16toUTF8Buffer(const uint16 * source, char * dest, int max)
 {
    int c;
    int d = 0;
@@ -6789,7 +6799,7 @@ public int UTF16toUTF8Buffer(uint16 * source, byte * dest, int max)
 }
 
 // NOTE: UTF8GetChar now returns 0 into numBytes for the null-terminating character ('\0')
-public unichar UTF8GetChar(char * string, int * numBytes)
+public unichar UTF8GetChar(const char * string, int * numBytes)
 {
    unichar ch;
    byte b = ((byte *)string)[0];
@@ -6843,7 +6853,7 @@ public unichar UTF8GetChar(char * string, int * numBytes)
    return ch;
 }
 
-public int UTF8toUTF16Buffer(char * source, uint16 * dest, int max)
+public int UTF8toUTF16Buffer(const char * source, uint16 * dest, int max)
 {
    if(source)
    {
@@ -6898,7 +6908,7 @@ public int UTF8toUTF16Buffer(char * source, uint16 * dest, int max)
    return 0;
 }
 
-public int UTF32toUTF8Len(unichar * source, int count, byte * dest, int max)
+public int UTF32toUTF8Len(const unichar * source, int count, char * dest, int max)
 {
    int c;
    int d = 0;
@@ -6936,7 +6946,7 @@ public int UTF32toUTF8Len(unichar * source, int count, byte * dest, int max)
    return d;
 }
 
-public uint16 * UTF8toUTF16(char * source, int * wordCount)
+public uint16 * UTF8toUTF16(const char * source, int * wordCount)
 {
    if(source)
    {
index 263ef04..de0c050 100644 (file)
@@ -7,7 +7,7 @@ public union Matrix
    double array[16];
    double m[4][4];
 
-   char * OnGetString(char * string, void * fieldData, bool * needClass)
+   const char * OnGetString(char * string, void * fieldData, bool * needClass)
    {
       int y, x;
       string[0] = 0;
@@ -18,7 +18,7 @@ public union Matrix
          for(x = 0; x < 4; x++)
          {
             char member[256];
-            char * s = m[y][x].OnGetString(member, null, null);
+            const char * s = m[y][x].OnGetString(member, null, null);
             strcat(string, s);
             if(x < 3) strcat(string, ", ");
          }
index 55cf64e..4549435 100644 (file)
@@ -6,14 +6,14 @@ public enum FrustumPlacement { outside, inside, intersecting };
 
 public class ObjectFormat
 {
-   class_data char * extension;
-   class_property char * extension
+   class_data const char * extension;
+   class_property const char * extension
    {
       set { class_data(extension) = value; }
       get { return class_data(extension); }
    }
 
-   virtual bool ::Load(Object object, char * fileName, DisplaySystem displaySystem);
+   virtual bool ::Load(Object object, const char * fileName, DisplaySystem displaySystem);
 };
 
 // TODO: Review these:
@@ -654,7 +654,7 @@ public:
       }
    }
 
-   bool Load(char * fileName, char * type, DisplaySystem displaySystem)
+   bool Load(const char * fileName, const char * type, DisplaySystem displaySystem)
    {
       char ext[MAX_EXTENSION];
       subclass(ObjectFormat) format;
@@ -662,10 +662,7 @@ public:
       bool result = false;
 
       if(!type && fileName)
-      {
-         type = GetExtension(fileName, ext);
-         strlwr(type);
-      }
+         type = strlwr(GetExtension(fileName, ext));
 
       for(link = class(ObjectFormat).derivatives.first; link; link = link.next)
       {
@@ -696,7 +693,7 @@ public:
       }
    }
 
-   Object Find(char * name)
+   Object Find(const char * name)
    {
       if(this && name)
       {
@@ -750,7 +747,7 @@ public:
       return null;
    }
 
-   bool AddName(Object object, char * name)
+   bool AddName(Object object, const char * name)
    {
       bool result;
       if(this)
@@ -1267,7 +1264,7 @@ public:
    property Camera camera { get { return camera; } }; // Fix this with inheritance? camera inherit from Object?
    property Object firstChild { get { return children.first; } };
    property Object next { get { return next; } };
-   property char * name { get { return name; } };
+   property const char * name { get { return name; } };
    property Matrix matrix { get { value = matrix; } };
    property Object cameraTarget { set { cameraTarget = value; } get { return cameraTarget; } };
    property OldList * tracks { /* set { tracks = value; } */ get { return &tracks; } };
index 239d30c..2e95ff8 100644 (file)
@@ -10,7 +10,7 @@ namespace gfx3D::meshes;
 ****************************************************************************/
 import "Display"
 
-static char * faceNames[] = { "up", "fr", "dn", "bk", "rt", "lf" };
+static const char * faceNames[] = { "up", "fr", "dn", "bk", "rt", "lf" };
 
 public class SkyBox : Object
 {
@@ -150,8 +150,8 @@ public:
    }
 
    property Vector3Df size { set { size = value; } };
-   property char * folder { set { folder = value; } };
-   property char * extension { set { extension = value; } };
+   property const char * folder { set { folder = value; } };
+   property const char * extension { set { extension = value; } };
 
 private:
    SkyBox()
@@ -162,5 +162,5 @@ private:
    }
 
    Vector3Df size;
-   char * folder, * extension;
+   const char * folder, * extension;
 }
index 7e8a3bc..619579c 100644 (file)
@@ -150,7 +150,7 @@ struct FileInfo
    File f;
    DisplaySystem displaySystem;
    Object rootObject;
-   String fileName;
+   const String fileName;
 
    uint16 chunkId;
    uint pos, end;
@@ -1998,6 +1998,7 @@ static bool ReadKeyFrameChunks(FileInfo * info, void * data)
                {
                   object = Object { };
                   object.name  = new char[strlen(block.dummyName) + strlen(model.name) + 2];
+                  // TODO: When passing a String to a const String, use member if property is const String but member is String
                   sprintf(object.name, "%s.%s", model.name, block.dummyName);
                   object.flags = model.flags;
                   object.flags.ownMesh = false;
@@ -2085,7 +2086,7 @@ class Object3DSFormat : ObjectFormat
 {
    class_property(extension) = "3ds";
 
-   bool Load(Object object, char * fileName, DisplaySystem displaySystem)
+   bool Load(Object object, const char * fileName, DisplaySystem displaySystem)
    {
       bool result = false;
       if(fileName)
index 56fe3d9..a0e890a 100644 (file)
@@ -4,27 +4,27 @@ import "Display"
 
 public class BitmapFormat
 {
-   class_data char ** extensions;
+   class_data const char ** extensions;
 
-   class_property char ** extensions
+   class_property const char ** extensions
    {
       get { return class_data(extensions); }
       set { class_data(extensions) = value; }   }
 
 
    virtual bool ::Load(Bitmap bitmap, File f);
-   virtual bool ::Save(Bitmap bitmap, char * fileName, void * options);
-   virtual ColorAlpha * ::LoadPalette(char * fileName, char * type);
+   virtual bool ::Save(Bitmap bitmap, const char * fileName, void * options);
+   virtual ColorAlpha * ::LoadPalette(const char * fileName, const char * type);
 };
 
-static char * typesToTry[] =
+static const char * typesToTry[] =
 {
    "gif", "jpg", "png", "bmp", "pcx", "memorybmp"
 };
 
 #define NUM_TYPES_TO_TRY   ((int)(sizeof(typesToTry) / sizeof(char *)))
 
-static subclass(BitmapFormat) FindFormat(char * type)
+static subclass(BitmapFormat) FindFormat(const char * type)
 {
    subclass(BitmapFormat) format = null;
    if(type)
@@ -32,7 +32,7 @@ static subclass(BitmapFormat) FindFormat(char * type)
       OldLink link;
       for(link = class(BitmapFormat).derivatives.first; link; link = link.next)
       {
-         char ** extensions;
+         const char ** extensions;
          format = link.data;
          extensions = format.extensions;
          if(extensions)
@@ -50,7 +50,7 @@ static subclass(BitmapFormat) FindFormat(char * type)
    return format;
 }
 
-public ColorAlpha * LoadPalette(char * fileName, char * type)
+public ColorAlpha * LoadPalette(const char * fileName, const char * type)
 {
    char ext[MAX_EXTENSION];
    subclass(BitmapFormat) format;
@@ -59,10 +59,7 @@ public ColorAlpha * LoadPalette(char * fileName, char * type)
    Bitmap bitmap { };
 
    if(!type)
-   {
-      type = GetExtension(fileName, ext);
-      strlwr(type);
-   }
+      type = strlwr(GetExtension(fileName, ext));
 
    if(type)
       format = FindFormat(type);
@@ -465,7 +462,7 @@ public:
    }
 
    // --- Bitmap loading ---
-   bool LoadFromFile(File file, char * type, DisplaySystem displaySystem)
+   bool LoadFromFile(File file, const char * type, DisplaySystem displaySystem)
    {
       bool result = false;
       if(file)
@@ -510,20 +507,17 @@ public:
       return result;
    }
 
-   bool Load(char * fileName, char * type, DisplaySystem displaySystem)
+   bool Load(const char * fileName, const char * type, DisplaySystem displaySystem)
    {
       bool result = false;
       char ext[MAX_EXTENSION];
       subclass(BitmapFormat) format;
       int typeToTry = -1;
-      char * guessedType = type;
+      const char * guessedType = type;
 
       if(!fileName) return false;
       if(!guessedType)
-      {
-         guessedType = GetExtension(fileName, ext);
-         strlwr(guessedType);
-      }
+         guessedType = strlwr(GetExtension(fileName, ext));
 
       if(guessedType)
          format = FindFormat(guessedType);
@@ -568,7 +562,7 @@ public:
       return result;
    }
 
-   bool LoadT(char * fileName, char * type, DisplaySystem displaySystem)
+   bool LoadT(const char * fileName, const char * type, DisplaySystem displaySystem)
    {
       bool result = Load(fileName, type, null);
       if(result)
@@ -586,7 +580,7 @@ public:
 
    #define TRESHOLD  384
 
-   bool LoadGrayed(char * fileName, char * type, DisplaySystem displaySystem)
+   bool LoadGrayed(const char * fileName, const char * type, DisplaySystem displaySystem)
    {
       bool result = Load(fileName, type, null);
       if(result)
@@ -712,7 +706,7 @@ public:
       return result;
    }
 
-   bool LoadMonochrome(char * fileName, char * type, DisplaySystem displaySystem)
+   bool LoadMonochrome(const char * fileName, const char * type, DisplaySystem displaySystem)
    {
       bool result = Load(fileName, type, null);
       if(result)
@@ -765,7 +759,7 @@ public:
       return result;
    }
 
-   bool LoadMipMaps(char * fileName, char * type, DisplaySystem displaySystem)
+   bool LoadMipMaps(const char * fileName, const char * type, DisplaySystem displaySystem)
    {
       bool result = Load(fileName, type, null);
       if(result)
@@ -777,7 +771,7 @@ public:
       return result;
    }
 
-   bool LoadTMipMaps(char * fileName, char * type, DisplaySystem displaySystem)
+   bool LoadTMipMaps(const char * fileName, const char * type, DisplaySystem displaySystem)
    {
       bool result = Load(fileName, type, null);
       if(result)
@@ -790,16 +784,13 @@ public:
       return result;
    }
 
-   bool Save(char * fileName, char * type, void * options)
+   bool Save(const char * fileName, const char * type, void * options)
    {
       char ext[MAX_EXTENSION];
       subclass(BitmapFormat) format;
 
       if(!type)
-      {
-         type = GetExtension(fileName, ext);
-         strlwr(type);
-      }
+         type = strlwr(GetExtension(fileName, ext));
 
       if(type)
          format = FindFormat(type);
@@ -840,7 +831,7 @@ public:
       return result;
    }
 
-   bool Allocate(char * driverName, int width, int height, int stride, PixelFormat format, bool allocatePalette)
+   bool Allocate(const char * driverName, int width, int height, int stride, PixelFormat format, bool allocatePalette)
    {
       bool result = false;
       subclass(DisplayDriver) displayDriver = driverName ? GetDisplayDriver(driverName) : ((subclass(DisplayDriver))class(LFBDisplayDriver));
index 495d132..52e0a66 100644 (file)
@@ -101,7 +101,7 @@ public class BitmapResource : Resource
             fileDialog.master = rootWindow;
             if(fileDialog.Modal() == ok)
             {
-               char * filePath = fileDialog.filePath;
+               const char * filePath = fileDialog.filePath;
                BitmapResource resource { fileName = filePath };
 
                master.SetData(resource, false);
@@ -147,7 +147,7 @@ public class BitmapResource : Resource
    }
 
 public:
-   property char * fileName
+   property const char * fileName
    {
       set
       {
index e98a693..dd09af8 100644 (file)
@@ -38,7 +38,7 @@ public:
 
    Window OnEdit(Window dataBox, Window master, int x, int y, int w, int h, Window control)
    {
-      char * string = "";
+      const char * string = "";
       ColorDropBox colorDropBox
       {
          dataBox, master = master, editText = true, //position = Point { x + 24, y }, /*clientSize.h = */size.h = h, size.w = w - 24,
@@ -50,7 +50,7 @@ public:
       //if(this)
       {
          char tempString[MAX_F_STRING];
-         char * result;
+         const char * result;
          bool needClass = false;
          tempString[0] = 0;
          result = OnGetString(tempString, null, &needClass);
@@ -62,9 +62,9 @@ public:
       return colorDropBox;
    }
 
-   char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
+   const char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
    {
-      char * string;
+      const char * string;
       if((string = ((DefinedColor)this).class::OnGetString(stringOutput, null, needClass)) ||
          (string = ((SystemColor)this).class::OnGetString(stringOutput, null, needClass)))
       {
@@ -74,7 +74,7 @@ public:
       else
       {
          char tempString[256];
-         char * colorValue;
+         const char * colorValue;
          bool subNeedClass;
          int value;
 
@@ -102,7 +102,7 @@ public:
       }
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       if(!atoi(string) && (((DefinedColor)this).class::OnGetDataFromString(string) ||
          ((SystemColor)this).class::OnGetDataFromString(string)))
@@ -111,7 +111,7 @@ public:
          return class::OnGetDataFromString(string);
    }
 
-   void OnDisplay(Surface surface, int x, int y, int width, char * fieldData, Alignment alignment, DataDisplayFlags displayFlags)
+   void OnDisplay(Surface surface, int x, int y, int width, void * fieldData, Alignment alignment, DataDisplayFlags displayFlags)
    {
       char tempString[1024] = "";
       bool needClass = false;
@@ -121,7 +121,7 @@ public:
       // - Color property in IDE is fine as well
       // - How is it on Linux?
       int yOffset = 0;//(1+surface.box.bottom - surface.box.top - 17)/2;
-      char * string = OnGetString(tempString, null, &needClass);
+      const char * string = OnGetString(tempString, null, &needClass);
       surface.WriteTextDots(alignment, x + 24, y + 1, width - 24, string, strlen(string));
 
       // Erase background?
@@ -590,7 +590,7 @@ public enum SystemColor : Color
 
 private class ColorValue : Color
 {
-   void OnDisplay(Surface surface, int x, int y, int width, char * fieldData, Alignment alignment, DataDisplayFlags displayFlags)
+   void OnDisplay(Surface surface, int x, int y, int width, void * fieldData, Alignment alignment, DataDisplayFlags displayFlags)
    {
       // surface.WriteTextDots(alignment, x + 24, y + 1, width - 24, string, strlen(string));
       surface.SetBackground(this);
@@ -655,7 +655,7 @@ private class ColorValue : Color
       {
          char tempString[1024] = "";
          bool needClass = false;
-         char * string = color.OnGetString(tempString, null, &needClass);
+         const char * string = color.OnGetString(tempString, null, &needClass);
          contents = string;
       }
       OnKeyDown(escape, 0);
@@ -721,7 +721,7 @@ private class ColorValue : Color
             {
                char tempString[1024] = "";
                bool needClass = false;
-               char * string = color.OnGetString(tempString, null, &needClass);
+               const char * string = color.OnGetString(tempString, null, &needClass);
                contents = string;
             }
          }
@@ -849,7 +849,7 @@ private class ColorValue : Color
       pullDown.Destroy(0);
    }
 
-   bool DataBox::NotifyTextEntry(ColorDropBox colorDropBox, char * string, bool save)
+   bool DataBox::NotifyTextEntry(ColorDropBox colorDropBox, const char * string, bool save)
    {
       if(save)
       {
@@ -861,7 +861,7 @@ private class ColorValue : Color
       {
          char tempString[1024] = "";
          bool needClass = false;
-         char * string = colorDropBox.color.OnGetString(tempString,null, &needClass);
+         const char * string = colorDropBox.color.OnGetString(tempString, null, &needClass);
          colorDropBox.contents = string;
       }
       return true;
index 66388ad..5229da4 100644 (file)
@@ -52,7 +52,7 @@ __attribute__((unused)) static void DummyFunction()
 public class DisplayDriver
 {
 public:
-   class_data char * name;
+   class_data const char * name;
    class_data bool textMode;
    class_data bool printer;
    class_data DisplaySystem displaySystem;
@@ -63,7 +63,7 @@ public:
       get { return class_data(displaySystem); }
    };
 
-   class_property char * name
+   class_property const char * name
    {
       set { class_data(name) = value; }
       get { return class_data(name); }
@@ -125,7 +125,7 @@ public:
    virtual bool ::MakeDDBitmap(DisplaySystem, Bitmap, bool);
 
    // Font loading
-   virtual Font ::LoadFont(DisplaySystem displaySystem, char * faceName, float size, FontFlags flags);
+   virtual Font ::LoadFont(DisplaySystem displaySystem, const char * faceName, float size, FontFlags flags);
    virtual void ::UnloadFont(DisplaySystem, Font);
 
    // 2D Drawing
@@ -146,9 +146,9 @@ public:
    virtual void ::FilterDI(Display, Surface, Bitmap, int, int, int, int, int, int, int,int);
    virtual void ::TextFont(Display, Surface, Font);
    virtual void ::TextOpacity(Display, Surface, bool);
-   virtual void ::WriteText(Display, Surface, int, int, char *, int);
-   virtual void ::TextExtent(Display, Surface, char *, int, int *, int *);
-   virtual void ::FontExtent(DisplaySystem, Font, char *, int, int *, int *);
+   virtual void ::WriteText(Display, Surface, int, int, const char *, int);
+   virtual void ::TextExtent(Display, Surface, const char *, int, int *, int *);
+   virtual void ::FontExtent(DisplaySystem, Font, const char *, int, int *, int *);
    virtual void ::DrawingChar(Display, Surface, char);
    virtual void ::NextPage(Display);
 #if !defined(ECERE_VANILLA) && !defined(ECERE_NO3D)
@@ -177,7 +177,7 @@ public:
 public enum Alignment { left, right, center };
 public enum ClearType { colorBuffer, depthBuffer, colorAndDepth };
 
-subclass(DisplayDriver) GetDisplayDriver(char * driverName)
+subclass(DisplayDriver) GetDisplayDriver(const char * driverName)
 {
    if(driverName)
    {
@@ -192,7 +192,7 @@ subclass(DisplayDriver) GetDisplayDriver(char * driverName)
    return null;
 }
 
-DisplaySystem GetDisplaySystem(char * driverName)
+DisplaySystem GetDisplaySystem(const char * driverName)
 {
    subclass(DisplayDriver) displayDriver = GetDisplayDriver(driverName);
    return displayDriver ? displayDriver.displaySystem : null;
@@ -502,7 +502,7 @@ public:
       return result;
    }
 
-   void FontExtent(Font font, char * text, int len, int * width, int * height)
+   void FontExtent(Font font, const char * text, int len, int * width, int * height)
    {
       // Fix for OnLoadGraphics time alpha blended window text extent on GDI
 #if defined(__WIN32__) && !defined(ECERE_NOTRUETYPE)
@@ -1713,13 +1713,13 @@ private class Display3D
 };
 #endif
 
-bool IsDriverTextMode(char * driverName)
+bool IsDriverTextMode(const char * driverName)
 {
    subclass(DisplayDriver) driver = GetDisplayDriver(driverName);
    return driver ? driver.textMode : false;
 }
 
-bool IsDriverPrinter(char * driverName)
+bool IsDriverPrinter(const char * driverName)
 {
    subclass(DisplayDriver) driver = GetDisplayDriver(driverName);
    return driver ? driver.printer : false;
index 86308e3..9506095 100644 (file)
@@ -54,7 +54,7 @@ public:
          driver.displaySystem = null;
    }
 
-   bool Create(char * driverName, void * window, bool fullScreen)
+   bool Create(const char * driverName, void * window, bool fullScreen)
    {
       bool result = false;
       subclass(DisplayDriver) displayDriver = GetDisplayDriver(driverName);
@@ -79,7 +79,7 @@ public:
       return result;
    }
 
-   Font LoadFont(char * faceName, float size, FontFlags flags)
+   Font LoadFont(const char * faceName, float size, FontFlags flags)
    {
       Font result = null;
       subclass(DisplayDriver) driver = this ? this.driver : ((subclass(DisplayDriver))class(LFBDisplayDriver));
@@ -109,7 +109,7 @@ public:
       driver.UnloadFont(this, font);
    }
 
-   void FontExtent(Font font, byte * text, int len, int * width, int * height)
+   void FontExtent(Font font, const char * text, int len, int * width, int * height)
    {
       if(this && text)
          driver.FontExtent(this, font, text, len, width, height);
@@ -189,7 +189,7 @@ public:
 #if !defined(ECERE_VANILLA) && !defined(ECERE_NO3D)
    // --- Materials List Management ---
 
-   Material AddNamedMaterial(char * name)
+   Material AddNamedMaterial(const char * name)
    {
       Material material = materials.FindName(name, false);
       if(!material)
@@ -216,7 +216,7 @@ public:
       return true;
    }
 
-   Material GetMaterial(char * name)
+   Material GetMaterial(const char * name)
    {
       return materials.FindName(name, false);
    }
@@ -235,7 +235,7 @@ public:
 
    // --- Textures List Management ---
 
-   NamedLink AddTexture(char * name, Bitmap bitmap)
+   NamedLink AddTexture(const char * name, Bitmap bitmap)
    {
       NamedLink item { };
       if(item)
@@ -249,12 +249,12 @@ public:
       return item;
    }
 
-   Bitmap GetTexture(char * name)
+   Bitmap GetTexture(const char * name)
    {
       return textures.FindNamedLink(name, false);
    }
 
-   bool RemoveTexture(char * name)
+   bool RemoveTexture(const char * name)
    {
       NamedLink item = textures.FindName(name, false);
       if(item)
index 22a3afd..1d7cb03 100644 (file)
@@ -5,7 +5,7 @@ import "Window"
 public class FontResource : Resource
 {
 public:
-   property char * faceName { set { delete faceName; faceName = CopyString(value); } get { return this ? faceName : null; } };
+   property const char * faceName { set { delete faceName; faceName = CopyString(value); } get { return this ? faceName : null; } };
    property float size { set { size = value; } get { return this ? size : 0; } };
    property bool bold { set { flags.bold = value; } get { return this ? flags.bold : false; } };
    property bool italic { set { flags.italic = value; } get { return this ? flags.italic : false; } };
@@ -87,7 +87,7 @@ private:
       return result;
    }
 
-   char * OnGetString(char * string, void * fieldDat, bool * needClass)
+   const char * OnGetString(char * string, void * fieldDat, bool * needClass)
    {
       if(this)
       {
@@ -101,7 +101,7 @@ private:
       return null;
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       this = (string && string[0]) ? FontResource { } : null;
       if(this)
index 3a64ff7..3f65498 100644 (file)
@@ -278,18 +278,18 @@ public:
       }
    }
 
-   void WriteText(int x, int y, char * text, int len)
+   void WriteText(int x, int y, const char * text, int len)
    {
       if(text)
          driver.WriteText(display, this, x,y, text, len);
    }
 
-   void TextExtent(char * text, int len, int * width, int * height)
+   void TextExtent(const char * text, int len, int * width, int * height)
    {
       driver.TextExtent(display, this, text, len, width, height);
    }
 
-   void WriteTextf(int x, int y, char * format, ...)
+   void WriteTextf(int x, int y, const char * format, ...)
    {
       if(format)
       {
@@ -303,7 +303,7 @@ public:
       }
    }
 
-   void CenterTextf(int x, int y, char * format, ...)
+   void CenterTextf(int x, int y, const char * format, ...)
    {
       if(format)
       {
@@ -322,7 +322,7 @@ public:
       }
    }
 
-   void WriteTextDots(Alignment alignment, int x, int y, int width, char * text, int len)
+   void WriteTextDots(Alignment alignment, int x, int y, int width, const char * text, int len)
    {
       int w, h;
 
@@ -363,7 +363,7 @@ public:
       }
    }
 
-   void WriteTextDotsf(Alignment alignment, int x, int y, int width, char * format, ...)
+   void WriteTextDotsf(Alignment alignment, int x, int y, int width, const char * format, ...)
    {
       if(format)
       {
index 3bd05cf..61c0c1f 100644 (file)
@@ -266,8 +266,8 @@ static bool LoadBMP(Bitmap bitmap, File f, BMPHead header, BMPInfo info)
    return result;
 }
 
-static char * extensions[] = { "bmp", null };
-static char * extensionsMem[] = { "memorybmp", null };
+static const char * extensions[] = { "bmp", null };
+static const char * extensionsMem[] = { "memorybmp", null };
 
 class MEMORYBMPFormat : BitmapFormat
 {
@@ -316,7 +316,7 @@ class BMPFormat : BitmapFormat
       return result;
    }
 
-   bool Save(Bitmap bitmap, char * filename, void * options)
+   bool Save(Bitmap bitmap, const char * filename, void * options)
    {
       bool result = false;
       if(bitmap.pixelFormat == pixelFormat8 || bitmap.pixelFormat == pixelFormat888)
@@ -482,7 +482,7 @@ class BMPFormat : BitmapFormat
       return result;
    }
 
-   ColorAlpha * LoadPalette(char * fileName, char * type)
+   ColorAlpha * LoadPalette(const char * fileName, const char * type)
    {
       ColorAlpha * result = null;
       File f = FileOpen(fileName, read);
index 90003fb..9020e0d 100644 (file)
@@ -16,7 +16,7 @@ static int ReadData(GifFileType * gifFile, GifByteType * bytes, int size)
    return f.Write(bytes, 1, size);
 }
 */
-static char * extensions[] = { "gif", null };
+static const char * extensions[] = { "gif", null };
 
 class GIFFormat : BitmapFormat
 {
@@ -113,13 +113,13 @@ class GIFFormat : BitmapFormat
       return result;
    }
 
-   bool Save(Bitmap bitmap, char * filename, void * options)
+   bool Save(Bitmap bitmap, const char * filename, void * options)
    {
       bool result = false;
       return result;
    }
 
-   ColorAlpha * LoadPalette(char * fileName, char * type)
+   ColorAlpha * LoadPalette(const char * fileName, const char * type)
    {
       ColorAlpha * result = null;
       return result;
index f34cdc8..0c0d503 100644 (file)
@@ -178,7 +178,7 @@ static void JPEG_SetDestination(j_compress_ptr cinfo, File outfile)
 }
 
 // BITMAP DRIVER
-static char * extensions[] = { "jpg", "jpeg", null };
+static const char * extensions[] = { "jpg", "jpeg", null };
 
 class JPGFormat : BitmapFormat
 {
@@ -241,7 +241,7 @@ class JPGFormat : BitmapFormat
       return result;
    }
 
-   bool Save(Bitmap bitmap, char *filename, void * options)
+   bool Save(Bitmap bitmap, const char *filename, void * options)
    {
       bool result = false;
       if(bitmap.pixelFormat == pixelFormat888)
@@ -305,7 +305,7 @@ class JPGFormat : BitmapFormat
       return result;
    }
 
-   ColorAlpha * LoadPalette(char * fileName, char * type)
+   ColorAlpha * LoadPalette(const char * fileName, const char * type)
    {
       ColorAlpha * result = null;
       return result;
index 79f7f40..05a5f30 100644 (file)
@@ -27,7 +27,7 @@ static struct PCXHead
 
 #define BUFLEN 1024
 
-static char * extensions[] = { "pcx", null };
+static const char * extensions[] = { "pcx", null };
 
 class PCXFormat : BitmapFormat
 {
@@ -158,7 +158,7 @@ class PCXFormat : BitmapFormat
       return result;
    }
 
-   bool Save(Bitmap bitmap, char *filename, void * options)
+   bool Save(Bitmap bitmap, const char *filename, void * options)
    {
       bool result = false;
       if(bitmap.pixelFormat == pixelFormat8 || bitmap.pixelFormat == pixelFormat888)
@@ -314,7 +314,7 @@ class PCXFormat : BitmapFormat
       return result;
    }
 
-   ColorAlpha * LoadPalette(char * fileName, char * type)
+   ColorAlpha * LoadPalette(const char * fileName, const char * type)
    {
       ColorAlpha * result = null;
       File f = FileOpen(fileName, read);
index ead35a7..22de51a 100644 (file)
@@ -50,7 +50,7 @@ static void WriteData(png_structp png, png_bytep bytes, png_size_t size)
    f.Write(bytes, 1, (uint)size);
 }
 
-static char * extensions[] = { "png", null };
+static const char * extensions[] = { "png", null };
 
 class PNGFormat : BitmapFormat
 {
@@ -245,7 +245,7 @@ class PNGFormat : BitmapFormat
       return result;
    }
 
-   bool Save(Bitmap bitmap, char *filename, void * options)
+   bool Save(Bitmap bitmap, const char *filename, void * options)
    {
       bool result = false;
       Bitmap tempBitmap = null;
@@ -301,7 +301,7 @@ class PNGFormat : BitmapFormat
       return result;
    }
 
-   ColorAlpha * LoadPalette(char * fileName, char * type)
+   ColorAlpha * LoadPalette(const char * fileName, const char * type)
    {
       ColorAlpha * result = null;
       return result;
index 361d096..9356775 100644 (file)
@@ -2,7 +2,7 @@ namespace gfx::bitmaps;
 
 import "Display"
 
-static char * extensions[] = { "rgb", null };
+static const char * extensions[] = { "rgb", null };
 
 class RGBFormat : BitmapFormat
 {
@@ -13,12 +13,12 @@ class RGBFormat : BitmapFormat
       return false;
    }
 
-   bool Save(Bitmap bitmap, char * filename, void * options)
+   bool Save(Bitmap bitmap, const char * filename, void * options)
    {
       return false;
    }
 
-   ColorAlpha * LoadPalette(char * fileName, char * type)
+   ColorAlpha * LoadPalette(const char * fileName, const char * type)
    {
       ColorAlpha * result = null;
       File f = FileOpen(fileName, read);
index 82b1892..75ccbda 100644 (file)
@@ -969,7 +969,7 @@ class CocoaOpenGLDisplayDriver : DisplayDriver
       LFBDisplayDriver::UnloadFont(displaySystem, font);
    }
 
-   Font LoadFont(DisplaySystem displaySystem, char * faceName, float size, FontFlags flags)
+   Font LoadFont(DisplaySystem displaySystem, const char * faceName, float size, FontFlags flags)
    {
       Font font = LFBDisplayDriver::LoadFont(displaySystem, faceName, size, flags);
 
@@ -978,13 +978,13 @@ class CocoaOpenGLDisplayDriver : DisplayDriver
       return font;
    }
 
-   void FontExtent(DisplaySystem displaySystem, Font font, char * text, int len, int * width, int * height)
+   void FontExtent(DisplaySystem displaySystem, Font font, const char * text, int len, int * width, int * height)
    {
       printf("CocoaOpenGLDisplayDriver:FontExtent() %s:%i\n", __FILE__, __LINE__);
       LFBDisplayDriver::FontExtent(displaySystem, font, text, len, width, height);
    }
 
-   void WriteText(Display display, Surface surface, int x, int y, char * text, int len)
+   void WriteText(Display display, Surface surface, int x, int y, const char * text, int len)
    {
       SurfaceData surfaceData = surface.driverData;
       SystemData systemData = display.displaySystem.driverData;
@@ -1028,7 +1028,7 @@ class CocoaOpenGLDisplayDriver : DisplayDriver
       printf("CocoaOpenGLDisplayDriver:TextOpacity(%i) %s:%i\n", opaque, __FILE__, __LINE__);
    }
 
-   void TextExtent(Display display, Surface surface, char * text, int len, int * width, int * height)
+   void TextExtent(Display display, Surface surface, const char * text, int len, int * width, int * height)
    {
       SurfaceData surfaceData = surface.driverData;
       SystemData systemData = display.displaySystem.driverData;
index a0c8441..e4ccc6e 100644 (file)
@@ -982,7 +982,7 @@ class Direct3D8DisplayDriver : DisplayDriver
       ((subclass(DisplayDriver))class(LFBDisplayDriver)).UnloadFont(displaySystem, font);
    }
 
-   Font LoadFont(DisplaySystem displaySystem, char * faceName, float size, FontFlags flags)
+   Font LoadFont(DisplaySystem displaySystem, const char * faceName, float size, FontFlags flags)
    {
       return ((subclass(DisplayDriver))class(LFBDisplayDriver)).LoadFont(displaySystem, faceName, size, flags);
    }
@@ -998,12 +998,12 @@ class Direct3D8DisplayDriver : DisplayDriver
       d3dSurface.opaqueText = opaque;
    }
 
-   void FontExtent(DisplaySystem displaySystem, Font font, byte * text, int len, int * width, int * height)
+   void FontExtent(DisplaySystem displaySystem, Font font, const char * text, int len, int * width, int * height)
    {
       ((subclass(DisplayDriver))class(LFBDisplayDriver)).FontExtent(displaySystem, font, text, len, width, height);
    }
 
-   void WriteText(Display display, Surface surface, int x, int y, byte * text, int len)
+   void WriteText(Display display, Surface surface, int x, int y, const char * text, int len)
    {
       DisplaySystem displaySystem = display.displaySystem;
       D3D8System d3dSystem = displaySystem.driverData;
@@ -1042,7 +1042,7 @@ class Direct3D8DisplayDriver : DisplayDriver
       IDirect3DDevice8_SetTextureStageState(d3dSystem.d3dDevice, 0, D3DTSS_MIPFILTER, D3DTEXF_LINEAR); //NONE);
    }
 
-   void TextExtent(Display display, Surface surface, byte * text, int len, int * width, int * height)
+   void TextExtent(Display display, Surface surface, const char * text, int len, int * width, int * height)
    {
       ((subclass(DisplayDriver))class(LFBDisplayDriver)).TextExtent(display, surface, text, len, width, height);
    }
index 6488fef..b614776 100644 (file)
@@ -994,7 +994,7 @@ class Direct3D9DisplayDriver : DisplayDriver
       ((subclass(DisplayDriver))class(LFBDisplayDriver)).UnloadFont(displaySystem, font);
    }
 
-   Font LoadFont(DisplaySystem displaySystem, char * faceName, float size, FontFlags flags)
+   Font LoadFont(DisplaySystem displaySystem, const char * faceName, float size, FontFlags flags)
    {
       return ((subclass(DisplayDriver))class(LFBDisplayDriver)).LoadFont(displaySystem, faceName, size, flags);
    }
@@ -1010,12 +1010,12 @@ class Direct3D9DisplayDriver : DisplayDriver
       d3dSurface.opaqueText = opaque;
    }
 
-   void FontExtent(DisplaySystem displaySystem, Font font, char * text, int len, int * width, int * height)
+   void FontExtent(DisplaySystem displaySystem, Font font, const char * text, int len, int * width, int * height)
    {
       ((subclass(DisplayDriver))class(LFBDisplayDriver)).FontExtent(displaySystem, font, text, len, width, height);
    }
 
-   void WriteText(Display display, Surface surface, int x, int y, char * text, int len)
+   void WriteText(Display display, Surface surface, int x, int y, const char * text, int len)
    {
       DisplaySystem displaySystem = display.displaySystem;
       D3DSystem d3dSystem = displaySystem.driverData;
@@ -1054,7 +1054,7 @@ class Direct3D9DisplayDriver : DisplayDriver
       IDirect3DDevice9_SetSamplerState(d3dSystem.d3dDevice, 0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR);
    }
 
-   void TextExtent(Display display, Surface surface, char * text, int len, int * width, int * height)
+   void TextExtent(Display display, Surface surface, const char * text, int len, int * width, int * height)
    {
       ((subclass(DisplayDriver))class(LFBDisplayDriver)).TextExtent(display, surface, text, len, width, height);
    }
index fe25ea9..5d30cf0 100644 (file)
@@ -573,7 +573,7 @@ class DirectDrawDisplayDriver : DisplayDriver
    #endif
    }
 
-   Font LoadFont(DisplaySystem displaySystem, char * faceName, float size, FontFlags flags)
+   Font LoadFont(DisplaySystem displaySystem, const char * faceName, float size, FontFlags flags)
    {
    #ifdef USE_GDI_FONT
       void * font;
@@ -633,7 +633,7 @@ class DirectDrawDisplayDriver : DisplayDriver
    #endif
    }
 
-   void WriteText(Display display, Surface surface, int x, int y, byte * text, int len)
+   void WriteText(Display display, Surface surface, int x, int y, const char * text, int len)
    {
    #ifdef USE_GDI_FONT
       DDrawDisplay ddrawDisplay = display.driverData;
@@ -686,7 +686,7 @@ class DirectDrawDisplayDriver : DisplayDriver
    #endif
    }
 
-   void FontExtent(DisplaySystem displaySystem, Font font, byte * text, int len, int * width, int * height)
+   void FontExtent(DisplaySystem displaySystem, Font font, const char * text, int len, int * width, int * height)
    {
    #ifdef USE_GDI_FONT
       if(false) //display.alphaBlend)
@@ -728,7 +728,7 @@ class DirectDrawDisplayDriver : DisplayDriver
    #endif
    }
 
-   void TextExtent(Display display, Surface surface, byte * text, int len, int * width, int * height)
+   void TextExtent(Display display, Surface surface, const char * text, int len, int * width, int * height)
    {
    #ifdef USE_GDI_FONT
       /*if(display && display.alphaBlend)
index c49b7a3..7b4453b 100644 (file)
@@ -847,7 +847,7 @@ class GDIDisplayDriver : DisplayDriver
       Filter(display, surface, src, dx, dy, sx, sy, w, h, sw, sh);
    }
 
-   Font LoadFont(DisplaySystem displaySystem, char * faceName, float size, FontFlags flags)
+   Font LoadFont(DisplaySystem displaySystem, const char * faceName, float size, FontFlags flags)
    {
       if(false) //display.alphaBlend)
          return ((subclass(DisplayDriver))class(LFBDisplayDriver)).LoadFont(displaySystem, faceName, size, flags);
@@ -914,7 +914,7 @@ class GDIDisplayDriver : DisplayDriver
       }
    }
 
-   void WriteText(Display display, Surface surface, int x, int y, char * text, int len)
+   void WriteText(Display display, Surface surface, int x, int y, const char * text, int len)
    {
       if(display.alphaBlend && display.pixelFormat == pixelFormat888)
       {
@@ -953,7 +953,7 @@ class GDIDisplayDriver : DisplayDriver
       }
    }
 
-   void TextExtent(Display display, Surface surface, char * text, int len, int * width, int * height)
+   void TextExtent(Display display, Surface surface, const char * text, int len, int * width, int * height)
    {
       if(display && display.alphaBlend && display.pixelFormat == pixelFormat888)
          ((subclass(DisplayDriver))class(LFBDisplayDriver)).TextExtent(display, surface, text, len, width, height);
@@ -982,7 +982,7 @@ class GDIDisplayDriver : DisplayDriver
       }
    }
 
-   void FontExtent(DisplaySystem displaySystem, Font font, char * text, int len, int * width, int * height)
+   void FontExtent(DisplaySystem displaySystem, Font font, const char * text, int len, int * width, int * height)
    {
       if(false) //display.alphaBlend)
         ((subclass(DisplayDriver))class(LFBDisplayDriver)).FontExtent(displaySystem, font, text, len, width, height);
index f4f778f..f8ed6f0 100644 (file)
@@ -66,7 +66,7 @@ import "Direct3D9DisplayDriver"
 
 static HB_Script theCurrentScript;
 
-static unichar UTF16GetChar(uint16 *string, int * nw)
+static unichar UTF16GetChar(const uint16 *string, int * nw)
 {
    unichar ch;
    if(HB_IsHighSurrogate(string[0]) && HB_IsLowSurrogate(string[1]))
@@ -82,7 +82,7 @@ static unichar UTF16GetChar(uint16 *string, int * nw)
    return ch;
 }
 
-static HB_Bool hb_stringToGlyphs(HB_Font font, uint16 * string, uint length, HB_Glyph *glyphs, uint *numGlyphs, HB_Bool rightToLeft)
+static HB_Bool hb_stringToGlyphs(HB_Font font, const uint16 * string, uint length, HB_Glyph *glyphs, uint *numGlyphs, HB_Bool rightToLeft)
 {
    FT_Face face = ((FontEntry)font->userData).face;
    int glyph_pos = 0;
@@ -135,7 +135,7 @@ static void hb_getAdvances(HB_Font font, const HB_Glyph * glyphs, uint numGlyphs
    }
 }
 
-static HB_Bool hb_canRender(HB_Font font, uint16 * string, uint length)
+static HB_Bool hb_canRender(HB_Font font, const uint16 * string, uint length)
 {
    FT_Face face = ((FontEntry)font->userData).face;
    int c, nw;
@@ -284,8 +284,7 @@ class FontEntry : BTNode
 
    ~FontEntry()
    {
-      char * fileName = (char *)key;
-      delete fileName;
+      delete (char *)key;
       delete buffer;
       if(hbFace)
          HB_FreeFace(hbFace);
@@ -839,7 +838,7 @@ static int CALLBACK MyFontProc(ENUMLOGFONTEX * font, NEWTEXTMETRICEX *lpntme, in
                char * occurence;
                if(RegEnumValue(key, value++, entryName, &size, null, (PDWORD)&type, (LPBYTE)fontFileName, &sizeFileName) != ERROR_SUCCESS)
                   break;
-               if((occurence = SearchString((char *)entryName, 0, (char *)font->elfFullName, false, false)))
+               if((occurence = SearchString(entryName, 0, (const char *)font->elfFullName, false, false)))
                {
                   int c;
                   for(c = (int)(occurence - entryName) - 1; c >= 0; c--)
@@ -2769,7 +2768,7 @@ public class LFBDisplayDriver : DisplayDriver
       }
    }
 
-   Font LoadFont(DisplaySystem displaySystem, char * faceName, float size, FontFlags flags)
+   Font LoadFont(DisplaySystem displaySystem, const char * faceName, float size, FontFlags flags)
    {
       void * result = null;
 
@@ -2783,7 +2782,7 @@ public class LFBDisplayDriver : DisplayDriver
 #if !defined(__WIN32__)
          File linkCfg;
 #endif
-         char * ecereFonts = getenv("ECERE_FONTS");
+         const char * ecereFonts = getenv("ECERE_FONTS");
          if(!ecereFonts) ecereFonts = "<:ecere>";
 #if !defined(__WIN32__)
          {
@@ -3171,7 +3170,7 @@ public class LFBDisplayDriver : DisplayDriver
    }
 
 #if !defined(ECERE_NOTRUETYPE)
-   void ::ProcessString(Font font, DisplaySystem displaySystem, byte * text, int len,
+   void ::ProcessString(Font font, DisplaySystem displaySystem, const byte * text, int len,
                         void (* callback)(Surface surface, Display display, int x, int y, GlyphInfo * glyph, Bitmap bitmap),
                         Surface surface, Display display, int * x, int y)
    {
@@ -3204,19 +3203,19 @@ public class LFBDisplayDriver : DisplayDriver
             else
             {
                HB_Script curScript = HB_Script_Common;
-               byte * scriptStart = text + c;
+               const byte * scriptStart = text + c;
                //unichar nonASCIIch = 0;
                unichar ch;
                unichar ahead = 0;
                unichar testChar = 0;
 #if !defined(__WIN32__) && !defined(ECERE_NOFONTCONFIG)
-               char * testLang = null;
+               const char * testLang = null;
 #endif
 
                while(true)
                {
                   HB_Script script = HB_Script_Common;
-                  ch = UTF8GetChar((char *)text + c, &nb);
+                  ch = UTF8GetChar((const char *)text + c, &nb);
                   //if(ch > 127) nonASCIIch = ch;
                   if(!nb) break;
                   if(ch == 32 && curScript)
@@ -3234,7 +3233,7 @@ public class LFBDisplayDriver : DisplayDriver
                         if(a < c + len)
                         {
                            int nb;
-                           unichar ahead = UTF8GetChar((char *)text + a, &nb);
+                           unichar ahead = UTF8GetChar((const char *)text + a, &nb);
                            if((ahead >= 0x590 && ahead <= 0x7C0) || (ahead >= 0xFB1D && ahead <= 0xFB4F) || (ahead >= 0xFB50 && ahead <= 0xFDFF))
                               script = curScript;
                         }
@@ -3310,7 +3309,7 @@ public class LFBDisplayDriver : DisplayDriver
                      utf16 = renew utf16 uint16[max];
                      utf16BufferSize = max;
                   }
-                  wc = UTF8toUTF16BufferLen((char *)scriptStart, utf16, max, len);
+                  wc = UTF8toUTF16BufferLen((const char *)scriptStart, utf16, max, len);
                   theCurrentScript = glyphScript = curScript;
                }
                switch(curScript)
@@ -3547,7 +3546,7 @@ public class LFBDisplayDriver : DisplayDriver
    }
 
 #endif
-   void FontExtent(DisplaySystem displaySystem, Font font, byte * text, int len, int * width, int * height)
+   void FontExtent(DisplaySystem displaySystem, Font font, const char * text, int len, int * width, int * height)
    {
       if(displaySystem && displaySystem.flags.text && len)
       {
@@ -3564,7 +3563,7 @@ public class LFBDisplayDriver : DisplayDriver
          {
             int w = 0;
 #if !defined(ECERE_NOTRUETYPE)
-            ProcessString(font, displaySystem, text, len, null, null, null, &w, 0);
+            ProcessString(font, displaySystem, (const byte *)text, len, null, null, null, &w, 0);
 #endif
             //*width = (w + 64 - w % 64) >> 6;
             *width = w >> 6;
@@ -3586,7 +3585,7 @@ public class LFBDisplayDriver : DisplayDriver
    }
 #endif
 
-   void WriteText(Display display, Surface surface, int x, int y, byte * text, int len)
+   void WriteText(Display display, Surface surface, int x, int y, const char * text, int len)
    {
       LFBSurface lfbSurface = surface.driverData;
       if(display && display.displaySystem.flags.text)
@@ -3615,7 +3614,7 @@ public class LFBDisplayDriver : DisplayDriver
          lfbSurface.writingText = true;
 #if !defined(ECERE_NOTRUETYPE)
          x <<= 6;
-         ProcessString(lfbSurface.font, surface.displaySystem, text, len, OutputGlyph, surface, display, &x, y);
+         ProcessString(lfbSurface.font, surface.displaySystem, (const byte *)text, len, OutputGlyph, surface, display, &x, y);
 #endif
          lfbSurface.writingText = false;
       }
@@ -3632,7 +3631,7 @@ public class LFBDisplayDriver : DisplayDriver
 
    }
 
-   void TextExtent(Display display, Surface surface, byte * text, int len, int * width, int * height)
+   void TextExtent(Display display, Surface surface, const char * text, int len, int * width, int * height)
    {
       LFBSurface lfbSurface = surface.driverData;
       FontExtent(surface.displaySystem, lfbSurface.font, text, len, width, height);
index ffd2de7..2e7cd19 100644 (file)
@@ -339,7 +339,7 @@ class NCursesDisplayDriver : DisplayDriver
 
    }
 
-   Font LoadFont(DisplaySystem displaySystem, char * faceName, float size, FontFlags flags)
+   Font LoadFont(DisplaySystem displaySystem, const char * faceName, float size, FontFlags flags)
    {
       return (void *) true;
    }
@@ -358,7 +358,7 @@ class NCursesDisplayDriver : DisplayDriver
       ((subclass(DisplayDriver))class(LFBDisplayDriver)).TextOpacity(display, surface, opaque);
    }
 
-   void WriteText(Display display, Surface surface, int x, int y, char * text, int len)
+   void WriteText(Display display, Surface surface, int x, int y, const char * text, int len)
    {
       LFBSurface lfbSurface = surface.driverData;
       int c;
@@ -383,12 +383,12 @@ class NCursesDisplayDriver : DisplayDriver
       }
    }
 
-   void FontExtent(DisplaySystem displaySystem, Font font, char * text, int len, int * width, int * height)
+   void FontExtent(DisplaySystem displaySystem, Font font, const char * text, int len, int * width, int * height)
    {
       ((subclass(DisplayDriver))class(LFBDisplayDriver)).FontExtent(displaySystem, font, text, len, width, height);
    }
 
-   void TextExtent(Display display, Surface surface, char * text, int len, int * width, int * height)
+   void TextExtent(Display display, Surface surface, const char * text, int len, int * width, int * height)
    {
       FontExtent(display.displaySystem, null, text, len, width, height);
    }
index 40b9ddd..ff951a6 100644 (file)
@@ -3045,7 +3045,7 @@ class OpenGLDisplayDriver : DisplayDriver
       ((subclass(DisplayDriver))class(LFBDisplayDriver)).UnloadFont(displaySystem, font);
    }
 
-   Font LoadFont(DisplaySystem displaySystem, char * faceName, float size, FontFlags flags)
+   Font LoadFont(DisplaySystem displaySystem, const char * faceName, float size, FontFlags flags)
    {
       Font font;
       OGLSystem oglSystem = displaySystem.driverData;
@@ -3054,12 +3054,12 @@ class OpenGLDisplayDriver : DisplayDriver
       return font;
    }
 
-   void FontExtent(DisplaySystem displaySystem, Font font, char * text, int len, int * width, int * height)
+   void FontExtent(DisplaySystem displaySystem, Font font, const char * text, int len, int * width, int * height)
    {
       ((subclass(DisplayDriver))class(LFBDisplayDriver)).FontExtent(displaySystem, font, text, len, width, height);
    }
 
-   void WriteText(Display display, Surface surface, int x, int y, char * text, int len)
+   void WriteText(Display display, Surface surface, int x, int y, const char * text, int len)
    {
       OGLSurface oglSurface = surface.driverData;
       OGLSystem oglSystem = display.displaySystem.driverData;
@@ -3101,7 +3101,7 @@ class OpenGLDisplayDriver : DisplayDriver
       oglSurface.opaqueText = opaque;
    }
 
-   void TextExtent(Display display, Surface surface, char * text, int len, int * width, int * height)
+   void TextExtent(Display display, Surface surface, const char * text, int len, int * width, int * height)
    {
       OGLSurface oglSurface = surface.driverData;
       OGLSystem oglSystem = display.displaySystem.driverData;
index dcbf8a8..8cd579a 100644 (file)
@@ -793,7 +793,7 @@ class Win32BitmapPrinterDisplayDriver : DisplayDriver
       Filter(display, surface, src, dx, dy, sx, sy, w, h, sw, sh);
    }
 
-   Font LoadFont(DisplaySystem displaySystem, char * faceName, float size, FontFlags flags)
+   Font LoadFont(DisplaySystem displaySystem, const char * faceName, float size, FontFlags flags)
    {
       Win32BitmapPrinterSystem gdiSystem = displaySystem.driverData;
       HDC hdc = gdiSystem.hdc;
@@ -825,7 +825,7 @@ class Win32BitmapPrinterDisplayDriver : DisplayDriver
       SetBkMode(gdiSurface.hdc, opaque ? OPAQUE : TRANSPARENT);
    }
 
-   void WriteText(Display display, Surface surface, int x, int y, char * text, int len)
+   void WriteText(Display display, Surface surface, int x, int y, const char * text, int len)
    {
       Win32BitmapPrinterSurface gdiSurface = surface.driverData;
       int wordCount;
@@ -834,7 +834,7 @@ class Win32BitmapPrinterDisplayDriver : DisplayDriver
       delete u16text;
    }
 
-   void TextExtent(Display display, Surface surface, char * text, int len, int * width, int * height)
+   void TextExtent(Display display, Surface surface, const char * text, int len, int * width, int * height)
    {
       Win32BitmapPrinterSurface gdiSurface = surface.driverData;
       SIZE space, size;
@@ -858,7 +858,7 @@ class Win32BitmapPrinterDisplayDriver : DisplayDriver
       }
    }
 
-   void FontExtent(DisplaySystem displaySystem, void * font, char * text, int len, int * width, int * height)
+   void FontExtent(DisplaySystem displaySystem, void * font, const char * text, int len, int * width, int * height)
    {
       Win32BitmapPrinterSystem gdiSystem = displaySystem.driverData;
       if(gdiSystem.tmpDC)
index d5c06e0..cab5676 100644 (file)
@@ -337,7 +337,7 @@ class Win32ConsoleDisplayDriver : DisplayDriver
 
    }
 
-   Font LoadFont(DisplaySystem displaySystem, char * string, float size, FontFlags flags)
+   Font LoadFont(DisplaySystem displaySystem, const char * string, float size, FontFlags flags)
    {
       return (void *) bool::true;
    }
@@ -356,7 +356,7 @@ class Win32ConsoleDisplayDriver : DisplayDriver
       ((subclass(DisplayDriver))class(LFBDisplayDriver)).TextOpacity(display, surface, opaque);
    }
 
-   void WriteText(Display display, Surface surface, int x, int y, char * text, int len)
+   void WriteText(Display display, Surface surface, int x, int y, const char * text, int len)
    {
       CONDisplay conDisplay = display.driverData;
       LFBSurface conSurface = surface.driverData;
@@ -385,12 +385,12 @@ class Win32ConsoleDisplayDriver : DisplayDriver
       }
    }
 
-   void FontExtent(DisplaySystem displaySystem, void * font, char * text, int len, int * width, int * height)
+   void FontExtent(DisplaySystem displaySystem, void * font, const char * text, int len, int * width, int * height)
    {
       ((subclass(DisplayDriver))class(LFBDisplayDriver)).FontExtent(displaySystem, font, text, len, width, height);
    }
 
-   void TextExtent(Display display, Surface surface, char * text, int len, int * width, int * height)
+   void TextExtent(Display display, Surface surface, const char * text, int len, int * width, int * height)
    {
       FontExtent(display.displaySystem, null, text, len, width, height);
    }
index e1e6525..e18714a 100644 (file)
@@ -831,7 +831,7 @@ class Win32PrinterDisplayDriver : DisplayDriver
       Filter(display, surface, src, dx, dy, sx, sy, w, h, sw, sh);
    }
 
-   Font LoadFont(DisplaySystem displaySystem, char * faceName, float size, FontFlags flags)
+   Font LoadFont(DisplaySystem displaySystem, const char * faceName, float size, FontFlags flags)
    {
       Win32PrinterSystem gdiSystem = displaySystem.driverData;
       HDC hdc = gdiSystem.hdc;
@@ -879,7 +879,7 @@ class Win32PrinterDisplayDriver : DisplayDriver
       SetBkMode(gdiSurface.hdc, opaque ? OPAQUE : TRANSPARENT);
    }
 
-   void WriteText(Display display, Surface surface, int x, int y, char * text, int len)
+   void WriteText(Display display, Surface surface, int x, int y, const char * text, int len)
    {
       Win32PrinterSurface gdiSurface = surface.driverData;
       Win32PrinterDisplay gdiDisplay = display ? display.driverData : null;
@@ -899,7 +899,7 @@ class Win32PrinterDisplayDriver : DisplayDriver
       delete u16text;
    }
 
-   void ::_TextExtent(HDC hdc, int resX, int resY, char * text, int len, int * width, int * height)
+   void ::_TextExtent(HDC hdc, int resX, int resY, const char * text, int len, int * width, int * height)
    {
       SIZE space, size;
       uint realLen;
@@ -927,7 +927,7 @@ class Win32PrinterDisplayDriver : DisplayDriver
       }
    }
 
-   void TextExtent(Display display, Surface surface, char * text, int len, int * width, int * height)
+   void TextExtent(Display display, Surface surface, const char * text, int len, int * width, int * height)
    {
       Win32PrinterSystem gdiSystem = (display && display.displaySystem) ? display.displaySystem.driverData : null;
       Win32PrinterSurface gdiSurface = surface.driverData;
@@ -935,7 +935,7 @@ class Win32PrinterDisplayDriver : DisplayDriver
       _TextExtent(gdiSurface.hdc, gdiSystem.resX, gdiSystem.resY, text, len, width, height);
    }
 
-   void FontExtent(DisplaySystem displaySystem, void * font, char * text, int len, int * width, int * height)
+   void FontExtent(DisplaySystem displaySystem, void * font, const char * text, int len, int * width, int * height)
    {
       Win32PrinterSystem gdiSystem = displaySystem.driverData;
       if(gdiSystem.hdc)
index ed272af..0265d82 100644 (file)
@@ -1635,7 +1635,7 @@ class XDisplayDriver : DisplayDriver
       }
    }
 
-   Font LoadFont(DisplaySystem displaySystem, char * faceName, float size, FontFlags flags)
+   Font LoadFont(DisplaySystem displaySystem, const char * faceName, float size, FontFlags flags)
    {
       Font font;
       font = ((subclass(DisplayDriver))class(LFBDisplayDriver)).LoadFont(displaySystem, faceName, size, flags);
@@ -1662,7 +1662,7 @@ class XDisplayDriver : DisplayDriver
    #define CHAR_WIDTH   6
    #define CHAR_HEIGHT  14
 
-   void WriteText(Display display, Surface surface, int x, int y, char * text, int len)
+   void WriteText(Display display, Surface surface, int x, int y, const char * text, int len)
    {
       XSurface xSurface = surface.driverData;
       XDisplay xDisplay = display.driverData;
@@ -1700,7 +1700,7 @@ class XDisplayDriver : DisplayDriver
       ((subclass(DisplayDriver))class(LFBDisplayDriver)).WriteText(display, surface, x, y, text, len);
    }
 
-   void TextExtent(Display display, Surface surface, char * text, int len, int * width, int * height)
+   void TextExtent(Display display, Surface surface, const char * text, int len, int * width, int * height)
    {
       XSurface xSurface = surface.driverData;
       /*
@@ -1713,7 +1713,7 @@ class XDisplayDriver : DisplayDriver
       FontExtent(display.displaySystem, xSurface.font, text, len, width, height);
    }
 
-   void FontExtent(DisplaySystem displaySystem, Font font, char * text, int len, int * width, int * height)
+   void FontExtent(DisplaySystem displaySystem, Font font, const char * text, int len, int * width, int * height)
    {
       /*
       if(width) *width = len * CHAR_WIDTH;
index 13d58ca..4d94847 100644 (file)
@@ -27,7 +27,7 @@ public struct AnchorValue
       get { return (double) percent; }
    }
 
-   char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
+   const char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
    {
       if(type == offset)
       {
@@ -60,7 +60,7 @@ public struct AnchorValue
       return stringOutput;
    }
 
-   bool OnGetDataFromString(char * stringOutput)
+   bool OnGetDataFromString(const char * stringOutput)
    {
       char * end;
       if(strchr(stringOutput, '.'))
@@ -119,7 +119,7 @@ public struct MiddleAnchorValue
       get { return (double) percent; }
    }
 
-   char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
+   const char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
    {
       if(type == middleRelative)
       {
@@ -152,7 +152,7 @@ public struct MiddleAnchorValue
       return stringOutput;
    }
 
-   bool OnGetDataFromString(char * stringOutput)
+   bool OnGetDataFromString(const char * stringOutput)
    {
       if(strchr(stringOutput, '.'))
       {
@@ -176,10 +176,10 @@ public struct Anchor
    union { AnchorValue top; MiddleAnchorValue vert; };
    AnchorValue right, bottom;
 
-   char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
+   const char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
    {
       char tempString[256];
-      char * anchorValue;
+      const char * anchorValue;
       bool subNeedClass;
 
       tempString[0] = '\0';
@@ -217,7 +217,7 @@ public struct Anchor
       return stringOutput;
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       this = Anchor {};
       return class::OnGetDataFromString(string);
@@ -230,7 +230,7 @@ public struct Anchor
 
    Window OnEdit(Window listBox, Window master, int x, int y, int w, int h, Window control)
    {
-      char * string = "";
+      const char * string = "";
       AnchorDropBox comboBox
       {
          editText = true;
@@ -250,7 +250,7 @@ public struct Anchor
       {
          char tempString[MAX_F_STRING] = "";
          bool needClass = false;
-         char * result = OnGetString(tempString, null, &needClass);
+         const char * result = OnGetString(tempString, null, &needClass);
          if(result) string = result;
       }
       comboBox.contents = string;
@@ -368,7 +368,7 @@ private class AnchorButton : Button
       {
          char tempString[1024] = "";
          bool needClass = false;
-         char * string = anchor.OnGetString(tempString, null, &needClass);
+         const char * string = anchor.OnGetString(tempString, null, &needClass);
          anchorDropBox.contents = string;
       }
 
@@ -491,7 +491,7 @@ private class AnchorRelButton : Button
       {
          char tempString[1024] = "";
          bool needClass = false;
-         char * string = anchor.OnGetString(tempString, null, &needClass);
+         const char * string = anchor.OnGetString(tempString, null, &needClass);
          anchorDropBox.contents = string;
       }
 
@@ -591,7 +591,7 @@ private class AnchorDropBox : DropBox
       anchorEditor.Destroy(0);
    }
 
-   bool DataBox::NotifyTextEntry(AnchorDropBox dropBox, char * string, bool save)
+   bool DataBox::NotifyTextEntry(AnchorDropBox dropBox, const char * string, bool save)
    {
       Anchor anchor = dropBox.anchorValue;
 
@@ -607,7 +607,7 @@ private class AnchorDropBox : DropBox
       {
          char tempString[1024] = "";
          bool needClass = false;
-         char * string = anchor.OnGetString(tempString, null, &needClass);
+         const char * string = anchor.OnGetString(tempString, null, &needClass);
          dropBox.contents = string;
       }
       return true;
index 9acadf9..345b6ba 100644 (file)
@@ -20,6 +20,6 @@ private:
    char * bitmapName;
    SystemCursor systemCursor;
 public:
-   bool Load(char * name, int hotSpotX, int hotSpotY, byte * paletteShades);
+   bool Load(const char * name, int hotSpotX, int hotSpotY, byte * paletteShades);
    property SystemCursor systemCursor { set { systemCursor = value; } }
 };
index 2df6030..dd73a6f 100644 (file)
@@ -173,7 +173,7 @@ class FormDesigner : ClassDesignerBase
       }
    }
 
-   void ::CreateNew(EditBox editBox, Size clientSize, char * name, char * inherit)
+   void ::CreateNew(EditBox editBox, Size clientSize, const char * name, const char * inherit)
    {
       int w = 632, h = 438;
       if(clientSize.w - 40 -200 < w)
@@ -447,7 +447,7 @@ class FormDesigner : ClassDesignerBase
 
    bool OnLeftButtonDown(int x, int y, Modifiers mods)
    {
-      char * objectClass = activeDesigner.objectClass;
+      const char * objectClass = activeDesigner.objectClass;
 
       if(!objectClass && selected)
       {
@@ -567,7 +567,7 @@ class FormDesigner : ClassDesignerBase
 
    void AddControl(Window parent, int x, int y)
    {
-      char * objectClass = activeDesigner.objectClass;
+      const char * objectClass = activeDesigner.objectClass;
       ObjectInfo object;
       Window control;
       Class c = eSystem_FindClass(form._class.module, objectClass);
@@ -627,7 +627,7 @@ class FormDesigner : ClassDesignerBase
       }
       else
       {
-         char * objectClass = activeDesigner.objectClass;
+         const char * objectClass = activeDesigner.objectClass;
          if(objectClass)
          {
             Window parent = FindWindow(form, activeDesigner, null, x, y, true, &x, &y);
index 19d826b..d443ba6 100644 (file)
@@ -110,7 +110,7 @@ public class GuiApplication : Application
    PixelFormat pixelFormat;
    int refreshRate;
 
-   char * defaultDisplayDriver;
+   const char * defaultDisplayDriver;
 
    Cursor systemCursors[SystemCursor];
 
@@ -467,7 +467,7 @@ public class GuiApplication : Application
       desktop.active = state;
    }
 
-   bool SelectSkin(char * skinName)
+   bool SelectSkin(const char * skinName)
    {
       bool result = false;
       subclass(Skin) skin;
@@ -530,7 +530,7 @@ public class GuiApplication : Application
       // if(!initialized && eClass_IsDerived(__ecereModule->app->module.inst.class, guiApplicationClass))
       if(!guiApplicationInitialized)
       {
-         char * defaultDriver = null;
+         const char * defaultDriver = null;
 #if defined(ECERE_VANILLA) || defined(ECERE_ONEDRIVER)
          char * driver = null;
 #else
@@ -1091,11 +1091,11 @@ public:
    }
 
    // TODO: Might want to make this private with simpler public version?
-   bool SwitchMode(bool fullScreen, char * driverName, Resolution resolution, PixelFormat colorDepth, int refreshRate, char * skinName, bool fallBack)
+   bool SwitchMode(bool fullScreen, const char * driverName, Resolution resolution, PixelFormat colorDepth, int refreshRate, const char * skinName, bool fallBack)
    {
       bool result = false;
       OldLink link;
-      char * fbDriver;
+      const char * fbDriver;
       bool fbFullScreen = 0;
       Resolution fbResolution = 0;
       PixelFormat fbColorDepth = 0;
@@ -1133,7 +1133,7 @@ public:
          {
             bool foundDriver = false;
             int c, numDrivers;
-            char ** graphicsDrivers;
+            const char ** graphicsDrivers;
             inter = link.data;
 
             graphicsDrivers = inter.GraphicsDrivers(&numDrivers);
@@ -1380,7 +1380,7 @@ public:
    }
 
    // Properties
-   property char * appName
+   property const char * appName
    {
       set
       {
@@ -1389,7 +1389,7 @@ public:
       }
       get
       {
-         return (char *)(this ? appName : null);
+         return (const char *)(this ? appName : null);
       }
    };
    property Semaphore semaphore { get { return globalSystem.eventSemaphore; } };
@@ -1403,7 +1403,7 @@ public:
       }
       get { return this ? fullScreen : false; }
    };
-   property char * driver
+   property const char * driver
    {
       set
       {
@@ -1439,7 +1439,7 @@ public:
       }
       get { return this ? refreshRate : 0; }
    };
-   property char * skin
+   property const char * skin
    {
       set { SelectSkin(value); }
       get { return (this && currentSkin) ? currentSkin.name : null; }
@@ -1450,8 +1450,8 @@ public:
       get { return this ? textMode : false; }
    };
    property Window desktop { get { return this ? desktop : null; } };
-   property char ** drivers { get { return null; } };
-   property char ** skins { get { return null; } };
+   property const char ** drivers { get { return null; } };
+   property const char * const * skins { get { return null; } };
    property subclass(Skin) currentSkin { get { return this ? currentSkin : null; } };
    property int numDrivers { get { return 0; } };
    property int numSkins { get { return 0; } };
index f662f97..4602f9b 100644 (file)
@@ -39,9 +39,9 @@ public struct Joystick
 public class Interface
 {
 public:
-   class_data char * name;
+   class_data const char * name;
 
-   class_property char * name
+   class_property const char * name
    {
       set { class_data(name) = value; }
       get { return class_data(name); }
@@ -56,7 +56,7 @@ public:
    virtual void ::Unlock(Window window);
    virtual void ::SetTimerResolution(uint hertz);
 
-   virtual char ** ::GraphicsDrivers(int * numDrivers);
+   virtual const char ** ::GraphicsDrivers(int * numDrivers);
    virtual void ::EnsureFullScreen(bool * fullScreen);
    virtual void ::GetCurrentMode(bool * fullScreen, Resolution * resolution, PixelFormat * colorDepth, int * refreshRate);
    virtual bool ::ScreenMode(bool fullScreen, Resolution resolution, PixelFormat colorDepth, int refreshRate, bool * textMode);
@@ -66,7 +66,7 @@ public:
    virtual void ::DestroyRootWindow(Window window);
 
    // --- Window manipulation ---
-   virtual void ::SetRootWindowCaption(Window window, char * name);
+   virtual void ::SetRootWindowCaption(Window window, const char * name);
    virtual void ::PositionRootWindow(Window window, int x, int y, int w, int h, bool move, bool resize);
    virtual void ::OffsetWindow(Window window, int * x, int * y);
    virtual void ::UpdateRootWindow(Window window);
@@ -132,7 +132,7 @@ public:
       return 0;
    }
 
-   void ::WriteKeyedTextDisabled(Surface surface, int x, int y, char *text, Key hotKey, bool disabled)
+   void ::WriteKeyedTextDisabled(Surface surface, int x, int y, const char *text, Key hotKey, bool disabled)
    {
       if(text)
       {
@@ -249,7 +249,7 @@ public:
       }
    }
 
-   void ::WriteKeyedText(Surface surface, int x, int y, char *text, Key hotKey)
+   void ::WriteKeyedText(Surface surface, int x, int y, const char *text, Key hotKey)
    {
       WriteKeyedTextDisabled(surface, x, y, text, hotKey, false);
    }
index f3d18c5..74ac8a9 100644 (file)
@@ -40,9 +40,9 @@ public:
       }
    };
 
-   char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
+   const char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
    {
-      char * string;
+      const char * string;
       if((string = ((PredefinedKey)this).class::OnGetString(stringOutput, null, needClass /*null*/)))
       {
          if(needClass) *needClass = false;
@@ -59,7 +59,7 @@ public:
       }
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       if(((PredefinedKey)this).class::OnGetDataFromString(string))
          return true;
@@ -257,7 +257,7 @@ public enum KeyCode : Key
 
 public class Modifiers
 {
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       if(needClass) *needClass = false;
       return 0;
index cf1ec21..51feea0 100644 (file)
@@ -7,7 +7,7 @@ public enum SkinBitmap { minimize, maximize, restore, close };
 public class Skin
 {
 public:
-   class_data char * name;
+   class_data const char * name;
    class_data bool textMode;
    class_data Color selectionColor;
    class_data Color selectionText;
@@ -17,7 +17,7 @@ public:
    class_property(disabledFrontColor) = Color { 128,128,128 };
    class_property(disabledBackColor) = (Color)white;
 
-   class_property char * name
+   class_property const char * name
    {
       set { class_data(name) = value; }
       get { return class_data(name); }
@@ -58,10 +58,10 @@ public:
    virtual void ::GetDecorationsSize(Window, MinMaxValue *, MinMaxValue *);
    virtual void ::SetWindowMinimum(Window, MinMaxValue *, MinMaxValue *);
    virtual void ::SetWindowArea(Window, int *, int *, MinMaxValue *, MinMaxValue *, MinMaxValue *, MinMaxValue *);
-   virtual void ::ShowDecorations(void *, Surface, Window, char *, bool, bool);
+   virtual void ::ShowDecorations(void *, Surface, Window, const char *, bool, bool);
    virtual bool ::IsMouseMoving(Window, int, int, int, int);
    virtual bool ::IsMouseResizing(Window, int, int, int, int, bool *, bool *, bool *, bool *);
-   virtual char * ::CursorsBitmaps(uint id, int *hotSpotX, int *hotSpotY, byte ** paletteShades);
+   virtual const char * ::CursorsBitmaps(uint id, int *hotSpotX, int *hotSpotY, byte ** paletteShades);
    virtual BitmapResource ::GetBitmap(SkinBitmap);
    virtual void ::UpdateNonClient(void *);
    virtual int ::VerticalSBW();
index 585d6cc..484bf21 100644 (file)
@@ -490,12 +490,12 @@ private class HotKeySlot : struct
 public class Window
 {
 private:
-   class_data char * icon;
+   class_data const char * icon;
    class_no_expansion
    class_default_property caption;
    // class_initialize GuiApplication::Initialize;
    class_designer FormDesigner;
-   class_property char * icon
+   class_property const char * icon
    {
       set { class_data(icon) = value; }
       get { return class_data(icon); }
@@ -701,20 +701,20 @@ private:
    }
 
 //#if !defined(ECERE_VANILLA)
-   char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
+   const char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
    {
       if(this == activeDesigner)
          return "(Desktop)";
       else
       {
-         char * name = property::name;
+         const char * name = property::name;
          return name ? name : "";
       }
    }
 //#endif
 
 #if !defined(ECERE_VANILLA) && !defined(ECERE_NOTRUETYPE)
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       FormDesigner designer = (FormDesigner)activeDesigner.classDesigner;
       if(string[0])
@@ -6085,7 +6085,7 @@ private:
          {
             this, FileChange { modified = true };
 
-            bool OnFileNotify(FileChange action, char * param)
+            bool OnFileNotify(FileChange action, const char * param)
             {
                incref this;
                fileMonitor.StopMonitoring();
@@ -7057,7 +7057,7 @@ public:
       }
    }
 
-   private void _SetCaption(char * format, va_list args)
+   private void _SetCaption(const char * format, va_list args)
    {
       if(this)
       {
@@ -7077,7 +7077,7 @@ public:
       }
    }
 
-   /*deprecated*/ void SetText(char * format, ...)
+   /*deprecated*/ void SetText(const char * format, ...)
    {
       va_list args;
       va_start(args, format);
@@ -7085,7 +7085,7 @@ public:
       va_end(args);
    }
 
-   void SetCaption(char * format, ...)
+   void SetCaption(const char * format, ...)
    {
       va_list args;
       va_start(args, format);
@@ -7412,7 +7412,7 @@ public:
             fileDialog.master = master.parent ? master : this;
             if(fileDialog.Modal() == ok)
             {
-               char * filePath = fileDialog.filePath;
+               const char * filePath = fileDialog.filePath;
                saving = true;
                if(OnSaveFile(filePath))
                {
@@ -7831,8 +7831,8 @@ public:
    virtual void OnHScroll(ScrollBarAction action, int position, Key key);
    virtual void OnVScroll(ScrollBarAction action, int position, Key key);
    virtual void OnDrawOverChildren(Surface surface);
-   virtual bool OnFileModified(FileChange fileChange, char * param);
-   virtual bool OnSaveFile(char * fileName);
+   virtual bool OnFileModified(FileChange fileChange, const char * param);
+   virtual bool OnSaveFile(const char * fileName);
 
    // Virtual Methods -- Children management (To support Stacker, for lack of built-in auto-layout)
    // Note: A 'client' would refer to isActiveClient, rather than
@@ -7849,8 +7849,8 @@ public:
       *cw = *w;
       *ch = *h;
    }
-   virtual void ShowDecorations(Font captionFont, Surface surface, char * name, bool active, bool moving);
-   virtual void PreShowDecorations(Font captionFont, Surface surface, char * name, bool active, bool moving);
+   virtual void ShowDecorations(Font captionFont, Surface surface, const char * name, bool active, bool moving);
+   virtual void PreShowDecorations(Font captionFont, Surface surface, const char * name, bool active, bool moving);
    virtual bool IsMouseMoving(int x, int y, int w, int h)
    {
       return false;
@@ -7873,7 +7873,7 @@ public:
    // Notifications
    virtual bool Window::NotifyActivate(Window window, bool active, Window previous);
    virtual void Window::NotifyDestroyed(Window window, DialogResult result);
-   virtual void Window::NotifySaved(Window window, char * filePath);
+   virtual void Window::NotifySaved(Window window, const char * filePath);
 
    // Public Methods
 
@@ -8149,7 +8149,7 @@ public:
       get { return master ? master : parent; }
    };
 
-   property char * caption
+   property const char * caption
    {
       property_category $"Appearance"
       watchable
@@ -9246,7 +9246,7 @@ public:
       get { return (bool)noAutoScrollArea; }
    };
 
-   property char * fileName
+   property const char * fileName
    {
       property_category $"Document"
       set
@@ -9349,7 +9349,7 @@ public:
    };
 
 //#if !defined(ECERE_VANILLA)
-   property char * name
+   property const char * name
    {
       property_category $"Design"
       get
@@ -9363,7 +9363,7 @@ public:
       }
    };
 //#endif
-   property char * displayDriver
+   property const char * displayDriver
    {
       property_category $"Behavior"
       set
@@ -9482,7 +9482,7 @@ public:
    };
    property bool manageDisplay { get { return (bool)manageDisplay; } set { manageDisplay = value; } };
 
-   property char * text
+   property const char * text
    {
       property_category $"Deprecated"
       watchable
@@ -9647,7 +9647,7 @@ public class CommonControl : Window
    // creationActivation = doNothing;
 
    ToolTip toolTip;
-   public property String toolTip
+   public property const String toolTip
    {
       property_category $"Appearance"
       set
@@ -9684,7 +9684,7 @@ public class CommonControl : Window
 
 public class Percentage : float
 {
-   char * OnGetString(char * string, float * fieldData, bool * needClass)
+   const char * OnGetString(char * string, float * fieldData, bool * needClass)
    {
       int c;
       int last = 0;
@@ -9707,7 +9707,7 @@ public class Percentage : float
    }
 };
 
-public void ApplySkin(Class c, char * name, void ** vTbl)
+public void ApplySkin(Class c, const char * name, void ** vTbl)
 {
    char className[1024];
    Class sc;
index dd871c7..34018bf 100644 (file)
@@ -117,7 +117,7 @@ public class Button : CommonControl
    {
       ButtonState state = this.state;
       Bitmap buttonBitmap = GetButtonBitmap();
-      char * text = this.text;
+      const char * text = this.text;
       int offset = (state == down && buttonStyle.offset) ? 1 : 0;
       Color backColor = colors[(int)checked*4 + state];
       int isDefault = this.isDefault;
index eb7a1a2..ac0a649 100644 (file)
@@ -4,7 +4,7 @@ import "Window"
 
 #define ISLEAP(y) (!((y)%4) && (((y) % 100) || (!((y)% 400))))
 
-/*static */Array<String> veryShortDaysNames
+/*static */Array<const String> veryShortDaysNames
 { [
    $"Sunday"."S", $"Monday"."M", $"Tuesday"."T", $"Wednesday"."W",
    $"Thursday"."T", $"Friday"."F", $"Saturday"."S"
index fa285dc..c2f733a 100644 (file)
@@ -154,11 +154,11 @@ private:
          {
             if(needUpdate)
             {
-               String s;
+               const String s;
                if(type.type == noHeadClass || type.type == normalClass)
-                  s = ((char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, *(void **)this.data, tempString, fieldData, null);
+                  s = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, *(void **)this.data, tempString, fieldData, null);
                else
-                  s = ((char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, this.data, tempString, fieldData, null);
+                  s = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, this.data, tempString, fieldData, null);
                delete stringValue;
                stringValue = CopyString(s);
                needUpdate = false;
index 2baae53..ef77dc6 100644 (file)
@@ -102,7 +102,7 @@ public:
             {
                char tempString[4096];
                if(currentRow)
-                  editBox.contents = ((char *(*)(void *, void *, char *, void *, bool *))(void *)dataType._vTbl[__ecereVMethodID_class_OnGetString])(dataType, currentRow.GetData(null), tempString, null, null);
+                  editBox.contents = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)dataType._vTbl[__ecereVMethodID_class_OnGetString])(dataType, currentRow.GetData(null), tempString, null, null);
                else
                   editBox.contents = "";
             }
@@ -121,7 +121,7 @@ public:
       get { return currentRow; }
    };
    property DataRow firstRow { get { return this ? listBox.firstRow : null; } };
-   property char * contents { property_category $"Data" set { if(editBox) editBox.contents = value; } get { return editBox ? editBox.contents : null; } };
+   property const char * contents { property_category $"Data" set { if(editBox) editBox.contents = value; } get { return editBox ? editBox.contents : null; } };
    property bool editText
    {
       property_category $"Behavior"
@@ -217,7 +217,7 @@ public:
    virtual bool Window::NotifySelect(DropBox dropBox, DataRow row, Modifiers mods);
    virtual bool Window::NotifyClose(DropBox dropBox);
    virtual bool Window::NotifyHighlight(DropBox dropBox, DataRow row, Modifiers mods);
-   virtual bool Window::NotifyTextEntry(DropBox dropBox, char * string, bool confirmed);
+   virtual bool Window::NotifyTextEntry(DropBox dropBox, const char * string, bool confirmed);
 
    virtual Window OnDropDown()
    {
@@ -243,7 +243,7 @@ public:
    }
 
    // Methods
-   DataRow AddStringf(char * format, ...)
+   DataRow AddStringf(const char * format, ...)
    {
       if(this)
       {
@@ -264,7 +264,7 @@ public:
       return null;
    }
 
-   DataRow AddString(char * string)
+   DataRow AddString(const char * string)
    {
       if(this)
       {
@@ -406,7 +406,7 @@ public:
          {
             char tempString[4096];
             if(currentRow)
-               editBox.contents = ((char *(*)(void *, void *, char *, void *, bool *))(void *)dataType._vTbl[__ecereVMethodID_class_OnGetString])(dataType, currentRow.GetData(null), tempString, null, null);
+               editBox.contents = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)dataType._vTbl[__ecereVMethodID_class_OnGetString])(dataType, currentRow.GetData(null), tempString, null, null);
             else
                editBox.contents = "";
          }
@@ -582,7 +582,7 @@ private:
                {
                   char tempString[4096];
                   if(currentRow)
-                     editBox.contents = ((char *(*)(void *, void *, char *, void *, bool *))(void *)dataType._vTbl[__ecereVMethodID_class_OnGetString])(dataType, currentRow.GetData(null), tempString, null, null);
+                     editBox.contents = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)dataType._vTbl[__ecereVMethodID_class_OnGetString])(dataType, currentRow.GetData(null), tempString, null, null);
                   else
                      editBox.contents = "";
                }
@@ -879,7 +879,7 @@ private:
          {
             char tempString[4096];
             if(currentRow)
-               editBox.contents = ((char *(*)(void *, void *, char *, void *, bool *))(void *)dataType._vTbl[__ecereVMethodID_class_OnGetString])(dataType, currentRow.GetData(null), tempString, null, null);
+               editBox.contents = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)dataType._vTbl[__ecereVMethodID_class_OnGetString])(dataType, currentRow.GetData(null), tempString, null, null);
             else
                editBox.contents = "";
             if(active)
index af8aa7c..456a7a1 100644 (file)
@@ -17,7 +17,7 @@ char * strchrmax(const char * s, int c, int max)
    char ch;
    for(i = 0; i < max && (ch = s[i]); i++)
       if(ch == c)
-         return s + i;
+         return (char *)s + i;
    return null;
 }
 
@@ -538,7 +538,7 @@ public class EditLine : struct
    int length;
    EditBox editBox;
 public:
-   property char * text
+   property const char * text
    {
       set
       {
@@ -668,7 +668,7 @@ public struct BufferLocation
 
 public enum EditBoxFindResult { notFound, found, wrapped };
 
-static char * keyWords1[] =
+static const char * keyWords1[] =
 {
    // C
    "return","break","continue","default","switch","case","if","else","for","while", "do","long","short",
@@ -706,12 +706,12 @@ static char * keyWords1[] =
    null
 };
 
-static char * keyWords2[] =
+static const char * keyWords2[] =
 {
    "defined", "warning", null
 };
 
-static char ** keyWords[] = { keyWords1, keyWords2 };
+static const char ** keyWords[] = { keyWords1, keyWords2 };
 #define NUM_KEYWORD_GROUPS (sizeof(keyWords) / sizeof(char **))
 //static int * keyLen[NUM_KEYWORD_GROUPS];
 static int keyLen[NUM_KEYWORD_GROUPS][sizeof(keyWords1)];
@@ -804,7 +804,7 @@ public:
    property EditLine firstLine { get { return lines.first; } };      // Change these to a List<EditLine>... (this.lines[10].text)
    property EditLine lastLine  { get { return lines.last; } };
    property EditLine line { get { return this.line; } }; // TODO: Add Set   this.line = this.lines[10]
-   property char * contents
+   property const char * contents
    {
       property_category $"Data"
       set
@@ -896,7 +896,7 @@ public:
       return null;
    }
 
-   void SetLineText(char * text)
+   void SetLineText(const char * text)
    {
       if(this)
       {
@@ -973,7 +973,7 @@ private:
 
    bool modified;
 
-   void (* FontExtent)(Display display, Font font, char * text, int len, int * width, int * height);
+   void (* FontExtent)(Display display, Font font, const char * text, int len, int * width, int * height);
 
    Color backColor;
    bool rightButtonDown;
@@ -1140,7 +1140,7 @@ private:
             void NotifyDestroyed(Window window, DialogResult result)
             {
                ReplaceDialog dialog = (ReplaceDialog)window;
-               char * replace = dialog.replaceString;
+               const char * replace = dialog.replaceString;
                if(replace)
                   strcpy(replaceString, replace);
                strcpy(searchString, dialog.searchString);
@@ -1876,7 +1876,7 @@ private:
                            {
                               for(g = 0; g < ((inPrep && word[0] != '#') ? 2 : 1); g++)
                               {
-                                 char ** keys = keyWords[g];
+                                 const char ** keys = keyWords[g];
                                  int * len = keyLen[g];
                                  for(ccc = 0; keys[ccc]; ccc++)
                                  {
@@ -2479,7 +2479,7 @@ private:
       return false;
    }
 
-   bool AddToLine(char * stringLine, int count, bool LFComing, int * addedSpacesPtr, int * addedTabsPtr)
+   bool AddToLine(const char * stringLine, int count, bool LFComing, int * addedSpacesPtr, int * addedTabsPtr)
    {
       bool hadComment = false;
       // Add the line here
@@ -2505,7 +2505,7 @@ private:
          {
             int w;
             int numBytes = 1;
-            char * string;
+            const char * string;
             if(c < Min(this.x, line.count))
                string = line.buffer + c;
             else if(c < endX)
@@ -3111,7 +3111,7 @@ private:
    }
 
    /*
-   bool SaveFile(char * fileName)
+   bool SaveFile(const char * fileName)
    {
       File f = eFile_Open(fileName, FO_WRITE);
       if(f)
@@ -5243,12 +5243,12 @@ public:
    }
 
    // BASIC OUTPUT
-   bool AddS(char * string)
+   bool AddS(const char * string)
    {
       if(this)
       {
          bool ret = true;
-         char * line;
+         const char * line;
          int c, count;
          int addedSpaces = 0, addedTabs = 0;
          AddTextAction action = null;
@@ -5495,7 +5495,7 @@ public:
       }
    }
 
-   void PutS(char * string)
+   void PutS(const char * string)
    {
       if(this)
       {
@@ -5505,7 +5505,7 @@ public:
       }
    }
 
-   void Printf(char * format, ...)
+   void Printf(const char * format, ...)
    {
       if(this)
       {
@@ -5519,7 +5519,7 @@ public:
       }
    }
 
-   void SetContents(char * format, ...)
+   void SetContents(const char * format, ...)
    {
       if(this)
       {
@@ -6243,7 +6243,7 @@ public:
       itemEditRedo.disabled = undoBuffer.curAction == undoBuffer.count;
    }
 
-   EditBoxFindResult Find(char * text, bool matchWord, bool matchCase, bool isSearchDown)
+   EditBoxFindResult Find(const char * text, bool matchWord, bool matchCase, bool isSearchDown)
    {
       EditLine line;
       int num;
@@ -6301,7 +6301,7 @@ public:
       return notFound;
    }
 
-   EditBoxFindResult FindInSelection(char * text, bool matchWord, bool matchCase, EditLine l2, int y2, int x2)
+   EditBoxFindResult FindInSelection(const char * text, bool matchWord, bool matchCase, EditLine l2, int y2, int x2)
    {
       EditLine line;
       int y;
@@ -6536,7 +6536,7 @@ public:
       return result;
    }
 
-   bool Puts(char * string)
+   bool Puts(const char * string)
    {
       EditBox editBox = this.editBox;
       BufferLocation start { editBox.line, editBox.y, editBox.x };
@@ -6566,7 +6566,7 @@ public:
       {
          utf8Bytes[numBytes++] = ch;
          utf8Bytes[numBytes] = 0;
-         if(UTF8Validate(utf8Bytes))
+         if(UTF8Validate((char *)utf8Bytes))
          {
             editBox.AddCh(UTF8_GET_CHAR(utf8Bytes, numBytes));
             numBytes = 0;
index 60e2219..3f29c55 100644 (file)
@@ -80,7 +80,7 @@ private:
       if(!*w || !*h)
       {
          Window labeledWindow = text ? this : window;
-         char * string = (labeledWindow && labeledWindow.text) ? labeledWindow.text : " ";
+         const char * string = (labeledWindow && labeledWindow.text) ? labeledWindow.text : " ";
 
          int width = 0, height = 0;
 
@@ -143,7 +143,7 @@ private:
          if(labeledWindow)
          {
             int tw = 0;
-            char * caption = labeledWindow.caption;
+            const char * caption = labeledWindow.caption;
             if(caption)
                surface.TextExtent(caption, strlen(caption), &tw, null);
             GroupBevel(surface, true,  1,7, clientSize.w - 2, clientSize.h - 8, tw);
index badfa0a..f083b60 100644 (file)
@@ -119,7 +119,7 @@ public:
       }
    };
    property int sortOrder { get { return this ? sortOrder : 0; } };
-   property char * header
+   property const char * header
    {
       set
       {
@@ -178,12 +178,12 @@ public:
             if(cell && cell.isSet && dataType)
             {
                static char tempString[4096];
-               String string;
+               const String string;
                int tw = 0;
                if(dataType.type == normalClass || dataType.type == noHeadClass)
-                  string = ((char *(*)(void *, void *, char *, void *, bool *))(void *)dataType._vTbl[__ecereVMethodID_class_OnGetString])(dataType, cell.data[0], tempString, userData, null);
+                  string = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)dataType._vTbl[__ecereVMethodID_class_OnGetString])(dataType, cell.data[0], tempString, userData, null);
                else
-                  string = ((char *(*)(void *, void *, char *, void *, bool *))(void *)dataType._vTbl[__ecereVMethodID_class_OnGetString])(dataType, cell.data, tempString, userData, null);
+                  string = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)dataType._vTbl[__ecereVMethodID_class_OnGetString])(dataType, cell.data, tempString, userData, null);
                if(string)
                   display.FontExtent(row.header ? boldFont : font, string, strlen(string), &tw, null);
                else
@@ -232,7 +232,7 @@ private:
    }
 
    DataField prev, next;
-   char * header;
+   const char * header;
    Class dataType;
    int width;
    uint index;
@@ -259,7 +259,7 @@ public:
    property DataRow previous { get { return prev; } };
    property DataRow next { get { return next; } };
    property int index { get { return (this && (!parent || parent.IsExpanded())) ? index : -1; } };
-   property char * string
+   property const char * string
    {
       set { SetData(listBox.fields.first, value); }
       get { return GetData(listBox.fields.first); }
@@ -747,7 +747,7 @@ public:
       return null;
    }
 
-   DataRow AddStringf(char * format, ...)
+   DataRow AddStringf(const char * format, ...)
    {
       if(this)
       {
@@ -766,7 +766,7 @@ public:
       return null;
    }
 
-   DataRow AddString(char * string)
+   DataRow AddString(const char * string)
    {
       if(this)
       {
@@ -1433,7 +1433,7 @@ public:
       return null;
    }
 
-   DataRow AddStringf(char * format, ...)
+   DataRow AddStringf(const char * format, ...)
    {
       if(this)
       {
@@ -1454,7 +1454,7 @@ public:
       return null;
    }
 
-   DataRow AddString(char * string)
+   DataRow AddString(const char * string)
    {
       if(this)
       {
@@ -1553,7 +1553,7 @@ public:
       return null;
    }
 
-   DataRow FindString(char * searchedString)
+   DataRow FindString(const char * searchedString)
    {
       DataField field;
       bool checkNextField = true;
@@ -1570,7 +1570,7 @@ public:
                   void * data = row.GetData(field);
                   char tempString[1024] = "";
                   bool needClass = false;
-                  char * string = ((char *(*)(void *, void *, char *, void *, bool *))(void *)field.dataType._vTbl[__ecereVMethodID_class_OnGetString])(field.dataType, data, tempString, null, &needClass);
+                  const char * string = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)field.dataType._vTbl[__ecereVMethodID_class_OnGetString])(field.dataType, data, tempString, null, &needClass);
 
                   if(string && string[0])
                      checkNextField = false;
@@ -1584,7 +1584,7 @@ public:
       return null;
    }
 
-   DataRow FindSubString(char * subString)
+   DataRow FindSubString(const char * subString)
    {
       DataField field;
       bool checkNextField = true;
@@ -1604,7 +1604,7 @@ public:
                      void * data = row.GetData(field);
                      char tempString[1024] = "";
                      bool needClass = false;
-                     char * string = ((char *(*)(void *, void *, char *, void *, bool *))(void *)field.dataType._vTbl[__ecereVMethodID_class_OnGetString])(field.dataType, data, tempString, null, &needClass);
+                     const char * string = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)field.dataType._vTbl[__ecereVMethodID_class_OnGetString])(field.dataType, data, tempString, null, &needClass);
 
                      if(string && string[0])
                         checkNextField = false;
@@ -1619,13 +1619,13 @@ public:
       return null;
    }
 
-   DataRow FindSubStringi(char * subString)
+   DataRow FindSubStringi(const char * subString)
    {
       DataField field;
       bool checkNextField = true;
       int len = subString ? strlen(subString) : 0;
       DataRow result = null;
-      char * bestResult = null;
+      const char * bestResult = null;
       int bestLen = 0;
 
       if(len)
@@ -1642,7 +1642,7 @@ public:
                      void * data = row.GetData(field);
                      char tempString[1024] = "";
                      bool needClass = false;
-                     char * string = ((char *(*)(void *, void *, char *, void *, bool *))(void *)field.dataType._vTbl[__ecereVMethodID_class_OnGetString])(field.dataType, data, tempString, null, &needClass);
+                     const char * string = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)field.dataType._vTbl[__ecereVMethodID_class_OnGetString])(field.dataType, data, tempString, null, &needClass);
 
                      if(string && string[0])
                         checkNextField = false;
@@ -1671,7 +1671,7 @@ public:
       return result;
    }
 
-   DataRow FindSubStringAfter(DataRow after, char * subString)
+   DataRow FindSubStringAfter(DataRow after, const char * subString)
    {
       DataField field;
       bool checkNextField = true;
@@ -1691,7 +1691,7 @@ public:
                      void * data = row.GetData(field);
                      char tempString[1024] = "";
                      bool needClass = false;
-                     char * string = ((char *(*)(void *, void *, char *, void *, bool *))(void *)field.dataType._vTbl[__ecereVMethodID_class_OnGetString])(field.dataType, data, tempString, null, &needClass);
+                     const char * string = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)field.dataType._vTbl[__ecereVMethodID_class_OnGetString])(field.dataType, data, tempString, null, &needClass);
 
                      if(string && string[0])
                         checkNextField = false;
@@ -2425,7 +2425,7 @@ private:
             surface.SetForeground(foreground);
             surface.SetBackground(background);
 
-            ((void (*)(void *, void *, void *, int, int, int, void *, uint, uint))(void *)class(String)._vTbl[__ecereVMethodID_class_OnDisplay])(class(String), "(none)", surface, x, y - 1 + (rowHeight - fontH)/2, width - EXTRA_SPACE/2, null, Alignment::left, dataDisplayFlags);
+            ((void (*)(void *, const void *, void *, int, int, int, void *, uint, uint))(void *)class(String)._vTbl[__ecereVMethodID_class_OnDisplay])(class(String), "(none)", surface, x, y - 1 + (rowHeight - fontH)/2, width - EXTRA_SPACE/2, null, Alignment::left, dataDisplayFlags);
          }
          else
          {
@@ -3066,12 +3066,12 @@ private:
                      if(cell && cell.isSet && field.dataType)
                      {
                         static char tempString[4096];
-                        char * string;
+                        const char * string;
                         int tw, th;
                         if(field.dataType.type == normalClass || field.dataType.type == noHeadClass)
-                           string = ((char *(*)(void *, void *, char *, void *, bool *))(void *)field.dataType._vTbl[__ecereVMethodID_class_OnGetString])(field.dataType, cell.data[0], tempString, field.userData, null);
+                           string = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)field.dataType._vTbl[__ecereVMethodID_class_OnGetString])(field.dataType, cell.data[0], tempString, field.userData, null);
                         else
-                           string = ((char *(*)(void *, void *, char *, void *, bool *))(void *)field.dataType._vTbl[__ecereVMethodID_class_OnGetString])(field.dataType, cell.data, tempString, field.userData, null);
+                           string = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)field.dataType._vTbl[__ecereVMethodID_class_OnGetString])(field.dataType, cell.data, tempString, field.userData, null);
                         /* GCC-4.4 Bug!
                        if(!string) string = "";
                         display.FontExtent(row.header ? boldFont : font, string, strlen(string), &tw, &th);
@@ -4052,7 +4052,7 @@ private:
                void * data = row.GetData(field);
                char tempString[1024] = "";
                bool needClass = false;
-               char * string = data ? ((char *(*)(void *, void *, char *, void *, bool *))(void *)field.dataType._vTbl[__ecereVMethodID_class_OnGetString])(field.dataType, data, tempString, null, &needClass) : null;
+               const char * string = data ? ((const char *(*)(void *, void *, char *, void *, bool *))(void *)field.dataType._vTbl[__ecereVMethodID_class_OnGetString])(field.dataType, data, tempString, null, &needClass) : null;
 
                if(string && string[0])
                   checkNextField = false;
index adf316f..3c2fd02 100644 (file)
@@ -27,7 +27,7 @@ class InsertedFlags { bool deleteLink:1, deleteItem:1, cleanItem:1, placed:1; };
 #define INTERIM_MENU (isMenuBar || interim)
 //#define INTERIM_MENU interim
 
-static int strcmpTillTab(char * a, char * b)
+static int strcmpTillTab(const char * a, const char * b)
 {
    if(a && !b) return 1;
    else if(b && !a) return -1;
@@ -59,13 +59,13 @@ public:
          }
       }
    };
-   property char * text
+   property const char * text
    {
       set
       {
          if(copyText)
          {
-            delete text;
+            delete (char *)text;
             text = CopyString(value);
          }
          else
@@ -107,7 +107,7 @@ public:
                Key accel = value.code;
                bool needClass = false;
                char tempString[50];
-               char * result = accel.OnGetString(tempString, null, &needClass);
+               const char * result = accel.OnGetString(tempString, null, &needClass);
                int len = strlen(accelString);
                if(result) strcpy(accelString + len, result);
                // accelString[len] = toupper(accelString[len]);
@@ -123,7 +123,7 @@ public:
             memcpy(newText, text, length);
             newText[length] = 0;
             strcat(newText, accelString);
-            if(copyText) delete text;
+            if(copyText) delete (void *)text;
             text = newText;
             copyText = true;
          }
@@ -199,8 +199,8 @@ public:
          }
          else
          {
-            if(text && copyText)
-               delete text;
+            if(copyText)
+               delete (void *)text;
          }
          copyText = value;
       }
@@ -216,7 +216,7 @@ private:
    uint64 id;
    Key hotKey;
    Key accelerator;
-   char * text;
+   const char * text;
    BitmapResource bitmaps[3];
    bool checkable, radio;
    bool checked;
@@ -231,7 +231,7 @@ private:
    {
       if(copyText)
          // delete ITEM_TEXT(this);
-         delete text;
+         delete (void *)text;
       delete subMenu;
       delete bitmaps[0];
       delete bitmaps[1];
@@ -259,7 +259,7 @@ public class MenuPlacement : MenuItem
 public:
 /*
    property Menu parent { set {} };
-   property char * text { set {} };
+   property const char * text { set {} };
    property Key hotKey { set {} };
 */
 };
@@ -589,7 +589,7 @@ public:
       }
    }
 
-   Menu FindMenu(char * name)
+   Menu FindMenu(const char * name)
    {
       ItemPtr ptr;
 
@@ -604,7 +604,7 @@ public:
    }
 
    property Menu parent { set { if(value) value.AddSubMenu(this); } };
-   property char * text { set { text = value; /* CopyString(value);*/ } };
+   property const char * text { set { text = (char *)value; /* CopyString(value);*/ } };
    property Key hotKey { set { hotKey = value; } };
    property bool hasMargin { set { hasMargin = value; } };
 
@@ -645,7 +645,7 @@ public class PopupMenu : Window
    bool mouseInput;
    Time unpressedTime;
 
-   void (* FontExtent)(Display display, Font font, char * text, int len, int * width, int * height);
+   void (* FontExtent)(Display display, Font font, const char * text, int len, int * width, int * height);
 
    FontResource boldFont { faceName = font.faceName, font.size, bold = true, window = this };
    BitmapResource subArrow { fileName = "<:ecere>elements/arrowRight.png", window = this };
@@ -966,7 +966,7 @@ public class PopupMenu : Window
             }
             else
             {
-               char * text = ITEM_TEXT(item);
+               const char * text = ITEM_TEXT(item);
                FontExtent(display, fontObject, text, text ? strlen(text) : 0, &len, null);
                if((mx >= x - 16 && mx < x + len + 16))
                {
index ff211d5..d724db2 100644 (file)
@@ -115,18 +115,9 @@ public class PathBox : CommonControl
    watch(selectionText)  { editBox.selectionText = selectionText; };
    watch(opacity)        { editBox.opacity = opacity; };
 
-#if defined(__WIN32__)
-   PathBox()
-   {
-      path[0] = '\0';
-   }
-#endif
-
    PathTypeExpected typeExpected;
    FileDialog browseDialog;
-#if defined(__WIN32__)
    char path[MAX_LOCATION];
-#endif
 
    BitmapResource file { "<:ecere>mimeTypes/file.png", transparent = true, alphaBlend = true };
    BitmapResource brokenFile { "<:ecere>mimeTypes/brokenFile.png", transparent = true, alphaBlend = true };
@@ -198,7 +189,7 @@ public class PathBox : CommonControl
             DataBox dataBox = pathBoxDataBox;
             ListBox listBox;
             DirectoriesBox dirsBox = pathBoxDirsBox;
-            char * ebContents = editBox.contents;
+            const char * ebContents = editBox.contents;
             String backFilePath = CopyString(browseDialog.filePath);
             char * baseBrowsePath = dirsBox ? dirsBox.baseBrowsePath : null;
 
@@ -346,7 +337,7 @@ public:
    void SelectAll() { editBox.SelectAll(); }
    void Deselect() { editBox.Deselect(); }
 
-   property String path
+   property const String path
    {
       set
       {
@@ -416,7 +407,7 @@ public:
          DataRow row;
          for(row = list.firstRow; row; row = row.next)
          {
-            String string = row.string;
+            const String string = row.string;
             if(string && string[0])
                array.Add(CopyUnixPath(string));
          }
index 0eaeb2d..3f9c990 100644 (file)
@@ -142,7 +142,7 @@ private:
       Update(null);
    };
 
-   char * text;
+   const char * text;
    OldList fields;
    int width;
 };
@@ -199,7 +199,7 @@ public:
       }
    }
 
-   property char * text
+   property const char * text
    {
       set
       {
@@ -235,7 +235,7 @@ public:
       }
    }
 
-   void SetTextf(char * format, ...)
+   void SetTextf(const char * format, ...)
    {
       if(this)
       {
index 9c0d6b0..840b5a6 100644 (file)
@@ -301,7 +301,7 @@ public class TabControl : Window
       return false;
    }
 
-   void ShowDecorations(Font captionFont, Surface surface, char * name, bool active, bool moving)
+   void ShowDecorations(Font captionFont, Surface surface, const char * name, bool active, bool moving)
    {
       if(placement == bottom && ((BorderBits)borderStyle).fixed)
       {
index afea196..74a6f9f 100644 (file)
@@ -30,7 +30,7 @@ public class ToolTip : Window
    int margin; margin = 2;
    Point offset; offset = { 0, 20 };
 
-   public property String tip
+   public property const String tip
    {
       set
       {
index e55a4d2..a599e2d 100644 (file)
@@ -13,7 +13,7 @@ default:
 extern int __ecereVMethodID___ecereNameSpace__ecere__gui__Window_OnKeyHit;
 private:
 
-static char * iconNames[] =
+static const char * iconNames[] =
 {
    "<:ecere>places/folder.png",
    "<:ecere>status/folderOpen.png",
@@ -71,7 +71,7 @@ public enum FileNameType     // Had to be private, since icons member of FileDia
       get { return this >= normalFile && this <= opticalMediaImageFile; }
    }
 
-   FileNameType ::SelectByExtension(char * extension)
+   FileNameType ::SelectByExtension(const char * extension)
    {
       if(!strcmpi(extension, "ews"))
          return ewsFile;
@@ -128,9 +128,10 @@ public enum FileNameType     // Had to be private, since icons member of FileDia
 public enum FileDialogType { open, save, selectDir, multiOpen };
 public struct FileFilter
 {
-   char * name, * extensions;
+   const char * name;
+   const char * extensions;
 
-   bool ValidateFileName(char * name)
+   bool ValidateFileName(const char * name)
    {
       if(strcmp(name, "..") && strcmp(name, ".") && strcmp(name, ""))
       {
@@ -162,7 +163,7 @@ public struct FileFilter
 public enum FileForceExtension { never, always, whenNoneGiven };
 public struct FileType
 {
-   char * name, * typeExtension;
+   const char * name, * typeExtension;
    FileForceExtension forceExtension;
 };
 
@@ -170,7 +171,7 @@ static enum FileDialogSelectFrom { fromEditBox, fromListBox, fromDropBox };
 
 public struct FileName
 {
-   char * name;
+   const char * name;
    FileNameType type;
    int indent;
 
@@ -217,24 +218,26 @@ public struct FileName
       {
          int len = strlen(newData.name) + 1;
          name = new char[len];
-         CopyBytes(name, newData.name, len);
+         CopyBytes((char *)name, newData.name, len);
       }
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       int len = strlen(string) + 1;
       name = new char[len];
-      CopyBytes(name, string, len);
+      CopyBytes((char *)name, string, len);
       return true;
    }
 
    void OnFree()
    {
-      delete name;
+      char * n = (char *)name;
+      delete n;
+      name = null;
    }
 
-   char * OnGetString(char * string, void * fieldData, bool * needClass)
+   const char * OnGetString(char * string, void * fieldData, bool * needClass)
    {
       return name;
    }
@@ -311,8 +314,8 @@ public:
    };
 
    // Stuff currently in config moving to FileDialog:
-   property char * filePath { set { strcpy(filePath, value); } get { return (char *)filePath; } };
-   property char * currentDirectory
+   property const char * filePath { set { strcpy(filePath, value); } get { return (char *)filePath; } };
+   property const char * currentDirectory
    {
       set
       {
@@ -320,7 +323,7 @@ public:
          PathCat(currentDirectory, value);
          FileFixCase(currentDirectory);
       }
-      get { return (char *)currentDirectory; }
+      get { return currentDirectory; }
    };
    property FileFilter * filters { set { filters = value; } get { return filters; } };
    property FileType * types { set { types = value; } get { return types; } };
@@ -413,7 +416,7 @@ public:
 
    // Get only
    property int numSelections { get { return numSelections; } };
-   property char ** multiFilePaths { get { return multiFilePaths; } };
+   property const char * const * multiFilePaths { get { return multiFilePaths; } };
 
 private:
    FileDialog()
@@ -440,7 +443,9 @@ private:
 
    ~FileDialog()
    {
-      delete customFilter.extensions;
+      char * customExtensions = (char *)customFilter.extensions;
+      delete customExtensions;
+      customFilter.extensions = null;
       if(multiFilePaths)
       {
          int c;
@@ -779,7 +784,7 @@ private:
       return false;
    }
 
-   bool SelectFile(char * fileName, FileDialogSelectFrom from, bool isOK)
+   bool SelectFile(const char * fileName, FileDialogSelectFrom from, bool isOK)
    {
       bool result = true;
       FileAttribs exists = 0;
@@ -877,8 +882,9 @@ private:
                char extension[MAX_EXTENSION];
                int c;
                char * name = new char[numExtensions * (4 + MAX_EXTENSION)];
-
-               delete customFilter.extensions;
+               char * customExtensions = (char *)customFilter.extensions;
+               delete customExtensions;
+               customFilter.extensions = null;
 
                if(!strcmp(wildcardPointer, "*") || strstr(wildcardPointer, "*.*"))
                {
@@ -888,7 +894,7 @@ private:
                else
                {
                   customFilter.extensions = new char[numExtensions * (2 + MAX_EXTENSION)];
-                  customFilter.extensions[0] = '\0';
+                  ((char *)customFilter.extensions)[0] = '\0';
                   name[0] = '\0';
 
                   numExtensions = 0;
@@ -907,14 +913,14 @@ private:
                      if(numExtensions)
                      {
                         strcat(name, ", ");
-                        strcat(customFilter.extensions, ", ");
+                        strcat((char *)customFilter.extensions, ", ");
                      }
                      strcat(name, "*.");
                      strcat(name, extension);
                      if(!extension[0])
-                        strcat(customFilter.extensions, ".");
+                        strcat((char *)customFilter.extensions, ".");
                      else
-                        strcat(customFilter.extensions, extension);
+                        strcat((char *)customFilter.extensions, extension);
 
                      numExtensions++;
                   }
@@ -1199,7 +1205,7 @@ private:
             }
             else
             {
-               char * fileName = this.fileName.line.text;
+               const char * fileName = this.fileName.line.text;
                //selectedFileName = new char[strlen(fileName)+1];      // Room to change extension???
                selectedFileName = new char[MAX_FILENAME];
                strcpy(selectedFileName, fileName);
@@ -1237,7 +1243,7 @@ private:
          }
          else
          {
-            char * fileName = this.fileName.line.text;
+            const char * fileName = this.fileName.line.text;
             selectedFileName = new char[strlen(fileName)+1];
             strcpy(selectedFileName, fileName);
             result = SelectFile(selectedFileName, fromEditBox, control.id == DialogResult::ok);
@@ -1451,7 +1457,7 @@ private:
          if(active)
          {
             char * selectedFileName = null;
-            char * editText;
+            const char * editText;
             if(getNameFromListBox)
             {
                DataRow row = listBox.currentRow;
@@ -1496,7 +1502,7 @@ public class CreateDirectoryDialog : Window
 
 public:
 
-   property char * currentDirectory
+   property const char * currentDirectory
    {
       set
       {
index 5f74772..0d02a68 100644 (file)
@@ -13,7 +13,7 @@ public class FindDialog : Window
 
 public:
    property EditBox editBox { set { editBox = value; } };
-   property char * searchString { set { findWhat.contents = value; } get { return findWhat.contents; } };
+   property const char * searchString { set { findWhat.contents = value; } get { return findWhat.contents; } };
    property bool wholeWord { set { wholeWord.checked = value; } get { return wholeWord.checked; } };
    property bool matchCase { set { matchCase.checked = value; } get { return matchCase.checked; } };
    property bool searchUp { set { (value ? searchUp : searchDown).checked = true; } get { return searchUp.checked; } };
@@ -52,7 +52,7 @@ private:
 
       bool NotifyClicked(Button control, int x, int y, Modifiers mods)
       {
-         char * searchString = findWhat.contents;
+         const char * searchString = findWhat.contents;
          bool searchUp = this.searchUp.checked;
          bool wholeWord = this.wholeWord.checked;
          bool matchCase = this.matchCase.checked;
index 3b7ffde..d92f709 100644 (file)
@@ -19,7 +19,7 @@ public class MessageBox : Window
 
 public:
    property MessageBoxType type { set { style = value; } };
-   property char * contents
+   property const char * contents
    {
       set
       {
index 1c27681..bea17eb 100644 (file)
@@ -47,7 +47,7 @@ public:
          }
       }
    };
-   property char * searchString
+   property const char * searchString
    {
       set
       {
@@ -58,7 +58,7 @@ public:
       }
       get { return findWhat.contents; }
    };
-   property char * replaceString { set { replaceWith.contents = replaceString; } get { return replaceWith.contents; } }
+   property const char * replaceString { set { replaceWith.contents = replaceString; } get { return replaceWith.contents; } }
    property bool wholeWord { set { wholeWord.checked = value; } get { return wholeWord.checked; } };
    property bool matchCase { set { matchCase.checked = value; } get { return matchCase.checked; } };
 
@@ -75,8 +75,8 @@ private:
       bool selectionOnly = selection.checked;
       bool wholeWord = this.wholeWord.checked;
       bool matchCase = this.matchCase.checked;
-      char * searchString = findWhat.contents;
-      char * replaceString = replaceWith.contents;
+      const char * searchString = findWhat.contents;
+      const char * replaceString = replaceWith.contents;
 
       if(!editBox) return false;
       if(!continued)
@@ -275,8 +275,8 @@ private:
          bool selectionOnly = selection.checked;
          bool wholeWord = this.wholeWord.checked;
          bool matchCase = this.matchCase.checked;
-         char * searchString = findWhat.contents;
-         char * replaceString = replaceWith.contents;
+         const char * searchString = findWhat.contents;
+         const char * replaceString = replaceWith.contents;
 
          if(!editBox) return false;
          if(!continued)
index 29156e9..6764e72 100644 (file)
@@ -640,11 +640,11 @@ class AndroidInterface : Interface
 
    }
 
-   char ** GraphicsDrivers(int * numDrivers)
+   const char ** GraphicsDrivers(int * numDrivers)
    {
-      static char *graphicsDrivers[] = { "OpenGL" };
+      static const char *graphicsDrivers[] = { "OpenGL" };
       *numDrivers = sizeof(graphicsDrivers) / sizeof(char *);
-      return (char **)graphicsDrivers;
+      return (const char **)graphicsDrivers;
    }
 
    void GetCurrentMode(bool * fullScreen, int * resolution, int * colorDepth, int * refreshRate)
@@ -677,7 +677,7 @@ class AndroidInterface : Interface
 
    // -- Window manipulation ---
 
-   void SetRootWindowCaption(Window window, char * name)
+   void SetRootWindowCaption(Window window, const char * name)
    {
 
    }
index 08a12c1..67a2254 100644 (file)
@@ -458,11 +458,11 @@ class NCursesInterface : Interface
 
    }
 
-   char ** GraphicsDrivers(int * numDrivers)
+   const char ** GraphicsDrivers(int * numDrivers)
    {
-      static char *graphicsDrivers[] = { "NCurses" };
+      static const char *graphicsDrivers[] = { "NCurses" };
       *numDrivers = sizeof(graphicsDrivers) / sizeof(char *);
-      return (char **)graphicsDrivers;
+      return (const char **)graphicsDrivers;
    }
 
    void GetCurrentMode(bool * fullScreen, Resolution * resolution, PixelFormat * colorDepth, int * refreshRate)
@@ -507,7 +507,7 @@ class NCursesInterface : Interface
 
    // -- Window manipulation ---
 
-   void SetRootWindowCaption(void * windowHandle, char * name)
+   void SetRootWindowCaption(void * windowHandle, const char * name)
    {
    }
 
index e1c0edb..a7e50d2 100644 (file)
@@ -278,11 +278,11 @@ class Win32ConsoleInterface : Interface
 
    }
 
-   char ** GraphicsDrivers(int * numDrivers)
+   const char ** GraphicsDrivers(int * numDrivers)
    {
-      static char *graphicsDrivers[] = { "Win32Console" };
+      static const char *graphicsDrivers[] = { "Win32Console" };
       *numDrivers = sizeof(graphicsDrivers) / sizeof(char *);
-      return (char **)graphicsDrivers;
+      return (const char **)graphicsDrivers;
    }
 
    void GetCurrentMode(bool * fullScreen, Resolution * resolution, PixelFormat * colorDepth, int * refreshRate)
@@ -332,7 +332,7 @@ class Win32ConsoleInterface : Interface
 
    // -- Window manipulation ---
 
-   void SetRootWindowCaption(void * windowHandle, char * name)
+   void SetRootWindowCaption(void * windowHandle, const char * name)
    {
       if(windowHandle == guiApp.desktop)
          SetConsoleTitle(name);
index 9258d23..e2e7143 100644 (file)
@@ -109,7 +109,7 @@ static byte key2VK[256] =
    VK_NUMPAD2,VK_NUMPAD3,VK_NUMPAD0,VK_DELETE,0,0,0,VK_F11,VK_F12,0,0,0,0,0,0,0,
    0,VK_RCONTROL,0,0,VK_RMENU,0,VK_HOME,VK_UP,VK_PRIOR,VK_LEFT,VK_RIGHT,VK_END,VK_DOWN,VK_NEXT,VK_INSERT,VK_DELETE
 };
-static uint16 className[] = L"Ecere Application";
+static const uint16 className[] = L"Ecere Application";
 static HINSTANCE hInstance;
 
 static DEVMODE devMode;
@@ -1261,11 +1261,11 @@ class Win32Interface : Interface
 
    }
 
-   char ** GraphicsDrivers(int * numDrivers)
+   const char ** GraphicsDrivers(int * numDrivers)
    {
-      static char *graphicsDrivers[] = { "GDI", "DirectDraw", "OpenGL", "Direct3D", "Direct3D8", "Direct3D9" };
+      static const char *graphicsDrivers[] = { "GDI", "DirectDraw", "OpenGL", "Direct3D", "Direct3D8", "Direct3D9" };
       *numDrivers = sizeof(graphicsDrivers) / sizeof(char *);
-      return (char **)graphicsDrivers;
+      return (const char **)graphicsDrivers;
    }
 
    void GetCurrentMode(bool * fullScreen, Resolution * resolution, PixelFormat * colorDepth, int * refreshRate)
@@ -1453,7 +1453,7 @@ class Win32Interface : Interface
 
    // -- Window manipulation ---
 
-   void SetRootWindowCaption(Window window, char * name)
+   void SetRootWindowCaption(Window window, const char * name)
    {
       uint16 * text = UTF8toUTF16(name, null);
       guiApp.Unlock();
index 8bf565e..92d315d 100644 (file)
@@ -2380,11 +2380,11 @@ class XInterface : Interface
       //*XUnlockDisplay(xGlobalDisplay);
    }
 
-   char ** GraphicsDrivers(int * numDrivers)
+   const char ** GraphicsDrivers(int * numDrivers)
    {
-      static char *graphicsDrivers[] = { "X", "OpenGL" };
+      static const char *graphicsDrivers[] = { "X", "OpenGL" };
       *numDrivers = sizeof(graphicsDrivers) / sizeof(char *);
-      return (char **)graphicsDrivers;
+      return (const char **)graphicsDrivers;
    }
 
    void GetCurrentMode(bool * fullScreen, int * resolution, int * colorDepth, int * refreshRate)
@@ -2870,7 +2870,7 @@ class XInterface : Interface
 
    // -- Window manipulation ---
 
-   void SetRootWindowCaption(Window window, char * name)
+   void SetRootWindowCaption(Window window, const char * name)
    {
       if(window.windowHandle)
       {
index 102894e..62d8ecb 100644 (file)
@@ -205,12 +205,12 @@ void CocoaDispatch_OnDrawOverChildren(Window window, Surface surface)
     window.OnDrawOverChildren(surface);
 }
 
-bool CocoaDispatch_OnFileModified(Window window, FileChange fileChange, char * param)
+bool CocoaDispatch_OnFileModified(Window window, FileChange fileChange, const char * param)
 {
     return window.OnFileModified(fileChange, param);
 }
 
-bool CocoaDispatch_OnSaveFile(Window window, char *fileName)
+bool CocoaDispatch_OnSaveFile(Window window, const char *fileName)
 {
     return window.OnSaveFile(fileName);
 }
index 92803c6..cf75bba 100644 (file)
@@ -28,7 +28,7 @@ void CocoaUnlock(WindowHandle handle);
 void CocoaGetCurrentMode(bool * fullScreen, int * resolution, int * colorDepth, int * refreshRate);
 WindowHandle CocoaCreateRootWindow(EcereWindowRef window);
 void CocoaDestroyRootWindow(WindowHandle handle);
-void CocoaSetRootWindowCaption(WindowHandle window, char *name);
+void CocoaSetRootWindowCaption(WindowHandle window, const char *name);
 void CocoaPositionRootWindow(WindowHandle handle, int x, int y, int w, int h, bool move, bool resize);
 void CocoaOffsetWindow(WindowHandle window, int *x, int *y);
 void CocoaGetMousePosition(int *x, int *y);
@@ -79,7 +79,7 @@ void CocoaDispatch_OnMouseCaptureLost(EcereWindowRef window);
 //void CocoaDispatch_OnHScroll(EcereWindowRef window, ScrollBarAction action, int position, Key key);
 //void CocoaDispatch_OnVScroll(EcereWindowRef window, ScrollBarAction action, int position, Key key);
 //void CocoaDispatch_OnDrawOverChildren(EcereWindowRef window, Surface surface);
-//bool CocoaDispatch_OnFileModified(EcereWindowRef window, FileChange fileChange, char * param);
-bool CocoaDispatch_OnSaveFile(EcereWindowRef window, char *fileName);
+//bool CocoaDispatch_OnFileModified(EcereWindowRef window, FileChange fileChange, const char * param);
+bool CocoaDispatch_OnSaveFile(EcereWindowRef window, const char *fileName);
 
 #endif // !defined(_COCOAINTERFACE_H)
index dc08d3f..5625942 100644 (file)
@@ -59,10 +59,10 @@ class CocoaInterface : Interface
         printf("Unlock %s:%i\n", __FILE__, __LINE__);
     }
 
-    char **GraphicsDrivers(int *numDrivers)
+    const char **GraphicsDrivers(int *numDrivers)
     {
-        static char *graphicsDrivers[] = { "CocoaOpenGL" };
-        *numDrivers = sizeof(graphicsDrivers) / sizeof(char *);
+        static const char *graphicsDrivers[] = { "CocoaOpenGL" };
+        *numDrivers = (const char *)sizeof(graphicsDrivers) / sizeof(char *);
 
         return (char **)graphicsDrivers;
     }
@@ -105,7 +105,7 @@ class CocoaInterface : Interface
 
     // -- Window manipulation ---
 
-    void SetRootWindowCaption(Window window, char * name)
+    void SetRootWindowCaption(Window window, const char * name)
     {
         printf("SetRootWindowCaption %s:%i\n", __FILE__, __LINE__);
         CocoaSetRootWindowCaption(window.windowHandle, name);
index d1508ec..6149405 100644 (file)
@@ -43,7 +43,7 @@ class TVisionSkin : Skin
       return { faceName = $"Tahoma", size = 8.25f, bold = true };
    }
 
-   char * ::CursorsBitmaps(uint id, int *hotSpotX, int *hotSpotY, byte ** paletteShades)
+   const char * ::CursorsBitmaps(uint id, int *hotSpotX, int *hotSpotY, byte ** paletteShades)
    {
       return null;
    }
@@ -164,7 +164,7 @@ public class TVisionSkin_Window : Window
       *ch = Max(*ch, 0);
    }
 
-   void ShowDecorations(void * displayData, Surface surface, char * name, bool active, bool moving)
+   void ShowDecorations(void * displayData, Surface surface, const char * name, bool active, bool moving)
    {
       Size size = this.size;
       int w = size.w, h = size.h;
index 5ac1a20..8a86161 100644 (file)
@@ -93,7 +93,7 @@ static ColorKey gradientInactive[] =
    { ColorAlpha { 255, Color { 192, 192, 192 } }, 1.00f }
 };
 */
-char * cursorsBitmaps[] =
+static const char * cursorsBitmaps[] =
 {
    "<:ecere>cursors/arrow.png",
    "<:ecere>cursors/iBeam.png",
@@ -118,7 +118,7 @@ static Point cursorsHotSpots[] =
    { 5, 0 }
 };
 
-static char * skinBitmaps[SkinBitmap] =
+static const char * skinBitmaps[SkinBitmap] =
 {
    "<:ecere>elements/areaMinimize.png",
    "<:ecere>elements/areaMaximize.png",
@@ -152,7 +152,7 @@ class WindowsSkin : Skin
 #endif
    }
 
-   char * ::CursorsBitmaps(uint id, int * hotSpotX, int *hotSpotY, byte ** paletteShades)
+   const char * ::CursorsBitmaps(uint id, int * hotSpotX, int *hotSpotY, byte ** paletteShades)
    {
       *hotSpotX = cursorsHotSpots[id].x;
       *hotSpotY = cursorsHotSpots[id].y;
@@ -332,7 +332,7 @@ public class WindowsSkin_Window : Window
       *ch = Max(*ch, 0);
    }
 
-   void ShowDecorations(Font captionFont, Surface surface, char * name, bool active, bool moving)
+   void ShowDecorations(Font captionFont, Surface surface, const char * name, bool active, bool moving)
    {
       bool isNormal = (state == normal);
       int top = 0, border = 0, bottom = 0;
@@ -632,7 +632,7 @@ public class WindowsSkin_Button : Button
       {
          ButtonState state = this.buttonState;
          Bitmap buttonBitmap = bitmap ? bitmap.bitmap : null;
-         char * text = this.text;
+         const char * text = this.text;
          int offset = (state == down && this.offset) ? 1 : 0;
          Color backColor = background;
          int isDefault = this.isDefault;
index 81e1872..4275254 100644 (file)
@@ -82,13 +82,13 @@ private:
 static void OnDisplay(Class _class, void * data, Surface surface, int x, int y, int width, void * fieldData, Alignment alignment, DataDisplayFlags displayFlags)
 {
    static char tempString[16384];
-   char * string;
+   const char * string;
    int len;
    bool needClass = false;
    int w, h;
 
    tempString[0] = '\0';
-   string = ((char * (*)(void *, void *, void *, void *, void *))(void *)_class._vTbl[__ecereVMethodID_class_OnGetString])(_class, data, tempString, fieldData, &needClass);
+   string = ((const char * (*)(void *, void *, void *, void *, void *))(void *)_class._vTbl[__ecereVMethodID_class_OnGetString])(_class, data, tempString, fieldData, &needClass);
    len = string ? strlen(string) : 0;
 
    //surface.TextOpacity(false);
@@ -173,7 +173,7 @@ static Window OnEdit(Class _class, void * data, Window window, Window master,
    {
       char tempString[MAX_F_STRING] = "";
       // Don't show the editbox right away so that the text is highlighted by default
-      char * string = "";
+      const char * string = "";
       EditBox editBox
       {
          window, master = master, visible = false, //position = { x, y },
@@ -201,7 +201,7 @@ static Window OnEdit(Class _class, void * data, Window window, Window master,
       if(data)
       {
          bool needClass = false;
-         char * result = ((char *(*)(void *, void *, char *, void *, bool *))(void *)_class._vTbl[__ecereVMethodID_class_OnGetString])(_class, data, tempString, fieldData, &needClass);
+         const char * result = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)_class._vTbl[__ecereVMethodID_class_OnGetString])(_class, data, tempString, fieldData, &needClass);
          if(result)
             string = result;
       }
index ed2eb8f..a04a704 100644 (file)
@@ -34,8 +34,7 @@ static class ServerNode : BTNode
    bool resolved;
    ~ServerNode()
    {
-      char * name = (char *)key;
-      delete name;
+      delete (char *)key;
    }
 }
 
@@ -56,7 +55,7 @@ static class ServerNameCache
          delete server;
       }
    }
-   bool Resolve(char * host, char * address)
+   bool Resolve(const char * host, char * address)
    {
       ServerNode server;
       mutex.Wait();
@@ -76,7 +75,7 @@ static class ServerNameCache
 
 static ServerNameCache serverNameCache { };
 
-static char * GetString(char * string, char * what, int count)
+static const char * GetString(const char * string, const char * what, int count)
 {
    int c;
    for(c = 0; what[c]; c++)
@@ -151,7 +150,7 @@ private class HTTPConnection : SSLSocket
             return pos;
          if(c<count)
          {
-            char * string = (char *)buffer;
+            const char * string = (const char *)buffer;
 
 #ifdef _DEBUG
             fwrite(buffer, 1, c, stdout);
@@ -166,24 +165,24 @@ private class HTTPConnection : SSLSocket
             else
             {
                //file.openStarted = true;
-               if((string = GetString((char *)buffer, "HTTP/1.1 ", count)) ||
-                  (string = GetString((char *)buffer, "HTTP/1.0 ", count)))
+               if((string = GetString((const char *)buffer, "HTTP/1.1 ", count)) ||
+                  (string = GetString((const char *)buffer, "HTTP/1.0 ", count)))
                {
                   file.status = atoi(string);
                }
-               else if((string = GetString((char *)buffer, "Transfer-Encoding: ", count)))
+               else if((string = GetString((const char *)buffer, "Transfer-Encoding: ", count)))
                {
                   if(!strnicmp(string, "chunked", strlen("chunked")))
                   {
                      file.chunked = true;
                   }
                }
-               else if((string = GetString((char *)buffer, "Content-Length: ", count)))
+               else if((string = GetString((const char *)buffer, "Content-Length: ", count)))
                {
                   file.totalSize = atoi(string);
                   file.totalSizeSet = true;
                }
-               else if((string = GetString((char *)buffer, "Content-Type: ", count)))
+               else if((string = GetString((const char *)buffer, "Content-Type: ", count)))
                {
                   char * cr = strstr(string, "\r");
                   char * lf = strstr(string, "\n");
@@ -199,7 +198,7 @@ private class HTTPConnection : SSLSocket
                   memcpy(file.contentType, string, len);
                   file.contentType[len] = 0;
                }
-               else if((string = GetString((char *)buffer, "Content-disposition: ", count)))
+               else if((string = GetString((const char *)buffer, "Content-disposition: ", count)))
                {
                   char * cr = strstr(string, "\r");
                   char * lf = strstr(string, "\n");
@@ -215,18 +214,18 @@ private class HTTPConnection : SSLSocket
                   memcpy(file.contentDisposition, string, len);
                   file.contentDisposition[len] = 0;
                }
-               else if((string = GetString((char *)buffer, "Connection: ", count)))
+               else if((string = GetString((const char *)buffer, "Connection: ", count)))
                {
                   if(!strnicmp(string, "close", strlen("close")))
                   {
                      file.close = true;
                   }
                }
-               else if((string = GetString((char *)buffer, "Location: ", count)))
+               else if((string = GetString((const char *)buffer, "Location: ", count)))
                {
                   if(file.relocation)
                   {
-                     strncpy(file.relocation, (char *)buffer + 10, c - 10);
+                     strncpy(file.relocation, (const char *)buffer + 10, c - 10);
                      file.relocation[c - 10] = '\0';
                   }
                }
@@ -255,7 +254,7 @@ private class HTTPConnection : SSLSocket
          if(file.chunked && !file.chunkSize)
          {
             int pos = 0, c = 0;
-            char * string = null;
+            const char * string = null;
             bool ready = false;
             while(pos + c < (int)count-3)
             {
@@ -277,7 +276,7 @@ private class HTTPConnection : SSLSocket
                else
                {
                   if(!string)
-                     string = buffer + pos;
+                     string = (const char *)buffer + pos;
                   c++;
                }
             }
@@ -332,17 +331,17 @@ public:
       get { return contentDisposition; }
    }
 
-   bool OpenURL(char * name, char * referer, char * relocation)
+   bool OpenURL(const char * name, const char * referer, char * relocation)
    {
       return RetrieveHead(name, referer, relocation, false);
    }
 
 private:
 
-   bool RetrieveHead(char * name, char * referer, char * relocation, bool askBody)
+   bool RetrieveHead(const char * name, const char * referer, char * relocation, bool askBody)
    {
       bool result = false;
-      String http, https;
+      const String http, https;
       if(!this || !name) return false;
       http = strstr(name, "http://");
       if(http != name) http = null;
@@ -359,7 +358,7 @@ private:
          char server[1024];
          char msg[1024];
          int len;
-         char * serverStart = http ? ecere::net::GetString(name, "http://", 0) : ecere::net::GetString(name, "https://", 0);
+         const char * serverStart = http ? ecere::net::GetString(name, "http://", 0) : ecere::net::GetString(name, "https://", 0);
          char * fileName = strstr(serverStart, "/");
          int port = https ? 443 : 80;
          char * colon;
@@ -770,7 +769,7 @@ private:
       return read / size;
    }
 
-   int Write(byte * buffer, uint size, uint count)
+   int Write(const byte * buffer, uint size, uint count)
    {
       return 0;
    }
@@ -786,7 +785,7 @@ private:
       return false;
    }
 
-   bool Puts(char * string)
+   bool Puts(const char * string)
    {
       return false;
    }
@@ -857,7 +856,7 @@ private:
    String contentDisposition;
 }
 
-public HTTPFile FileOpenURL(char * name)
+public HTTPFile FileOpenURL(const char * name)
 {
    HTTPFile f { };
    if(f.OpenURL(name, null, null))
index e766af2..f03ac8d 100644 (file)
@@ -193,7 +193,7 @@ public class NetworkClientFile : File
       return bytesRead;
    }
 
-   int Write(byte * buffer, uint size, uint count)
+   int Write(const byte * buffer, uint size, uint count)
    {
       return 0;
    }
@@ -208,7 +208,7 @@ public class NetworkClientFile : File
       return 0;
    }
 
-   bool Puts(char * string)
+   bool Puts(const char * string)
    {
       return 0;
    }
@@ -389,7 +389,7 @@ public class NetworkClientFile : File
    uint position;
 }
 
-public FileServerConnection ConnectToFileServer(char * hostName, int port)
+public FileServerConnection ConnectToFileServer(const char * hostName, int port)
 {
    FileServerConnection connection { };
    if(connection)
index 6cc1e54..3fd5a8f 100644 (file)
@@ -75,7 +75,7 @@ public class SSLSocket : Socket
       return n;
    }
 
-   int SendData(unsigned char * buffer, int count, unsigned int flags)
+   int SendData(const unsigned char * buffer, int count, unsigned int flags)
    {
       int n = ssl ? SSL_write(ssl, buffer, count) : Socket::SendData(buffer, count, flags);
       return n;
index 586cd70..560d8a1 100644 (file)
@@ -179,7 +179,7 @@ public:
       get { return this ? service : null; }
    };
 
-   property char * inetAddress { get { return (char *)inetAddress; } };
+   property const char * inetAddress { get { return (char *)inetAddress; } };
    property int inetPort { get { return inetPort; } }
    property Socket next { get { return next; } };
    property bool connected { get { return _connected == 1 || _connected == -2; } };
@@ -217,7 +217,7 @@ public:
    virtual void OnDisconnect(int code);
    virtual void OnReceivePacket(Packet packet);
 
-   bool Connect(char * address, int port)
+   bool Connect(const char * address, int port)
    {
       bool result = false;
    #if defined(__WIN32__) || defined(__unix__) || defined(__APPLE__)
@@ -303,7 +303,7 @@ public:
    }
 
    // --- Transfer ---
-   bool Send(void * buffer, int size)
+   bool Send(const void * buffer, int size)
    {
    #if defined(__WIN32__) || defined(__unix__) || defined(__APPLE__)
       if(this)
@@ -352,12 +352,12 @@ public:
       return false;
    }
 
-   bool SendString(char * string)
+   bool SendString(const char * string)
    {
       return Send(string, (int)strlen(string));
    }
 
-   bool Sendf(char * format, ...)
+   bool Sendf(const char * format, ...)
    {
       bool result;
       va_list args;
@@ -370,7 +370,7 @@ public:
       return result;
    }
 
-   bool DatagramConnect(char * sendAddress, int port)
+   bool DatagramConnect(const char * sendAddress, int port)
    {
       SOCKET s = socket(AF_INET,SOCK_DGRAM,0);
       if(s != -1)
@@ -424,9 +424,9 @@ public:
    {
       return (int)recv(s, (char *)buffer, count, flags);
    }
-   virtual int SendData(byte * buffer, int count, uint flags)
+   virtual int SendData(const byte * buffer, int count, uint flags)
    {
-      return (int)send(s, (char *)buffer, count, flags);
+      return (int)send(s, (const char *)buffer, count, flags);
    }
    virtual bool OnEstablishConnection(int s);
 
@@ -513,7 +513,7 @@ private:
       network.mutex.Release();
    }
 
-   bool _Connect(SOCKET s, char * address, int port)
+   bool _Connect(SOCKET s, const char * address, int port)
    {
       bool result = false;
       if(this)
index b413e2e..99afd3e 100644 (file)
@@ -603,7 +603,7 @@ public:
       socket = this, connected = true;
    };
 
-   bool Connect(char * server, int port)
+   bool Connect(const char * server, int port)
    {
       bool result = false;
       if(Socket::Connect(server, port))
index 4d17ab5..568c223 100644 (file)
@@ -272,7 +272,7 @@ void Network_Terminate()
 
 #ifndef ECERE_NONET
 
-public bool GetAddressFromName(char * hostName, char * inetAddress)
+public bool GetAddressFromName(const char * hostName, char * inetAddress)
 {
    HOSTENT * host;
 
@@ -288,7 +288,7 @@ public bool GetAddressFromName(char * hostName, char * inetAddress)
    return false;
 }
 
-public bool GetNameFromAddress(char * inetAddress, char * hostName)
+public bool GetNameFromAddress(const char * inetAddress, char * hostName)
 {
    struct in_addr in;
    HOSTENT * host;
index a8afc6e..8bf3966 100644 (file)
@@ -19,11 +19,11 @@ public class Archive
    FileSize totalSize;
 
 public:
-   virtual ArchiveDir OpenDirectory(char * name, FileStats stats, ArchiveAddMode addMode);
+   virtual ArchiveDir OpenDirectory(const char * name, FileStats stats, ArchiveAddMode addMode);
    virtual bool Clear(void);
 
-   virtual File FileOpen(char * fileName);
-   virtual FileAttribs FileExists(char * fileName);
+   virtual File FileOpen(const char * fileName);
+   virtual FileAttribs FileExists(const char * fileName);
    virtual File FileOpenAtPosition(uint position);
    virtual void SetBufferSize(uint bufferSize);
    virtual void SetBufferRead(uint bufferRead);
@@ -36,16 +36,16 @@ public:
 public class ArchiveDir
 {
 public:
-   virtual ArchiveDir OpenDirectory(char * name, FileStats stats, ArchiveAddMode addMode);
-   virtual bool AddFromFile(char * name, File input, FileStats stats, ArchiveAddMode addMode, int compression, int * ratio, uint * newPosition);
-   virtual bool AddFromFileAtPosition(uint position, char * name, File input, FileStats stats, ArchiveAddMode addMode, int compression, int * ratio, uint * newPosition);
-   virtual bool Delete(char * fileName);
-   virtual bool Move(char * name, ArchiveDir to);
-   virtual bool Rename(char * name, char * newName);
-   virtual File FileOpen(char * fileName);
-   virtual FileAttribs FileExists(char * fileName);
+   virtual ArchiveDir OpenDirectory(const char * name, FileStats stats, ArchiveAddMode addMode);
+   virtual bool AddFromFile(const char * name, File input, FileStats stats, ArchiveAddMode addMode, int compression, int * ratio, uint * newPosition);
+   virtual bool AddFromFileAtPosition(uint position, const char * name, File input, FileStats stats, ArchiveAddMode addMode, int compression, int * ratio, uint * newPosition);
+   virtual bool Delete(const char * fileName);
+   virtual bool Move(const char * name, ArchiveDir to);
+   virtual bool Rename(const char * name, const char * newName);
+   virtual File FileOpen(const char * fileName);
+   virtual FileAttribs FileExists(const char * fileName);
 
-   bool Add(char * name, char * path, ArchiveAddMode addMode, int compression, int * ratio, uint * newPosition)
+   bool Add(const char * name, const char * path, ArchiveAddMode addMode, int compression, int * ratio, uint * newPosition)
    {
       bool result = false;
       File file = ::FileOpen(path, read);
@@ -60,13 +60,13 @@ public:
    }
 }
 
-public Archive ArchiveOpen(char * fileName, ArchiveOpenFlags flags)
+public Archive ArchiveOpen(const char * fileName, ArchiveOpenFlags flags)
 {
    return EARFileSystem::OpenArchive(fileName, flags);
 }
 #endif
 
-public bool ArchiveQuerySize(char * fileName, FileSize * size)
+public bool ArchiveQuerySize(const char * fileName, FileSize * size)
 {
    return EARFileSystem::QuerySize(fileName, size);
 }
index e6e2f2b..2fd88bc 100644 (file)
@@ -109,7 +109,7 @@ public class BufferedFile : File
       return 0;
    }
 
-   int Write(byte * buffer, uint size, uint count)
+   int Write(const byte * buffer, uint size, uint count)
    {
       uint result;
       uint numBytes;
@@ -187,7 +187,7 @@ public class BufferedFile : File
       return written != 0;
    }
 
-   bool Puts(char * string)
+   bool Puts(const char * string)
    {
       int len = strlen(string);
       int written = Write(string, 1, len);
@@ -339,7 +339,7 @@ public:
    }
 };
 
-public BufferedFile FileOpenBuffered(char * fileName, FileOpenMode mode)
+public BufferedFile FileOpenBuffered(const char * fileName, FileOpenMode mode)
 {
    BufferedFile result = null;
    //if(mode == read)
index 979b4a6..b9366f2 100644 (file)
@@ -6,7 +6,7 @@ import "ecere"
 
 public class Condition : struct
 {
-   char * name;
+   const char * name;
    Mutex lock { };
    int waiting;
    int signals;
@@ -14,7 +14,7 @@ public class Condition : struct
    Semaphore waitDone { };
 
 public:
-   property char * name
+   property const char * name
    {
       set { name = value; }
       get { return name; }
index a70486f..e011a75 100644 (file)
@@ -6,38 +6,38 @@ import "CalendarControl"
 
 #define ISLEAP(y) (!((y)%4) && (((y) % 100) || (!((y)% 400))))
 
-/*static */Array<String> enLongDaysNames
+/*static */Array<const String> enLongDaysNames
 { [
    "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
 ] };
-/*static */Array<String> enLongMonthsNames
+/*static */Array<const String> enLongMonthsNames
 { [
    "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
 ] };
 
-/*static */Array<String> enShortDaysNames
+/*static */Array<const String> enShortDaysNames
 { [
    "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
 ] };
-/*static */Array<String> enShortMonthsNames
+/*static */Array<const String> enShortMonthsNames
 { [
    "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
 ] };
 
-/*static */Array<String> longDaysNames
+/*static */Array<const String> longDaysNames
 { [
    $"Sunday", $"Monday", $"Tuesday", $"Wednesday", $"Thursday", $"Friday", $"Saturday"
 ] };
-/*static */Array<String> longMonthsNames
+/*static */Array<const String> longMonthsNames
 { [
    $"January", $"February", $"March", $"April", $"LongMonthNames"."May", $"June", $"July", $"August", $"September", $"October", $"November", $"December"
 ] };
 
-/*static */Array<String> shortDaysNames
+/*static */Array<const String> shortDaysNames
 { [
    $"Sun", $"Mon", $"Tue", $"Wed", $"Thu", $"Fri", $"Sat"
 ] };
-/*static */Array<String> shortMonthsNames
+/*static */Array<const String> shortMonthsNames
 { [
    $"Jan", $"Feb", $"Mar", $"Apr", $"ShortMonthNames"."May", $"Jun", $"Jul", $"Aug", $"Sep", $"Oct", $"Nov", $"Dec"
 ] };
@@ -50,7 +50,7 @@ public enum Month
 {
    january, february, march, april, may, june, july, august, september, october, november, december;
 
-   char * OnGetString(char * string, void * fieldData, bool * needClass)
+   const char * OnGetString(char * string, void * fieldData, bool * needClass)
    {
       Month m = this;
       if(m >= january && m <= december)
@@ -63,7 +63,7 @@ public enum Month
       return null;
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       if(string)
       {
@@ -92,7 +92,7 @@ public struct Date
    Month month;
    int day;
 
-   char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
+   const char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
    {
       if(stringOutput)
       {
@@ -105,7 +105,7 @@ public struct Date
       return stringOutput;
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       char value[256];
       bool gotAlphaMonth = false;
@@ -325,7 +325,7 @@ public struct Date
 
    Window OnEdit(DataBox dataBox, Window obsolete, int x, int y, int w, int h, void * fieldData)
    {
-      char * string = "";
+      const char * string = "";
       DateDropBox comboBox
       {
          dataBox,
@@ -339,7 +339,7 @@ public struct Date
       {
          char tempString[MAX_F_STRING] = "";
          bool needClass = false;
-         char * result = OnGetString(tempString, null, &needClass);
+         const char * result = OnGetString(tempString, null, &needClass);
          if(result) string = result;
 
          comboBox.calendar.dateValue = this;
@@ -456,7 +456,7 @@ class DateDropBox : DropBox
       calendar.Destroy(0);
    }
 
-   bool DataBox::NotifyTextEntry(DateDropBox dropBox, char * string, bool save)
+   bool DataBox::NotifyTextEntry(DateDropBox dropBox, const char * string, bool save)
    {
       CalendarControl calendar = (CalendarControl)dropBox.calendar;
       Date date = calendar.dateValue;
@@ -489,7 +489,7 @@ class DateDropBox : DropBox
          char tempString[1024] = "";
          bool needClass = false;
          // char * string = date.OnGetString(tempString, null, &needClass);
-         char * string = ((char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &date, tempString, null, &needClass);
+         const char * string = ((const char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &date, tempString, null, &needClass);
          dropBox.contents = string;
       }
       return true;
index 0bf4a8b..e4c7470 100644 (file)
@@ -40,9 +40,9 @@ typedef int bool;
 
 #define forArgsPassing 2
 int __ecereNameSpace__ecere__sys__Tokenize(char * string, int maxTokens, char * tokens[], unsigned int esc);
-char * __ecereNameSpace__ecere__sys__CopyString(char * string);
+char * __ecereNameSpace__ecere__sys__CopyString(const char * string);
 void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
-unsigned short * __ecereNameSpace__ecere__sys__UTF8toUTF16(char * source, int * wordCount);
+unsigned short * __ecereNameSpace__ecere__sys__UTF8toUTF16(const char * source, int * wordCount);
 
 typedef struct
 {
@@ -113,7 +113,7 @@ int DualPipe_Read(_DualPipe * dp, byte * buffer, uint size, uint count)
 #endif
 }
 
-int DualPipe_Write(_DualPipe * dp, byte * buffer, uint size, uint count)
+int DualPipe_Write(_DualPipe * dp, const byte * buffer, uint size, uint count)
 {
 #if defined(__WIN32__)
    unsigned int written;
@@ -143,7 +143,7 @@ bool DualPipe_Putc(_DualPipe * dp, char ch)
    return false;
 }
 
-bool DualPipe_Puts(_DualPipe * dp, char * string)
+bool DualPipe_Puts(_DualPipe * dp, const char * string)
 {
 #if defined(__WIN32__)
    unsigned int written;
@@ -286,7 +286,7 @@ void DualPipe_Wait(_DualPipe * dp)
 #endif
 }
 
-_DualPipe * _DualPipeOpen(PipeOpenMode mode, char * commandLine, char * env, void ** inputPtr, void ** outputPtr)
+_DualPipe * _DualPipeOpen(PipeOpenMode mode, const char * commandLine, const char * env, void ** inputPtr, void ** outputPtr)
 {
    _DualPipe * f = null;
 #define PIPE_READ    0
index 1230c46..fd7104f 100644 (file)
@@ -10,10 +10,10 @@ void DualPipe_Destructor(_DualPipe * dp);
 void DualPipe_CloseInput(_DualPipe * dp);
 void DualPipe_CloseOutput(_DualPipe * dp);
 int DualPipe_Read(_DualPipe * dp, byte * buffer, uint size, uint count);
-int DualPipe_Write(_DualPipe * dp, byte * buffer, uint size, uint count);
+int DualPipe_Write(_DualPipe * dp, const byte * buffer, uint size, uint count);
 bool DualPipe_Getc(_DualPipe * dp, char * ch);
 bool DualPipe_Putc(_DualPipe * dp, char ch);
-bool DualPipe_Puts(_DualPipe * dp, char * string);
+bool DualPipe_Puts(_DualPipe * dp, const char * string);
 bool DualPipe_Seek(_DualPipe * dp, int pos, FileSeekMode mode);
 uint DualPipe_Tell(_DualPipe * dp);
 bool DualPipe_Eof(_DualPipe * dp);
@@ -23,7 +23,7 @@ void DualPipe_Terminate(_DualPipe * dp);
 int DualPipe_GetExitCode(_DualPipe * dp);
 int DualPipe_GetProcessID(_DualPipe * dp);
 void DualPipe_Wait(_DualPipe * dp);
-_DualPipe * _DualPipeOpen(PipeOpenMode mode, char * commandLine, char * env, void ** inputPtr, void ** outputPtr);
+_DualPipe * _DualPipeOpen(PipeOpenMode mode, const char * commandLine, const char * env, void ** inputPtr, void ** outputPtr);
 
 private:
 
@@ -37,10 +37,10 @@ public class DualPipe : File
    void CloseInput() { (input != null) ? File::CloseInput() : DualPipe_CloseInput(dp); }
    void CloseOutput() { (output != null) ? File::CloseOutput() : DualPipe_CloseOutput(dp); }
    int Read(byte * buffer, uint size, uint count) { return DualPipe_Read(dp, buffer, size, count); }
-   int Write(byte * buffer, uint size, uint count) { return output ? File::Write(buffer, size, count) : DualPipe_Write(dp, buffer, size, count); }
+   int Write(const byte * buffer, uint size, uint count) { return output ? File::Write(buffer, size, count) : DualPipe_Write(dp, buffer, size, count); }
    bool Getc(char * ch) { return input ? File::Getc(ch) : DualPipe_Getc(dp, ch); }
    bool Putc(char ch) { return output ? File::Putc(ch) : DualPipe_Putc(dp, ch); }
-   bool Puts(char * string) { return output ? (File::Puts(string), File::Flush()) : DualPipe_Puts(dp, string); }
+   bool Puts(const char * string) { return output ? (File::Puts(string), File::Flush()) : DualPipe_Puts(dp, string); }
    bool Seek(int pos, FileSeekMode mode) { return (input || output) ? File::Seek(pos, mode) : DualPipe_Seek(dp, pos, mode); }
    uint Tell() { return (input || output) ? File::Tell() : DualPipe_Tell(dp); }
    bool Eof() { return DualPipe_Eof(dp); }
@@ -54,7 +54,7 @@ public:
    void Wait() { DualPipe_Wait(dp); }
 };
 
-public DualPipe DualPipeOpenf(PipeOpenMode mode, char * command, ...)
+public DualPipe DualPipeOpenf(PipeOpenMode mode, const char * command, ...)
 {
    char commandLine[MAX_F_STRING];
    va_list args;
@@ -65,7 +65,7 @@ public DualPipe DualPipeOpenf(PipeOpenMode mode, char * command, ...)
    return DualPipeOpen(mode, commandLine);
 }
 
-public DualPipe DualPipeOpen(PipeOpenMode mode, char * commandLine)
+public DualPipe DualPipeOpen(PipeOpenMode mode, const char * commandLine)
 {
    void * input, * output;
    void * f = _DualPipeOpen(mode, commandLine, null, &input, &output);
@@ -74,7 +74,7 @@ public DualPipe DualPipeOpen(PipeOpenMode mode, char * commandLine)
    return null;
 }
 
-public DualPipe DualPipeOpenEnvf(PipeOpenMode mode, char * env, char * command, ...)
+public DualPipe DualPipeOpenEnvf(PipeOpenMode mode, const char * env, const char * command, ...)
 {
    char commandLine[MAX_F_STRING];
    va_list args;
@@ -85,7 +85,7 @@ public DualPipe DualPipeOpenEnvf(PipeOpenMode mode, char * env, char * command,
    return DualPipeOpenEnv(mode, env, commandLine);
 }
 
-public DualPipe DualPipeOpenEnv(PipeOpenMode mode, char * env, char * commandLine)
+public DualPipe DualPipeOpenEnv(PipeOpenMode mode, const char * env, const char * commandLine)
 {
    void * input, * output;
    void * f = _DualPipeOpen(mode, commandLine, env, &input, &output);
index d2f6813..f97f45e 100644 (file)
@@ -39,13 +39,13 @@ static struct EAREntry
    // null terminated file name follows
 };
 
-static File EAROpenArchive(char * archive, EARHeader header)
+static File EAROpenArchive(const char * archive, EARHeader header)
 {
    File f = null;
    if(archive[0] == ':')
    {
       char moduleName[MAX_LOCATION];
-      char * name = archive + 1;
+      const char * name = archive + 1;
 #if defined(__ANDROID__)
       if(!name[0])
          name = ((SubModule)__thisModule.application.modules.first).next.module.name;
@@ -78,7 +78,7 @@ static File EAROpenArchive(char * archive, EARHeader header)
    return null;
 }
 
-static FileAttribs EARGetEntry(File f, EAREntry entry, char * name, char * path)
+static FileAttribs EARGetEntry(File f, EAREntry entry, const char * name, char * path)
 {
    uint first = 0, last = 0;
    if(!name[0])
@@ -192,7 +192,7 @@ class EARArchive : Archive
       return true;
    }
 
-   ArchiveDir OpenDirectory(char * name, FileStats stats, ArchiveAddMode addMode)
+   ArchiveDir OpenDirectory(const char * name, FileStats stats, ArchiveAddMode addMode)
    {
       ArchiveDir result = null;
       EARArchiveDir dir { readOnly = addMode == readOnlyDir };
@@ -370,7 +370,7 @@ class EARArchive : Archive
       }
    }
 
-   uint Find(EARArchiveDir directory, char * namePart, EAREntry entry)
+   uint Find(EARArchiveDir directory, const char * namePart, EAREntry entry)
    {
       uint position;
       for(position = directory.first; position; position = entry.next)
@@ -513,7 +513,7 @@ class EARArchive : Archive
       // bf.handle = f;
    }
 
-   File FileOpen(char * name)
+   File FileOpen(const char * name)
    {
       File result = null;
       EARFile file {};
@@ -609,7 +609,7 @@ class EARArchive : Archive
       return file;
    }
 
-   FileAttribs FileExists(char * fileName)
+   FileAttribs FileExists(const char * fileName)
    {
       FileAttribs result;
       EAREntry entry { };
@@ -698,7 +698,7 @@ class EARArchiveDir : ArchiveDir
       }
    }
 
-   File FileOpen(char * name)
+   File FileOpen(const char * name)
    {
       File result = null;
       EARFile file {};
@@ -750,7 +750,7 @@ class EARArchiveDir : ArchiveDir
       return result;
    }
 
-   FileAttribs FileExists(char * fileName)
+   FileAttribs FileExists(const char * fileName)
    {
       FileAttribs result;
       EAREntry entry { };
@@ -759,7 +759,7 @@ class EARArchiveDir : ArchiveDir
       return result;
    }
 
-   ArchiveDir OpenDirectory(char * name, FileStats stats, ArchiveAddMode addMode)
+   ArchiveDir OpenDirectory(const char * name, FileStats stats, ArchiveAddMode addMode)
    {
       ArchiveDir result = null;
       EARArchiveDir dir { readOnly = addMode == readOnlyDir };
@@ -852,7 +852,7 @@ class EARArchiveDir : ArchiveDir
       return result;
    }
 
-   bool Delete(char * name)
+   bool Delete(const char * name)
    {
       EAREntry entry { };
       uint position;
@@ -871,7 +871,7 @@ class EARArchiveDir : ArchiveDir
       return false;
    }
 
-   bool Move(char * name, EARArchiveDir to)
+   bool Move(const char * name, EARArchiveDir to)
    {
       bool result = false;
       if(position != to.position)
@@ -924,7 +924,7 @@ class EARArchiveDir : ArchiveDir
       return result;
    }
 
-   bool Rename(char * name, char * newName)
+   bool Rename(const char * name, const char * newName)
    {
       bool result = false;
       EAREntry entry { };
@@ -1029,7 +1029,7 @@ class EARArchiveDir : ArchiveDir
       return result;
    }
 
-   bool AddFromFile(char * name, File input, FileStats stats, ArchiveAddMode addMode, int compression, int * ratio, uint * newPosition)
+   bool AddFromFile(const char * name, File input, FileStats stats, ArchiveAddMode addMode, int compression, int * ratio, uint * newPosition)
    {
       // Search for identical entry
       EAREntry oldEntry;
@@ -1037,7 +1037,7 @@ class EARArchiveDir : ArchiveDir
       return _AddFromFileAtPosition(oldEntry, oldPosition, name, input, stats, addMode, compression, ratio, newPosition);
    }
 
-   bool AddFromFileAtPosition(uint oldPosition, char * name, File input, FileStats stats, ArchiveAddMode addMode, int compression, int * ratio, uint * newPosition)
+   bool AddFromFileAtPosition(uint oldPosition, const char * name, File input, FileStats stats, ArchiveAddMode addMode, int compression, int * ratio, uint * newPosition)
    {
       EAREntry oldEntry;
       if(oldPosition)
@@ -1048,7 +1048,7 @@ class EARArchiveDir : ArchiveDir
       return _AddFromFileAtPosition(oldEntry, oldPosition, name, input, stats, addMode, compression, ratio, newPosition);
    }
 
-   bool _AddFromFileAtPosition(EAREntry oldEntry, uint oldPosition, char * name, File input, FileStats stats, ArchiveAddMode addMode, int compression, int * ratio, uint * newPosition)
+   bool _AddFromFileAtPosition(EAREntry oldEntry, uint oldPosition, const char * name, File input, FileStats stats, ArchiveAddMode addMode, int compression, int * ratio, uint * newPosition)
    {
       bool skip = false;
       FileStats oldStats { };
@@ -1253,7 +1253,7 @@ class EARFile : File
       return read;
    }
 
-   int Write(byte * buffer, uint size, uint count)
+   int Write(const byte * buffer, uint size, uint count)
    {
       return 0;
    }
@@ -1283,7 +1283,7 @@ class EARFile : File
       return false;
    }
 
-   bool Puts(char * string)
+   bool Puts(const char * string)
    {
       return false;
    }
@@ -1345,7 +1345,7 @@ class EARFile : File
 
 class EARFileSystem : FileSystem
 {
-   File ::Open(char * archive, char * name, FileOpenMode mode)
+   File ::Open(const char * archive, const char * name, FileOpenMode mode)
    {
       File result = null;
       if(mode == read)
@@ -1417,7 +1417,7 @@ class EARFileSystem : FileSystem
       return result;
    }
 
-   FileAttribs ::Exists(char * archive, char * fileName)
+   FileAttribs ::Exists(const char * archive, const char * fileName)
    {
       uint result = 0;
       EARHeader header;
@@ -1431,7 +1431,7 @@ class EARFileSystem : FileSystem
       return result;
    }
 
-   bool ::GetSize(char * archive, char * fileName, FileSize * size)
+   bool ::GetSize(const char * archive, const char * fileName, FileSize * size)
    {
       bool result = false;
       EARHeader header;
@@ -1447,7 +1447,7 @@ class EARFileSystem : FileSystem
       return result;
    }
 
-   bool ::Stats(char * archive, char * fileName, FileStats stats)
+   bool ::Stats(const char * archive, const char * fileName, FileStats stats)
    {
       bool result = false;
       EARHeader header;
@@ -1468,7 +1468,7 @@ class EARFileSystem : FileSystem
       return result;
    }
 
-   void ::FixCase(char * archive, char * name)
+   void ::FixCase(const char * archive, char * name)
    {
    #ifdef __WIN32__
       EARHeader header;
@@ -1484,7 +1484,7 @@ class EARFileSystem : FileSystem
    #endif
    }
 
-   bool ::Find(FileDesc file, char * archive, char * name)
+   bool ::Find(FileDesc file, const char * archive, const char * name)
    {
       bool result = false;
       EARDir d {};
@@ -1569,7 +1569,7 @@ class EARFileSystem : FileSystem
    }
 
 #if !defined(ECERE_NOARCHIVE) && !defined(ECERE_VANILLA)
-   Archive ::OpenArchive(char * fileName, ArchiveOpenFlags flags)
+   Archive ::OpenArchive(const char * fileName, ArchiveOpenFlags flags)
    {
       Archive result = null;
       EARArchive archive { writeAccess = flags.writeAccess };
@@ -1691,7 +1691,7 @@ class EARFileSystem : FileSystem
       return result;
    }
 #endif
-   bool ::QuerySize(char * archive, FileSize * size)
+   bool ::QuerySize(const char * archive, FileSize * size)
    {
       bool result = false;
       EARHeader header;
index 0d06f0f..3bbbb2c 100644 (file)
@@ -45,9 +45,9 @@ void __ecereNameSpace__ecere__com__eSystem_Delete(void * memory);
 void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
 void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
 void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
-unsigned short * __ecereNameSpace__ecere__sys__UTF8toUTF16(char * source, int * wordCount);
-unsigned short * __ecereNameSpace__ecere__sys__UTF8toUTF16Buffer(char * source, uint16 * dest, int max);
-char * __ecereNameSpace__ecere__sys__UTF16toUTF8(uint16 * source);
+unsigned short * __ecereNameSpace__ecere__sys__UTF8toUTF16(const char * source, int * wordCount);
+unsigned short * __ecereNameSpace__ecere__sys__UTF8toUTF16Buffer(const char * source, uint16 * dest, int max);
+char * __ecereNameSpace__ecere__sys__UTF16toUTF8(const uint16 * source);
 void __ecereNameSpace__ecere__sys__ChangeCh(char * string, char ch1, char ch2);
 
 #if defined(__WIN32__) || defined(__WATCOMC__)
@@ -101,11 +101,11 @@ typedef struct
    SecSince1970 created;
 } FileStats;
 
-char * __ecereNameSpace__ecere__sys__GetLastDirectory(char * string, char * output);
-bool __ecereNameSpace__ecere__sys__SplitArchivePath(char * fileName, char * archiveName, char ** archiveFile);
+char * __ecereNameSpace__ecere__sys__GetLastDirectory(const char * string, char * output);
+bool __ecereNameSpace__ecere__sys__SplitArchivePath(const char * fileName, char * archiveName, char ** archiveFile);
 
 #if defined(__WIN32__) && !defined(ECERE_BOOTSTRAP)
-void __ecereMethod___ecereNameSpace__ecere__sys__EARFileSystem_FixCase(char * archive, char * name);
+void __ecereMethod___ecereNameSpace__ecere__sys__EARFileSystem_FixCase(const char * archive, char * name);
 
 static BOOL CALLBACK EnumThreadWindowsProc(HWND hwnd, LPARAM lParam)
 {
@@ -219,7 +219,7 @@ void FILE_set_buffered(FILE * input, FILE * output, bool value)
 #endif
 }
 
-FileAttribs FILE_FileExists(char * fileName)
+FileAttribs FILE_FileExists(const char * fileName)
 {
 #ifdef __WIN32__
    FileAttribs result = 0;
@@ -295,7 +295,7 @@ FileAttribs FILE_FileExists(char * fileName)
 #endif
 }
 
-bool FILE_FileGetSize(char * fileName, FileSize * size)
+bool FILE_FileGetSize(const char * fileName, FileSize * size)
 {
    bool result = false;
 #if defined(__WIN32__)
@@ -316,7 +316,7 @@ bool FILE_FileGetSize(char * fileName, FileSize * size)
    return result;
 }
 
-bool FILE_FileGetStats(char * fileName, FileStats * stats)
+bool FILE_FileGetStats(const char * fileName, FileStats * stats)
 {
    bool result = false;
 #if defined(__WIN32__)
@@ -552,7 +552,7 @@ void FILE_FileFixCase(char * file)
 #endif
 }
 
-void FILE_FileOpen(char * fileName, FileOpenMode mode, FILE ** input, FILE **output)
+void FILE_FileOpen(const char * fileName, FileOpenMode mode, FILE ** input, FILE **output)
 {
 #if defined(__WIN32__) && !defined(ECERE_BOOTSTRAP)
    uint16 * _wfileName = __ecereNameSpace__ecere__sys__UTF8toUTF16(fileName, null);
index acfef0b..ee79549 100644 (file)
@@ -92,11 +92,11 @@ FILE *eC_stdout(void);
 uint FILE_GetSize(FILE * input);
 bool FILE_Lock(FILE * input, FILE * output, FileLock type, uint64 start, uint64 length, bool wait);
 void FILE_set_buffered(FILE * input, FILE * output, bool value);
-FileAttribs FILE_FileExists(char * fileName);
-bool FILE_FileGetSize(char * fileName, FileSize * size);
-bool FILE_FileGetStats(char * fileName, FileStats stats);
+FileAttribs FILE_FileExists(const char * fileName);
+bool FILE_FileGetSize(const char * fileName, FileSize * size);
+bool FILE_FileGetStats(const char * fileName, FileStats stats);
 void FILE_FileFixCase(char * file);
-void FILE_FileOpen(char * fileName, FileOpenMode mode, FILE ** input, FILE **output);
+void FILE_FileOpen(const char * fileName, FileOpenMode mode, FILE ** input, FILE **output);
 
 private:
 
@@ -128,13 +128,13 @@ public class FileSize : uint
       return result;
    }
 
-   char * OnGetString(char * string, void * fieldData, bool * needClass)
+   const char * OnGetString(char * string, void * fieldData, bool * needClass)
    {
       PrintSize(string, this, 2);
       return string;
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       char * end;
       double value = strtod(string, &end);
@@ -163,13 +163,13 @@ public class FileSize64 : uint64
       return result;
    }
 
-   char * OnGetString(char * string, void * fieldData, bool * needClass)
+   const char * OnGetString(char * string, void * fieldData, bool * needClass)
    {
       PrintBigSize(string, this, 2);
       return string;
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       char * end;
       double value = strtod(string, &end);
@@ -187,22 +187,22 @@ public class FileSize64 : uint64
 
 class FileSystem
 {
-   virtual File ::Open(char * archive, char * name, FileOpenMode mode);
+   virtual File ::Open(const char * archive, const char * name, FileOpenMode mode);
 
    // Query on names
-   virtual FileAttribs ::Exists(char * archive, char * fileName);
-   virtual bool ::GetSize(char * archive, char * fileName, FileSize * size);
-   virtual bool ::Stats(char * archive, char * fileName, FileStats stats);
-   virtual void ::FixCase(char * archive, char * fileName);
+   virtual FileAttribs ::Exists(const char * archive, const char * fileName);
+   virtual bool ::GetSize(const char * archive, const char * fileName, FileSize * size);
+   virtual bool ::Stats(const char * archive, const char * fileName, FileStats stats);
+   virtual void ::FixCase(const char * archive, char * fileName);
 
    // File Listing
-   virtual bool ::Find(FileDesc file, char * archive, char * name);
+   virtual bool ::Find(FileDesc file, const char * archive, const char * name);
    virtual bool ::FindNext(FileDesc file);
    virtual void ::CloseDir(FileDesc file);
 
    // Archive manipulation
-   virtual Archive ::OpenArchive(char * fileName, ArchiveOpenFlags create);
-   virtual bool ::QuerySize(char * fileName, FileSize * size);
+   virtual Archive ::OpenArchive(const char * fileName, ArchiveOpenFlags create);
+   virtual bool ::QuerySize(const char * fileName, FileSize * size);
 };
 
 public enum FileOpenMode { read = 1, write, append, readWrite, writeRead, appendRead };
@@ -228,7 +228,7 @@ public class File : IOChannel
       return Read(bytes, 1, numBytes);
    }
 
-   uint WriteData(byte * bytes, uint numBytes)
+   uint WriteData(const byte * bytes, uint numBytes)
    {
       return Write(bytes, 1, numBytes);
    }
@@ -249,7 +249,7 @@ public class File : IOChannel
       output = null;
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       if(!string[0])
       {
@@ -275,7 +275,7 @@ public class File : IOChannel
       return false;
    }
 
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       if(this)
       {
@@ -302,7 +302,7 @@ public class File : IOChannel
 
             if(fileDialog.Modal() == ok)
             {
-               char * filePath = fileDialog.filePath;
+               const char * filePath = fileDialog.filePath;
                File output = null;
                if(output.OnGetDataFromString(filePath))
                {
@@ -325,7 +325,7 @@ public class File : IOChannel
             fileDialog.filePath = "";
             if(fileDialog.Modal() == ok)
             {
-               char * filePath = fileDialog.filePath;
+               const char * filePath = fileDialog.filePath;
                File f = FileOpen(filePath, write);
                if(f)
                {
@@ -370,7 +370,7 @@ public class File : IOChannel
 
                   size.OnSerialize(channel);
                   cSize.OnSerialize(channel);
-                  channel.WriteData(compressed, cSize);
+                  channel.WriteData(compressed, (uint)cSize);
 
                   delete compressed;
                }
@@ -422,7 +422,7 @@ public class File : IOChannel
                {
                   this = TempFile { };
                   uncompress(uncompressed, &size, compressed, cSize);
-                  Write(uncompressed, 1, size);
+                  Write(uncompressed, 1, (uint)size);
                   Seek(0, start);
 
                   delete uncompressed;
@@ -479,7 +479,7 @@ public:
       return input ? (int)fread(buffer, size, count, input) : 0;
    }
 
-   virtual int Write(void * buffer, uint size, uint count)
+   virtual int Write(const void * buffer, uint size, uint count)
    {
       return output ? (int)fwrite(buffer, size, count, output) : 0;
    }
@@ -572,7 +572,7 @@ public:
    }
 
    // Normal Methods
-   int Printf(char * format, ...)
+   int Printf(const char * format, ...)
    {
       int result = 0;
       if(format)
@@ -756,7 +756,7 @@ public:
       return c;
    }
 
-   bool CopyTo(char * outputFileName)
+   bool CopyTo(const char * outputFileName)
    {
       bool result = false;
       File f = FileOpen(outputFileName, write);
@@ -782,7 +782,7 @@ public:
    }
 
 #if 0
-   virtual bool Open(char * fileName, FileOpenMode mode)
+   virtual bool Open(const char * fileName, FileOpenMode mode)
    {
       bool result = false;
       if(this)
@@ -930,9 +930,10 @@ default bool WinReviveNetworkResource(uint16 * _wfileName);
 
 #endif
 
-public FileAttribs FileExists(char * fileName)
+public FileAttribs FileExists(const char * fileName)
 {
-   char archiveName[MAX_LOCATION], * archiveFile;
+   char archiveName[MAX_LOCATION];
+   const char * archiveFile;
 #if !defined(ECERE_BOOTSTRAP)
    if(SplitArchivePath(fileName, archiveName, &archiveFile))
    {
@@ -949,12 +950,13 @@ public FileAttribs FileExists(char * fileName)
 
 static int openCount;
 
-public File FileOpen(char * fileName, FileOpenMode mode)
+public File FileOpen(const char * fileName, FileOpenMode mode)
 {
    File result = null;
    if(fileName)
    {
-      char archiveName[MAX_LOCATION], * archiveFile;
+      char archiveName[MAX_LOCATION];
+      const char * archiveFile;
 #if !defined(ECERE_BOOTSTRAP)
       if(SplitArchivePath(fileName, archiveName, &archiveFile))
       {
@@ -1024,7 +1026,7 @@ public void FileFixCase(char * file)
 }
 
 #if !defined(ECERE_BOOTSTRAP)
-public bool FileTruncate(char * fileName, FileSize size)
+public bool FileTruncate(const char * fileName, FileSize size)
 {
 #if defined(__WIN32__)
    uint16 * _wfileName = UTF8toUTF16(fileName, null);
@@ -1044,7 +1046,7 @@ public bool FileTruncate(char * fileName, FileSize size)
 }
 #endif
 
-public bool FileGetSize(char * fileName, FileSize * size)
+public bool FileGetSize(const char * fileName, FileSize * size)
 {
    bool result = false;
    if(size)
@@ -1053,7 +1055,8 @@ public bool FileGetSize(char * fileName, FileSize * size)
       if(fileName)
       {
 #if !defined(ECERE_BOOTSTRAP)
-         char archiveName[MAX_LOCATION], * archiveFile;
+         char archiveName[MAX_LOCATION];
+         const char * archiveFile;
          if(SplitArchivePath(fileName, archiveName, &archiveFile))
             return EARFileSystem::GetSize(archiveName, archiveFile, size);
          else
@@ -1064,13 +1067,14 @@ public bool FileGetSize(char * fileName, FileSize * size)
    return result;
 }
 
-public bool FileGetStats(char * fileName, FileStats stats)
+public bool FileGetStats(const char * fileName, FileStats stats)
 {
    bool result = false;
    if(stats && fileName)
    {
 #if !defined(ECERE_BOOTSTRAP)
-      char archiveName[MAX_LOCATION], * archiveFile;
+      char archiveName[MAX_LOCATION];
+      const char * archiveFile;
       if(SplitArchivePath(fileName, archiveName, &archiveFile))
          result = EARFileSystem::Stats(archiveName, archiveFile, stats);
       else
@@ -1082,7 +1086,7 @@ public bool FileGetStats(char * fileName, FileStats stats)
 
 #ifndef ECERE_BOOTSTRAP
 
-public bool FileSetAttribs(char * fileName, FileAttribs attribs)
+public bool FileSetAttribs(const char * fileName, FileAttribs attribs)
 {
 #ifdef __WIN32__
    uint winAttribs = 0;
@@ -1097,7 +1101,7 @@ public bool FileSetAttribs(char * fileName, FileAttribs attribs)
    return true;
 }
 
-public bool FileSetTime(char * fileName, TimeStamp created, TimeStamp accessed, TimeStamp modified)
+public bool FileSetTime(const char * fileName, TimeStamp created, TimeStamp accessed, TimeStamp modified)
 {
    bool result = false;
    TimeStamp currentTime = time(null);
@@ -1165,14 +1169,15 @@ private class Dir : struct
    char name[MAX_LOCATION];
 };
 
-static FileDesc FileFind(char * path, char * extensions)
+static FileDesc FileFind(const char * path, const char * extensions)
 {
    FileDesc result = null;
    FileDesc file;
 
    if((file = FileDesc {}))
    {
-      char archiveName[MAX_LOCATION], * archiveFile;
+      char archiveName[MAX_LOCATION];
+      const char * archiveFile;
       if(SplitArchivePath(path, archiveName, &archiveFile))
       {
          if(EARFileSystem::Find(file, archiveName, archiveFile))
@@ -1287,7 +1292,7 @@ static FileDesc FileFind(char * path, char * extensions)
                d.fHandle = null;
                nr.dwScope       = RESOURCE_GLOBALNET;
                nr.dwType        = RESOURCETYPE_DISK;
-               nr.lpProvider = L"Microsoft Windows Network";
+               nr.lpProvider = (uint16 *)L"Microsoft Windows Network";
 
                strcpy(d.name, path);
                if(path[2])
@@ -1336,7 +1341,7 @@ static FileDesc FileFind(char * path, char * extensions)
                else
                {
                   int c;
-                  nr.lpProvider = L"Microsoft Windows Network";
+                  nr.lpProvider = (uint16 *)L"Microsoft Windows Network";
 
                   // Entire Network
                   WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_DISK, 0, &nr, &handle);
@@ -1451,7 +1456,7 @@ private class FileDesc : struct
    subclass(FileSystem) system;
    Dir dir;
 
-   bool Validate(char * extensions)
+   bool Validate(const char * extensions)
    {
       if(strcmp(name, "..") && strcmp(name, ".") && strcmp(name, ""))
       {
@@ -1480,7 +1485,7 @@ private class FileDesc : struct
       return false;
    }
 
-   FileDesc FindNext(char * extensions)
+   FileDesc FindNext(const char * extensions)
    {
       FileDesc result = null;
 
@@ -1736,8 +1741,8 @@ private class FileDesc : struct
 public struct FileListing
 {
 public:
-   char * directory;
-   char * extensions;
+   const char * directory;
+   const char * extensions;
 
    bool Find()
    {
@@ -1757,8 +1762,8 @@ public:
       desc = null;
    }
 
-   property char * name { get { return (char *)(desc ? desc.name : null); } };
-   property char * path { get { return (char *)(desc ? desc.path : null); } };
+   property const char * name { get { return desc ? desc.name : null; } };
+   property const char * path { get { return desc ? desc.path : null; } };
    property FileStats stats { get { value = desc ? desc.stats : FileStats { }; } };
 
 private:
@@ -1766,7 +1771,7 @@ private:
 };
 #endif
 
-public File CreateTemporaryFile(char * tempFileName, char * template)
+public File CreateTemporaryFile(char * tempFileName, const char * template)
 {
 #ifndef ECERE_BOOTSTRAP // quick fix for now
    File f;
@@ -1794,7 +1799,7 @@ public File CreateTemporaryFile(char * tempFileName, char * template)
 
 #undef DeleteFile
 
-public void CreateTemporaryDir(char * tempFileName, char * template)
+public void CreateTemporaryDir(char * tempFileName, const char * template)
 {
 #ifndef ECERE_BOOTSTRAP // quick fix for now
 #if defined(__unix__) || defined(__APPLE__)
@@ -1829,7 +1834,7 @@ public void MakeSystemPath(char * p)
    FileFixCase(p);
 }
 
-public char * CopySystemPath(char * p)
+public char * CopySystemPath(const char * p)
 {
    char * d = CopyString(p);
    if(d)
@@ -1837,7 +1842,7 @@ public char * CopySystemPath(char * p)
    return d;
 }
 
-public char * CopyUnixPath(char * p)
+public char * CopyUnixPath(const char * p)
 {
    char * d = CopyString(p);
    if(d)
@@ -1845,7 +1850,7 @@ public char * CopyUnixPath(char * p)
    return d;
 }
 
-public char * GetSystemPathBuffer(char * d, char * p)
+public char * GetSystemPathBuffer(char * d, const char * p)
 {
    if(d != p)
       strcpy(d, p ? p : "");
@@ -1853,7 +1858,7 @@ public char * GetSystemPathBuffer(char * d, char * p)
    return d;
 }
 
-public char * GetSlashPathBuffer(char * d, char * p)
+public char * GetSlashPathBuffer(char * d, const char * p)
 {
    if(d != p)
       strcpy(d, p ? p : "");
index 7b1801d..a6dde40 100644 (file)
@@ -35,7 +35,7 @@ public class FileMonitor
 public:
    property void * userData { set { data = value; } };
    property FileChange fileChange { set { watchFor = value; } };
-   property char * fileName
+   property const char * fileName
    {
       set
       {
@@ -47,7 +47,7 @@ public:
       }
       get { return fileName; }
    };
-   property char * directoryName
+   property const char * directoryName
    {
       set
       {
@@ -114,12 +114,12 @@ private:
    TimeStamp modified;
    FileSize size;
    FileAttribs attribs;
-   public virtual bool any_object::OnDirNotify(FileChange action, char * fileName, char * param);
+   public virtual bool any_object::OnDirNotify(FileChange action, const char * fileName, const char * param);
 
    // For directory monitors
    bool directory;
    OldList files;
-   public virtual bool any_object::OnFileNotify(FileChange action, char * param);
+   public virtual bool any_object::OnFileNotify(FileChange action, const char * param);
 
    /*
 #if defined(__WIN32__)
@@ -139,7 +139,7 @@ private:
       globalSystem.fileMonitorMutex.Release();
    }
 
-   void MonitorFile(char * filePath)
+   void MonitorFile(const char * filePath)
    {
       FileAttribs exists = FileExists(filePath);
       FileStats stats;
@@ -182,7 +182,7 @@ private:
       }
    }
 
-   void MonitorDirectory(char * filePath)
+   void MonitorDirectory(const char * filePath)
    {
       FileStats stats;
       String oldFileName = fileName;
@@ -233,7 +233,7 @@ private:
       // delete this;
    }
 
-   bool AddFileNotify(FileChange action, char * fileName, char * param)
+   bool AddFileNotify(FileChange action, const char * fileName, const char * param)
    {
       if(watchFor & action)
       {
@@ -273,7 +273,7 @@ static int CompareFiles(FileEntry e1, FileEntry e2, void * data)
       return strcmp(e1.name, e2.name);
 }
 
-static void GetFileEntries(OldList list, char * path)
+static void GetFileEntries(OldList list, const char * path)
 {
    FileListing listing { path, null };
    while(listing.Find())
index 7ab49da..e4c27f0 100644 (file)
@@ -24,9 +24,9 @@ public enum SettingsIOResult { error, success, fileNotFound, fileNotCompatibleWi
 
 public class GlobalSettingsDriver
 {
-   class_data char * name;
+   class_data const char * name;
 
-   class_property char * name
+   class_property const char * name
    {
       set { class_data(name) = value; }
       get { return class_data(name); }
@@ -38,7 +38,7 @@ public:
 
 }
 
-static subclass(GlobalSettingsDriver) GetGlobalSettingsDriver(char * driverName)
+static subclass(GlobalSettingsDriver) GetGlobalSettingsDriver(const char * driverName)
 {
    OldLink link;
    for(link = class(GlobalSettingsDriver).derivatives.first; link; link = link.next)
@@ -75,22 +75,22 @@ public class GlobalSettingsData
 public class GlobalSettings
 {
 public:
-   property char * settingsName
+   property const char * settingsName
    {
       set { delete settingsName; if(value && value[0]) settingsName = CopyString(value); }
       get { return settingsName; }
    };
-   property char * settingsExtension
+   property const char * settingsExtension
    {
       set { delete settingsExtension; if(value && value[0]) settingsExtension = CopyString(value); }
       get { return settingsExtension; }
    };
-   property char * settingsLocation
+   property const char * settingsLocation
    {
       set { delete settingsLocation; if(value && value[0]) settingsLocation = CopyString(value); }
       get { return settingsLocation; }
    };
-   property char * settingsFilePath
+   property const char * settingsFilePath
    {
       get { return settingsFilePath; }
    };
@@ -105,7 +105,7 @@ public:
       get { return allUsers; }
    };
 
-   property String driver
+   property const String driver
    {
       set
       {
@@ -133,7 +133,7 @@ private:
    {
       this, fileChange = { modified = true };
 
-      bool OnFileNotify(FileChange action, char * param)
+      bool OnFileNotify(FileChange action, const char * param)
       {
          OnAskReloadSettings();
          return true;
@@ -160,7 +160,7 @@ private:
       char * path = null;
       if(settingsLocation && FileExists(settingsLocation).isDirectory)
       {
-         char * extension = GetExtension();
+         const char * extension = GetExtension();
          path = new char[strlen(settingsLocation) + strlen(settingsName) + strlen(extension) + 16];
          strcpy(path, settingsLocation);
          PathCat(path, settingsName);
@@ -179,7 +179,7 @@ private:
       StripLastDirectory(location, location);
       if(location[0] && FileExists(location).isDirectory)
       {
-         char * extension = GetExtension();
+         const char * extension = GetExtension();
          char * name = new char[strlen(settingsName) + 16];
          path = new char[strlen(location) + strlen(settingsName) + strlen(extension) + 16];
          strcpy(name, settingsName);
@@ -228,7 +228,7 @@ private:
       char * profile = getenv("USERPROFILE");
       if(profile && profile[0] && FileExists(profile).isDirectory)
       {
-         char * extension = GetExtension();
+         const char * extension = GetExtension();
          path = new char[strlen(profile) + strlen(settingsName) + strlen(extension) + 16];
          strcpy(path, profile);
          PathCat(path, settingsName);
@@ -247,7 +247,7 @@ private:
          char * homepath = getenv("HOMEPATH");
          if(homepath && homepath[0])
          {
-            char * extension = GetExtension();
+            const char * extension = GetExtension();
             path = new char[strlen(homedrive) + strlen(homepath) + strlen(settingsName) + strlen(extension) + 32];
             strcpy(path, homedrive);
             PathCat(path, homepath);
@@ -267,7 +267,7 @@ private:
    char * PrepareSystemPath()
    {
       char * path = new char[MAX_LOCATION];
-      char * extension = GetExtension();
+      const char * extension = GetExtension();
       uint16 _wfilePath[MAX_LOCATION];
       GetSystemDirectory(_wfilePath, MAX_LOCATION);
       UTF16toUTF8Buffer(_wfilePath, path, MAX_LOCATION);
@@ -283,7 +283,7 @@ private:
       char * path = null;
       if(allUsers)
       {
-         char * extension = GetExtension();
+         const char * extension = GetExtension();
          path = new char[strlen(allUsers) + strlen(settingsName) + strlen(extension) + 32];
          strcpy(path, allUsers);
          PathCat(path, settingsName);
@@ -296,8 +296,8 @@ private:
    char * PrepareEtcPath()
    {
       char * path = null;
-      char * etc = "/etc/";
-      char * extension = GetExtension();
+      const char * etc = "/etc/";
+      const char * extension = GetExtension();
       path = new char[strlen(etc) + strlen(settingsName) + strlen(extension) + 16];
       strcpy(path, etc);
       PathCat(path, settingsName);
@@ -307,9 +307,9 @@ private:
    }
 #endif
 
-   char * GetExtension()
+   const char * GetExtension()
    {
-      char * extension;
+      const char * extension;
       if(settingsExtension)
          extension = settingsExtension;
       else
@@ -550,7 +550,7 @@ public:
 public class GlobalAppSettings : GlobalSettings
 {
 public:
-   bool GetGlobalValue(char * section, char * name, GlobalSettingType type, void * value)
+   bool GetGlobalValue(const char * section, const char * name, GlobalSettingType type, void * value)
    {
       bool result = false;
       if(f)
@@ -609,7 +609,7 @@ public:
       return result;
    }
 
-   bool PutGlobalValue(char * section, char * name, GlobalSettingType type, void * value)
+   bool PutGlobalValue(const char * section, const char * name, GlobalSettingType type, const void * value)
    {
       bool result = false;
       if(f)
index c559e48..06897d6 100644 (file)
@@ -642,25 +642,25 @@ bool WriteNumber(File f, Class type, DataValue value, int indent)
    bool needClass = false;
    buffer[0] = 0;
    if(type == class(double) || !strcmp(type.dataTypeString, "double"))
-      ((char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.d, buffer, 0, &needClass);
+      ((const char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.d, buffer, 0, &needClass);
    else if(type == class(float) || !strcmp(type.dataTypeString, "float"))
-      ((char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.f, buffer, null, &needClass);
+      ((const char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.f, buffer, null, &needClass);
    else if(!strcmp(type.dataTypeString, "int64"))
-      ((char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.i64, buffer, null, &needClass);
+      ((const char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.i64, buffer, null, &needClass);
    else if(!strcmp(type.dataTypeString, "unsigned int64") || !strcmp(type.dataTypeString, "uint64") || type.typeSize == sizeof(int64))
-      ((char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.ui64, buffer, null, &needClass);
+      ((const char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.ui64, buffer, null, &needClass);
    else if(!strcmp(type.dataTypeString, "int"))
-      ((char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.i, buffer, null, &needClass);
+      ((const char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.i, buffer, null, &needClass);
    else if(!strcmp(type.dataTypeString, "unsigned int") || !strcmp(type.dataTypeString, "uint") || type.typeSize == sizeof(int))
-      ((char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.ui, buffer, null, &needClass);
+      ((const char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.ui, buffer, null, &needClass);
    else if(!strcmp(type.dataTypeString, "short") || !strcmp(type.dataTypeString, "int16"))
-      ((char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.s, buffer, null, &needClass);
+      ((const char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.s, buffer, null, &needClass);
    else if(!strcmp(type.dataTypeString, "unsigned short") || !strcmp(type.dataTypeString, "uint16") || type.typeSize == sizeof(short int))
-      ((char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.us, buffer, null, &needClass);
+      ((const char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.us, buffer, null, &needClass);
    else if(!strcmp(type.dataTypeString, "char"))
-      ((char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.c, buffer, null, &needClass);
+      ((const char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.c, buffer, null, &needClass);
    else if(!strcmp(type.dataTypeString, "unsigned char") || !strcmp(type.dataTypeString, "byte") || type.typeSize == sizeof(byte))
-      ((char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.uc, buffer, null, &needClass);
+      ((const char *(*)(void *, void *, char *, void *, bool *))(void *)type._vTbl[__ecereVMethodID_class_OnGetString])(type, &value.uc, buffer, null, &needClass);
    f.Puts(buffer);
    return true;
 }
@@ -762,13 +762,13 @@ static bool _WriteJSONObject(File f, Class objectType, void * object, int indent
 {
    if(object)
    {
-      char * string = null;
+      const char * string = null;
 
       if(objectType._vTbl[__ecereVMethodID_class_OnGetString] != objectType.base._vTbl[__ecereVMethodID_class_OnGetString])
       {
          char buffer[1024];
          buffer[0] = 0;
-         string = ((char *(*)())(void *)objectType._vTbl[__ecereVMethodID_class_OnGetString])(objectType, object, buffer, null, null);
+         string = ((const char *(*)())(void *)objectType._vTbl[__ecereVMethodID_class_OnGetString])(objectType, object, buffer, null, null);
       }
       if(string)
       {
@@ -802,51 +802,55 @@ static bool _WriteJSONObject(File f, Class objectType, void * object, int indent
                   Class type = eSystem_FindClass(__thisModule, prop.dataTypeString);
                   if(!type)
                      type = eSystem_FindClass(__thisModule.application, prop.dataTypeString);
-
-                  // TOFIX: How to swiftly handle classes with base data type?
-                  if(type == class(double) || !strcmp(type.dataTypeString, "double"))
-                  {
-                     value.d = ((double (*)(void *))(void *)prop.Get)(object);
-                  }
-                  else if(type == class(float) || !strcmp(type.dataTypeString, "float"))
-                  {
-                     value.f = ((float (*)(void *))(void *)prop.Get)(object);
-                  }
-                  else if(type.typeSize == sizeof(int64) || !strcmp(type.dataTypeString, "int64") ||
-                     !strcmp(type.dataTypeString, "unsigned int64") || !strcmp(type.dataTypeString, "uint64"))
-                  {
-                     value.ui64 = ((uint64 (*)(void *))(void *)prop.Get)(object);
-                  }
-                  else if(type.typeSize == sizeof(int) || !strcmp(type.dataTypeString, "int") ||
-                     !strcmp(type.dataTypeString, "unsigned int") || !strcmp(type.dataTypeString, "uint"))
-                  {
-                     value.i = ((int (*)(void *))(void *)prop.Get)(object);
-                  }
-                  else if(type.typeSize == sizeof(short int) || !strcmp(type.dataTypeString, "short") ||
-                     !strcmp(type.dataTypeString, "unsigned short") || !strcmp(type.dataTypeString, "uint16") ||
-                     !strcmp(type.dataTypeString, "int16"))
-                  {
-                     value.s = ((short (*)(void *))(void *)prop.Get)(object);
-                  }
-                  else if(type.typeSize == sizeof(byte) || !strcmp(type.dataTypeString, "char") ||
-                     !strcmp(type.dataTypeString, "unsigned char") || !strcmp(type.dataTypeString, "byte"))
-                  {
-                     value.c = ((char (*)(void *))(void *)prop.Get)(object);
-                  }
+                  if(!type)
+                     PrintLn("warning: Unresolved data type ", (String)prop.dataTypeString);
                   else
                   {
-                     value.p = ((void *(*)(void *))(void *)prop.Get)(object);
-                  }
+                     // TOFIX: How to swiftly handle classes with base data type?
+                     if(type == class(double) || !strcmp(type.dataTypeString, "double"))
+                     {
+                        value.d = ((double (*)(void *))(void *)prop.Get)(object);
+                     }
+                     else if(type == class(float) || !strcmp(type.dataTypeString, "float"))
+                     {
+                        value.f = ((float (*)(void *))(void *)prop.Get)(object);
+                     }
+                     else if(type.typeSize == sizeof(int64) || !strcmp(type.dataTypeString, "int64") ||
+                        !strcmp(type.dataTypeString, "unsigned int64") || !strcmp(type.dataTypeString, "uint64"))
+                     {
+                        value.ui64 = ((uint64 (*)(void *))(void *)prop.Get)(object);
+                     }
+                     else if(type.typeSize == sizeof(int) || !strcmp(type.dataTypeString, "int") ||
+                        !strcmp(type.dataTypeString, "unsigned int") || !strcmp(type.dataTypeString, "uint"))
+                     {
+                        value.i = ((int (*)(void *))(void *)prop.Get)(object);
+                     }
+                     else if(type.typeSize == sizeof(short int) || !strcmp(type.dataTypeString, "short") ||
+                        !strcmp(type.dataTypeString, "unsigned short") || !strcmp(type.dataTypeString, "uint16") ||
+                        !strcmp(type.dataTypeString, "int16"))
+                     {
+                        value.s = ((short (*)(void *))(void *)prop.Get)(object);
+                     }
+                     else if(type.typeSize == sizeof(byte) || !strcmp(type.dataTypeString, "char") ||
+                        !strcmp(type.dataTypeString, "unsigned char") || !strcmp(type.dataTypeString, "byte"))
+                     {
+                        value.c = ((char (*)(void *))(void *)prop.Get)(object);
+                     }
+                     else
+                     {
+                        value.p = ((void *(*)(void *))(void *)prop.Get)(object);
+                     }
 
-                  if(!isFirst) f.Puts(",\n");
-                  for(c = 0; c<indent; c++) f.Puts("   ");
+                     if(!isFirst) f.Puts(",\n");
+                     for(c = 0; c<indent; c++) f.Puts("   ");
 
-                  f.Puts("\"");
-                  f.Putc((char)toupper(prop.name[0]));
-                  f.Puts(prop.name+1);
-                  f.Puts("\" : ");
-                  WriteValue(f, type, value, indent);
-                  isFirst = false;
+                     f.Puts("\"");
+                     f.Putc((char)toupper(prop.name[0]));
+                     f.Puts(prop.name+1);
+                     f.Puts("\" : ");
+                     WriteValue(f, type, value, indent);
+                     isFirst = false;
+                  }
                }
             }
             else
index 8f06578..556d726 100644 (file)
@@ -56,19 +56,19 @@ void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
 void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
 void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
 
-unsigned short * __ecereNameSpace__ecere__sys__UTF8toUTF16(char * source, int * wordCount);
-unsigned short * __ecereNameSpace__ecere__sys__UTF8toUTF16Buffer(char * source, uint16 * dest, int max);
-char * __ecereNameSpace__ecere__sys__UTF16toUTF8(uint16 * source);
-char * __ecereNameSpace__ecere__sys__UTF16toUTF8Buffer(uint16 * source, byte * dest, int max);
+unsigned short * __ecereNameSpace__ecere__sys__UTF8toUTF16(const char * source, int * wordCount);
+unsigned short * __ecereNameSpace__ecere__sys__UTF8toUTF16Buffer(const char * source, uint16 * dest, int max);
+char * __ecereNameSpace__ecere__sys__UTF16toUTF8(const uint16 * source);
+char * __ecereNameSpace__ecere__sys__UTF16toUTF8Buffer(const uint16 * source, char * dest, int max);
 
-char * __ecereNameSpace__ecere__sys__StripLastDirectory(char * string, char * output);
+char * __ecereNameSpace__ecere__sys__StripLastDirectory(const char * string, char * output);
 
-char * __ecereNameSpace__ecere__sys__GetEnvironment(char * envName, char * envValue, int max);
-char * __ecereNameSpace__ecere__sys__SearchString(char * buffer, int start, char * subStr, bool matchCase, bool matchWord);
+char * __ecereNameSpace__ecere__sys__GetEnvironment(const char * envName, char * envValue, int max);
+char * __ecereNameSpace__ecere__sys__SearchString(const char * buffer, int start, const char * subStr, bool matchCase, bool matchWord);
 
-FileAttribs FILE_FileExists(char * fileName);
+FileAttribs FILE_FileExists(const char * fileName);
 
-bool System_MoveFile(char * source, char * dest)
+bool System_MoveFile(const char * source, const char * dest)
 {
 #ifdef __WIN32__
    bool result;
@@ -83,7 +83,7 @@ bool System_MoveFile(char * source, char * dest)
 #endif
 }
 
-bool System_RenameFile(char * oldName, char * newName)
+bool System_RenameFile(const char * oldName, const char * newName)
 {
 #if defined(__WIN32__)
    bool result;
@@ -99,7 +99,7 @@ bool System_RenameFile(char * oldName, char * newName)
 #endif
 }
 
-bool System_DeleteFile(char * fileName)
+bool System_DeleteFile(const char * fileName)
 {
    bool result = true;
 #if defined(__WIN32__)
@@ -115,7 +115,7 @@ bool System_DeleteFile(char * fileName)
    return result;
 }
 
-bool System_MakeDir(char * path)
+bool System_MakeDir(const char * path)
 {
    bool result = false;
    char location[MAX_LOCATION] = "";
@@ -167,7 +167,7 @@ bool System_MakeDir(char * path)
    return result;
 }
 
-bool System_RemoveDir(char * path)
+bool System_RemoveDir(const char * path)
 {
    bool result = false;
    char location[MAX_LOCATION] = "";
@@ -225,7 +225,7 @@ char * System_GetWorkingDir(char * buf, int size)
 #if defined(__WIN32__)
    uint16 * _wbuf = __ecereNameSpace__ecere__com__eSystem_New(sizeof(uint16) * size);
    _wgetcwd(_wbuf, size);
-   __ecereNameSpace__ecere__sys__UTF16toUTF8Buffer(_wbuf, (byte *)buf, size);
+   __ecereNameSpace__ecere__sys__UTF16toUTF8Buffer(_wbuf, buf, size);
    __ecereNameSpace__ecere__com__eSystem_Delete(_wbuf);
    return buf;
 #else
@@ -233,7 +233,7 @@ char * System_GetWorkingDir(char * buf, int size)
 #endif
 }
 
-bool System_ChangeWorkingDir(char * buf)
+bool System_ChangeWorkingDir(const char * buf)
 {
 #if defined(__WIN32__)
    bool result;
@@ -246,7 +246,7 @@ bool System_ChangeWorkingDir(char * buf)
 #endif
 }
 
-char * System_GetEnvironment(char * envName, char * envValue, int max)
+const char * System_GetEnvironment(const char * envName, char * envValue, int max)
 {
 #if defined(__WIN32__)
    uint16 * _wenvName = __ecereNameSpace__ecere__sys__UTF8toUTF16(envName, null);
@@ -258,7 +258,7 @@ char * System_GetEnvironment(char * envName, char * envValue, int max)
    //result = _wgetenv(_wenvName);
    //if(result)
    if(success && success < sizeof(result) / sizeof(uint16))
-      __ecereNameSpace__ecere__sys__UTF16toUTF8Buffer(result, (byte *)envValue, max);
+      __ecereNameSpace__ecere__sys__UTF16toUTF8Buffer(result, envValue, max);
    else
       envValue[0] = 0;
 
@@ -275,7 +275,7 @@ char * System_GetEnvironment(char * envName, char * envValue, int max)
 #endif
 }
 
-void System_SetEnvironment(char * envName, char * envValue)
+void System_SetEnvironment(const char * envName, const char * envValue)
 {
 #if defined(__WIN32__)
    uint16 * _wenvName = __ecereNameSpace__ecere__sys__UTF8toUTF16(envName, null);
@@ -288,7 +288,7 @@ void System_SetEnvironment(char * envName, char * envValue)
 #endif
 }
 
-void System_UnsetEnvironment(char * envName)
+void System_UnsetEnvironment(const char * envName)
 {
 #if defined(__WIN32__)
    uint16 * _wenvName = __ecereNameSpace__ecere__sys__UTF8toUTF16(envName, null);
@@ -299,7 +299,7 @@ void System_UnsetEnvironment(char * envName)
 #endif
 }
 
-bool System_Execute(char * env, char * command, va_list args, bool wait)
+bool System_Execute(const char * env, const char * command, va_list args, bool wait)
 {
    bool result = false;
    char commandLine[MAX_F_STRING*4];
@@ -320,7 +320,7 @@ bool System_Execute(char * env, char * command, va_list args, bool wait)
       // Set up the start up info struct.
       si.cb = sizeof(STARTUPINFO);
       // if(CreateProcess(null, _wcommandLine, null, null, TRUE, 0, env, null, &si, &pi))
-      if(CreateProcess(null, _wcommandLine, null, null, TRUE, CREATE_NEW_CONSOLE, env, null, &si, &pi))
+      if(CreateProcess(null, _wcommandLine, null, null, TRUE, CREATE_NEW_CONSOLE, (void *)env, null, &si, &pi))
       {
          if(wait)
             WaitForSingleObject(pi.hProcess, INFINITE);
@@ -335,7 +335,7 @@ bool System_Execute(char * env, char * command, va_list args, bool wait)
    return result;
 }
 
-bool System_ShellOpen(char * fileName, va_list args)
+bool System_ShellOpen(const char * fileName, va_list args)
 {
    bool result = false;
    char filePath[MAX_F_STRING*4];
@@ -401,7 +401,7 @@ bool System_ShellOpen(char * fileName, va_list args)
    return result;
 }
 
-void System_GetFreeSpace(char * path, FileSize64 * size)
+void System_GetFreeSpace(const char * path, FileSize64 * size)
 {
    uint64 freeSize = 0;
 #ifdef __WIN32__
index 776a664..dfbf4e6 100644 (file)
@@ -39,19 +39,19 @@ FILE *eC_stdout(void);
 FILE *eC_stderr(void);
 
 // IMPLEMENTED IN _System.c
-bool System_MoveFile(char * source, char * dest);
-bool System_RenameFile(char * oldName, char * newName);
-bool System_DeleteFile(char * fileName);
-bool System_MakeDir(char * path);
-bool System_RemoveDir(char * path);
+bool System_MoveFile(const char * source, const char * dest);
+bool System_RenameFile(const char * oldName, const char * newName);
+bool System_DeleteFile(const char * fileName);
+bool System_MakeDir(const char * path);
+bool System_RemoveDir(const char * path);
 char * System_GetWorkingDir(char * buf, int size);
-bool System_ChangeWorkingDir(char * buf);
-char * System_GetEnvironment(char * envName, char * envValue, int max);
-void System_SetEnvironment(char * envName, char * envValue);
-void System_UnsetEnvironment(char * envName);
-bool System_Execute(char * env, char * command, va_list args, bool wait);
-bool System_ShellOpen(char * fileName, va_list args);
-void System_GetFreeSpace(char * path, FileSize64 * size);
+bool System_ChangeWorkingDir(const char * buf);
+char * System_GetEnvironment(const char * envName, char * envValue, int max);
+void System_SetEnvironment(const char * envName, const char * envValue);
+void System_UnsetEnvironment(const char * envName);
+bool System_Execute(const char * env, const char * command, va_list args, bool wait);
+bool System_ShellOpen(const char * fileName, va_list args);
+void System_GetFreeSpace(const char * path, FileSize64 * size);
 
 private:
 
@@ -116,7 +116,7 @@ public enum GuiErrorCode : ErrorCode
 
 static define DEFAULT_BUFFER_SIZE = 100 * MAX_F_STRING;
 
-static Array<String> sysErrorMessages
+static Array<const String> sysErrorMessages
 { [
    $"No error",
    $"Memory allocation failed",
@@ -127,7 +127,7 @@ static Array<String> sysErrorMessages
    $"Couldn't write to file"
 ] };
 
-static Array<String> guiErrorMessages
+static Array<const String> guiErrorMessages
 { [
    $"No error",
    $"Graphics driver not supported by any user interface system",
@@ -136,34 +136,34 @@ static Array<String> guiErrorMessages
    $"Driver/Mode switch failed"
 ] };
 
-static Array<Array<String>> errorMessages { [ sysErrorMessages, guiErrorMessages ] };
+static Array<Array<const String>> errorMessages { [ sysErrorMessages, guiErrorMessages ] };
 
 // --- File, directory & environment manipulation ---
 #undef MoveFile
 
-public bool MoveFile(char * source, char * dest)
+public bool MoveFile(const char * source, const char * dest)
 {
    return System_MoveFile(source, dest);
 }
 
-public bool RenameFile(char * oldName, char * newName)
+public bool RenameFile(const char * oldName, const char * newName)
 {
    return System_RenameFile(oldName, newName);
 }
 
 #undef DeleteFile
 
-public bool DeleteFile(char * fileName)
+public bool DeleteFile(const char * fileName)
 {
    return System_DeleteFile(fileName);
 }
 
-public bool MakeDir(char * path)
+public bool MakeDir(const char * path)
 {
    return System_MakeDir(path);
 }
 
-public bool RemoveDir(char * path)
+public bool RemoveDir(const char * path)
 {
    return System_RemoveDir(path);
 }
@@ -173,27 +173,27 @@ public char * GetWorkingDir(char * buf, int size)
    return System_GetWorkingDir(buf, size);
 }
 
-public bool ChangeWorkingDir(char * buf)
+public bool ChangeWorkingDir(const char * buf)
 {
    return System_ChangeWorkingDir(buf);
 }
 
-public char * GetEnvironment(char * envName, char * envValue, int max)
+public char * GetEnvironment(const char * envName, char * envValue, int max)
 {
    return System_GetEnvironment(envName, envValue, max);
 }
 
-public void SetEnvironment(char * envName, char * envValue)
+public void SetEnvironment(const char * envName, const char * envValue)
 {
    System_SetEnvironment(envName, envValue);
 }
 
-public void UnsetEnvironment(char * envName)
+public void UnsetEnvironment(const char * envName)
 {
    System_UnsetEnvironment(envName);
 }
 
-public bool Execute(char * command, ...)
+public bool Execute(const char * command, ...)
 {
    bool result;
    va_list args;
@@ -203,7 +203,7 @@ public bool Execute(char * command, ...)
    return result;
 }
 
-public bool ExecuteWait(char * command, ...)
+public bool ExecuteWait(const char * command, ...)
 {
    bool result;
    va_list args;
@@ -213,7 +213,7 @@ public bool ExecuteWait(char * command, ...)
    return result;
 }
 
-public bool ExecuteEnv(char * env, char * command, ...)
+public bool ExecuteEnv(const char * env, const char * command, ...)
 {
    bool result;
    va_list args;
@@ -223,7 +223,7 @@ public bool ExecuteEnv(char * env, char * command, ...)
    return result;
 }
 
-public bool ShellOpen(char * fileName, ...)
+public bool ShellOpen(const char * fileName, ...)
 {
    bool result;
    va_list args;
@@ -232,13 +232,13 @@ public bool ShellOpen(char * fileName, ...)
    return result;
 }
 
-public void GetFreeSpace(char * path, FileSize64 * size)
+public void GetFreeSpace(const char * path, FileSize64 * size)
 {
    System_GetFreeSpace(path, size);
 }
 
 // --- Uncagotegorized Functions ---
-public void Logf(char * format, ...)
+public void Logf(const char * format, ...)
 {
    va_list args;
    char string[MAX_F_STRING];
@@ -249,7 +249,7 @@ public void Logf(char * format, ...)
    va_end(args);
 }
 
-public void Log(char * text)
+public void Log(const char * text)
 {
    switch(globalSystem.errorLoggingMode)
    {
@@ -310,7 +310,7 @@ public void DumpErrors(bool display)
    }
 }
 
-public void LogErrorCode(ErrorCode errorCode, char * details)
+public void LogErrorCode(ErrorCode errorCode, const char * details)
 {
    if(errorCode.level <= globalSystem.errorLevel)
    {
index 1e71293..07ba855 100644 (file)
@@ -31,7 +31,7 @@ public class TempFile : File
       return read / size;
    }
 
-   int Write(byte * buffer, uint size, uint count)
+   int Write(const byte * buffer, uint size, uint count)
    {
       int writeSize = size * count;
       int written = writeSize;
@@ -66,7 +66,7 @@ public class TempFile : File
       return written != 0;
    }
 
-   bool Puts(char * string)
+   bool Puts(const char * string)
    {
       int len = string ? strlen(string) : 0;
       int written = Write(string, 1, len);
index 24856be..c586035 100644 (file)
@@ -210,7 +210,7 @@ import "System"
 
 public class Time : double
 {
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       Time time = this;
       int value;
@@ -291,7 +291,7 @@ static time_t MakeTimeTfromDT(DateTime dt)
 
 public class SecSince1970 : int64
 {
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       return ((DateTime)this).OnGetString(tempString, fieldData, needClass);
    }
@@ -416,7 +416,7 @@ public:
 public class TimeStamp32 : uint32
 {
 public:
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       return ((DateTime)this).OnGetString(tempString, fieldData, needClass);
    }
@@ -656,7 +656,7 @@ public struct DateTime
       get { value = Date { year, month, day }; }
    }
 
-   char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
+   const char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
    {
       static const char ampm[2][3] = { "AM", "PM" };
       int hour = this.hour;
@@ -674,7 +674,7 @@ public struct DateTime
       return stringOutput;
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       char * s = CopyString(string);
       char * tokens[20];
index 39bdc19..26ad8ff 100644 (file)
@@ -14,14 +14,14 @@ import "Map"
 #define FileOpen FileOpenBuffered
 #endif
 
-static Map<String, Map<String, String>> moduleMaps { };
+static Map<const String, Map<const String, const String>> moduleMaps { };
 
 #define SWAP_DWORD(dword) ((((unsigned int)(dword) & 0x000000ff) << 24) \
                          | (((unsigned int)(dword) & 0x0000ff00) <<  8) \
                          | (((unsigned int)(dword) & 0x00ff0000) >>  8) \
                          | (((unsigned int)(dword) & 0xff000000) >> 24))
 
-public dllexport void LoadTranslatedStrings(String moduleName, char * name)
+public dllexport void LoadTranslatedStrings(const String moduleName, const char * name)
 {
 #ifndef ECERE_NOFILE
    File f;
@@ -133,7 +133,7 @@ public dllexport void LoadTranslatedStrings(String moduleName, char * name)
       f.Read(&magic, sizeof(uint), 1);
       if(magic == 0x950412de || magic == 0xde120495)
       {
-         Map<String, String> textMap;
+         Map<const String, const String> textMap;
          bool swap = magic != 0x950412de;
          uint revision = 0;
          uint numStrings = 0;
@@ -150,7 +150,7 @@ public dllexport void LoadTranslatedStrings(String moduleName, char * name)
          if(!moduleMaps)
             moduleMaps = { };
          {
-            MapIterator<String, Map<String, String>> it { map = moduleMaps };
+            MapIterator<const String, Map<const String, const String>> it { map = moduleMaps };
             if(it.Index(name, false))
                delete it.data;
             // TOFIX: delete moduleMaps[module];
@@ -201,9 +201,9 @@ public dllexport void LoadTranslatedStrings(String moduleName, char * name)
 #endif
 }
 
-public dllexport void UnloadTranslatedStrings(String name)
+public dllexport void UnloadTranslatedStrings(const String name)
 {
-   MapIterator<String, Map<String, String>> it { map = moduleMaps };
+   MapIterator<const String, Map<const String, const String>> it { map = moduleMaps };
    if(it.Index(name, false))
    {
       it.data.Free();
@@ -211,9 +211,9 @@ public dllexport void UnloadTranslatedStrings(String name)
    }
 }
 
-public dllexport char * GetTranslatedString(String name, char * string, char * stringAndContext)
+public dllexport const char * GetTranslatedString(const String name, const char * string, const char * stringAndContext)
 {
-   Map<String, String> textMap = moduleMaps ? moduleMaps[name] : null;
-   char * result = textMap ? textMap[stringAndContext ? stringAndContext : string] : string;
+   Map<const String, const String> textMap = moduleMaps ? moduleMaps[name] : null;
+   const char * result = textMap ? textMap[stringAndContext ? stringAndContext : string] : string;
    return (result && result[0]) ? result : string;
 }
index d8db7d3..9834f87 100644 (file)
@@ -2,7 +2,7 @@ namespace sys;
 
 import "File"
 
-public int UTF8toISO8859_1(char * source, char * dest, int max)
+public int UTF8toISO8859_1(const char * source, char * dest, int max)
 {
    unichar ch;
    int nb;
@@ -20,7 +20,7 @@ public int UTF8toISO8859_1(char * source, char * dest, int max)
    return d;
 }
 
-public uint16 * UTF8toUTF16Len(char * source, int byteCount, int * wordCount)
+public uint16 * UTF8toUTF16Len(const char * source, int byteCount, int * wordCount)
 {
    if(source)
    {
@@ -110,7 +110,7 @@ public uint16 * UTF8toUTF16Len(char * source, int byteCount, int * wordCount)
    return null;
 }
 
-public int UTF8toUTF16BufferLen(char * source, uint16 * dest, int max, int len)
+public int UTF8toUTF16BufferLen(const char * source, uint16 * dest, int max, int len)
 {
    if(source)
    {
@@ -165,7 +165,7 @@ public int UTF8toUTF16BufferLen(char * source, uint16 * dest, int max, int len)
    return 0;
 }
 
-public int UTF16BEtoUTF8Buffer(uint16 * source, byte * dest, int max)
+public int UTF16BEtoUTF8Buffer(const uint16 * source, byte * dest, int max)
 {
    int c;
    int d = 0;
@@ -292,13 +292,13 @@ public enum PredefinedCharCategories : CharCategories
    connector = CharCategories { punctuationConnector = true }
 };
 
-public bool GetAlNum(char ** input, char * string, int max)
+public bool GetAlNum(const char ** input, char * string, int max)
 {
    int c = 0;
    unichar ch;
    int nb = 1;
    bool result = true;
-   char * buffer = *input;
+   const char * buffer = *input;
    if(!buffer[0]) { string[0]=0; return false; }
 
    // Eat all left spacing, leave last char in ch
index da97c7a..ad01f5b 100644 (file)
@@ -7,7 +7,7 @@ public struct Pointf { float x, y; };
 
 public class MinMaxValue : int
 {
-   char * OnGetString(char * string, void * fieldData, bool * needClass)
+   const char * OnGetString(char * string, void * fieldData, bool * needClass)
    {
       if(this == MAXINT)
          sprintf(string, "Inf");
@@ -18,7 +18,7 @@ public class MinMaxValue : int
       return string;
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       if(!strcmpi(string, "Inf"))
          this = MAXINT;
index 2c5c1b2..eabde0f 100644 (file)
@@ -40,19 +40,19 @@ extern int __ecereVMethodID_class_OnUnserialize;
 extern int __ecereVMethodID_class_OnFree;
 private:
 
-int CollationCompare(Class type, int count1, void * data1, int count2, void * data2)
+int CollationCompare(Class type, int count1, const void * data1, int count2, const void * data2)
 {
    if(type.type == normalClass || type.type ==  noHeadClass)
    {
       Instance inst1, inst2;
       int result;
-      SerialBuffer buffer1 { size = count1, count = count1, buffer = data1 };
-      SerialBuffer buffer2 { size = count2, count = count2, buffer = data2 };
+      SerialBuffer buffer1 { size = count1, count = count1, buffer = (char *)data1 };
+      SerialBuffer buffer2 { size = count2, count = count2, buffer = (char *)data2 };
 
       ((void (*)(void *, void *, void *))(void *)type._vTbl[__ecereVMethodID_class_OnUnserialize])(type, &inst1, buffer1);
       ((void (*)(void *, void *, void *))(void *)type._vTbl[__ecereVMethodID_class_OnUnserialize])(type, &inst2, buffer2);
 
-      result = ((int (*)(void *, void *, void *))(void *)type._vTbl[__ecereVMethodID_class_OnCompare])(type, inst1, inst2);
+      result = ((int (*)(void *, const void *, const void *))(void *)type._vTbl[__ecereVMethodID_class_OnCompare])(type, inst1, inst2);
 
       buffer1.buffer = null;
       buffer2.buffer = null;
@@ -66,8 +66,8 @@ int CollationCompare(Class type, int count1, void * data1, int count2, void * da
    {
       void * inst1, * inst2;
       int result;
-      SerialBuffer buffer1 { size = count1, count = count1, buffer = data1 };
-      SerialBuffer buffer2 { size = count2, count = count2, buffer = data2 };
+      SerialBuffer buffer1 { size = count1, count = count1, buffer = (char *)data1 };
+      SerialBuffer buffer2 { size = count2, count = count2, buffer = (char *)data2 };
 
       inst1 = new0 byte[type.structSize];
       inst2 = new0 byte[type.structSize];
@@ -85,7 +85,7 @@ int CollationCompare(Class type, int count1, void * data1, int count2, void * da
       return result;
    }
    else
-      return ((int (*)(void *, void *, void *))(void *)type._vTbl[__ecereVMethodID_class_OnCompare])(type, data1, data2);
+      return ((int (*)(void *, const void *, const void *))(void *)type._vTbl[__ecereVMethodID_class_OnCompare])(type, data1, data2);
 }
 
 public class SQLiteStaticLink { }   // Until .imp generation is fixed
@@ -180,7 +180,7 @@ class SQLiteField : Field
 class SQLiteDatabase : Database
 {
    sqlite3 * db;
-   AVLTree<String> collations { };
+   AVLTree<const String> collations { };
 
    ~SQLiteDatabase()
    {
@@ -331,8 +331,8 @@ class SQLiteDatabase : Database
 
                   while(sqlite3_step(statement) != SQLITE_DONE)
                   {
-                     char * fieldName = sqlite3_column_text(statement, 0);
-                     char * typeName = sqlite3_column_text(statement, 1);
+                     const char * fieldName = sqlite3_column_text(statement, 0);
+                     const char * typeName = sqlite3_column_text(statement, 1);
                      int length = sqlite3_column_int(statement, 2);
                      Class type = null;
                      int sqliteType = SQLITE_BLOB;
@@ -405,7 +405,7 @@ class SQLiteDatabase : Database
       return result == SQLITE_OK;
    }
 
-   bool CreateCustomFunction(char * name, SQLCustomFunction customFunction)
+   bool CreateCustomFunction(const char * name, SQLCustomFunction customFunction)
    {
       bool result = false;
       Class cfClass = customFunction._class;
@@ -422,9 +422,9 @@ class SQLiteDatabase : Database
          {
             Class type = null;
             bool pointer = false;
-            String arg = tokens[c];
+            const String arg = tokens[c];
             char * space;
-            TrimLSpaces(arg, arg);
+            TrimLSpaces(tokens[c], tokens[c]);
             if(strchr(arg, '*')) pointer = true;
             if(pointer)
                // Using String for generic pointer...
@@ -579,7 +579,7 @@ void SQLiteFunctionProcessor(sqlite3_context* context, int n, sqlite3_value** va
             if(a == class(String))
             {
                int numBytes = sqlite3_value_bytes(values[i]);
-               char * text = sqlite3_value_text(values[i]);
+               const char * text = sqlite3_value_text(values[i]);
                *(char **)data = text ? new byte[numBytes+1] : null;
                if(text)
                   memcpy(*(char **)data, text, numBytes+1);
@@ -589,7 +589,7 @@ void SQLiteFunctionProcessor(sqlite3_context* context, int n, sqlite3_value** va
                SerialBuffer buffer = staticBuffer; //{ };
                buffer.pos = 0;
                buffer._size = sqlite3_value_bytes(values[i]);
-               buffer._buffer = sqlite3_value_text(values[i]);
+               buffer._buffer = (char *)sqlite3_value_text(values[i]);
                //buffer._buffer = sqlite3_value_blob(curStatement);
                buffer.count = buffer._size;
                if(a.type == structClass)
@@ -1263,7 +1263,7 @@ class SQLiteRow : DriverRow
       return true;
    }
 
-   bool Query(char * queryString)
+   bool Query(const char * queryString)
    {
       bool status = true;
       int result;
@@ -1793,7 +1793,7 @@ class SQLiteRow : DriverRow
          case SQLITE_TEXT:
          {
             int numBytes = sqlite3_column_bytes(curStatement, num);
-            char * text = sqlite3_column_text(curStatement, num);
+            const char * text = sqlite3_column_text(curStatement, num);
             *(char **)data = text ? new byte[numBytes+1] : null;
             if(text)
                memcpy(*(char **)data, text, numBytes+1);
@@ -1804,7 +1804,7 @@ class SQLiteRow : DriverRow
             SerialBuffer buffer { };
             //buffer._buffer = sqlite3_column_blob(curStatement, num);
             buffer._size = sqlite3_column_bytes(curStatement, num);
-            buffer._buffer = sqlite3_column_text(curStatement, num);
+            buffer._buffer = (char *)sqlite3_column_text(curStatement, num);
             buffer.count = buffer._size;
 
             ((void (*)(void *, void *, void *))(void *)dataType._vTbl[__ecereVMethodID_class_OnUnserialize])(dataType, data, buffer);
@@ -1891,7 +1891,7 @@ class SQLiteRow : DriverRow
       return !result;
    }
 
-   bool SetQueryParamText(int paramID, char * data)
+   bool SetQueryParamText(int paramID, const char * data)
    {
       int result;
       if(curStatement != queryStatement)
@@ -1907,7 +1907,7 @@ class SQLiteRow : DriverRow
       return !result;
    }
 
-   bool SetQueryParamObject(int paramID, void * data, Class type)
+   bool SetQueryParamObject(int paramID, const void * data, Class type)
    {
       int result;
       if(curStatement != queryStatement)
@@ -1918,7 +1918,7 @@ class SQLiteRow : DriverRow
       sqlite3_reset(queryStatement);
       {
          SerialBuffer buffer { };
-         ((void (*)(void *, void *, void *))(void *)type._vTbl[__ecereVMethodID_class_OnSerialize])(type, data, buffer);
+         ((void (*)(void *, const void *, void *))(void *)type._vTbl[__ecereVMethodID_class_OnSerialize])(type, data, buffer);
          result = sqlite3_bind_text(queryStatement, paramID, buffer._buffer, buffer.count, SQLITE_TRANSIENT);
          delete buffer;
       }
@@ -1941,7 +1941,7 @@ class SQLiteRow : DriverRow
       SQLiteField lastFld = tbl._fields.last;
       return sqlite3_column_text(curStatement, lastFld.num + 1 + paramID);
    }*/
-   char * GetColumn(int paramID)
+   const char * GetColumn(int paramID)
    {
       return sqlite3_column_text(curStatement, paramID);
    }
index 04562cc..aab5601 100644 (file)
@@ -3,11 +3,11 @@ import "EDA.ec"
 public class DirFilesDataSourceDriver : DataSourceDriver
 {
 public: // this should be visible only to the overriding class, missing access/visibility level
-   String path;
-   String databaseFileExt;
-   String tableFileExt;
+   const String path;
+   const String databaseFileExt;
+   const String tableFileExt;
 
-   virtual bool IsDatabaseFile(char *fullPath)
+   virtual bool IsDatabaseFile(const char *fullPath)
    {
       return FileExists(fullPath).isFile;
    }
@@ -17,7 +17,7 @@ public: // this should be visible only to the overriding class, missing access/v
       if(name)
       {
          char dbPath[MAX_LOCATION];
-         char *ext = databaseFileExt;
+         const char *ext = databaseFileExt;
          strcpy(dbPath, path ? path : "");
          if(ext && *ext)
          {
@@ -41,7 +41,7 @@ public: // this should be visible only to the overriding class, missing access/v
    }
 
 private:
-   Array<String> databases { }; // TODO: make this List<Databases> databases { };
+   Array<const String> databases { }; // TODO: make this List<Databases> databases { };
 
    DirFilesDataSourceDriver()
    {
@@ -52,7 +52,7 @@ private:
 
    ~DirFilesDataSourceDriver()
    {
-      delete path;
+      delete (void *)path;
       databases.Free();
    }
 
@@ -66,7 +66,7 @@ private:
       return databases.count;
    }
 
-   Array<String> GetDatabases()
+   Array<const String> GetDatabases()
    {
       UpdateDatabaseList();
       return databases;
@@ -74,7 +74,7 @@ private:
 
    bool Connect(const String locator)
    {
-      delete path;
+      delete (void *)path;
       path = CopyString(locator);
       if(path && FileExists(path))
       {
@@ -92,7 +92,7 @@ private:
       {
          if(IsDatabaseFile(listing.path))
          {
-            char * ext = databaseFileExt;
+            const char * ext = databaseFileExt;
             char * fileName = CopyString(listing.name);
             if(ext && *ext)
             {
@@ -115,7 +115,7 @@ private:
    {
       if(name && rename && path && FileExists(path))
       {
-         Iterator<String> it { databases };
+         Iterator<const String> it { databases };
          if(it.Find(name))
          {
             String path;
@@ -143,7 +143,7 @@ private:
       if(name && path && FileExists(path))
       {
          bool deleted;
-         Iterator<String> it { databases };
+         Iterator<const String> it { databases };
          if(it.Find(name))
          {
             String path = MakeDatabasePath(name);
index 4430396..2586ad4 100644 (file)
@@ -37,18 +37,18 @@ public:
 public class DataSourceDriver
 {
    OldList listDB { offset = (uint)&((Database)0).prev };
-   class_data char * name;
+   class_data const char * name;
 
-   class_property char * name
+   class_property const char * name
    {
       set { class_data(name) = value; }
       get { return class_data(name); }
    }
 
-   class_data char * databaseFileExtension;
-   class_property char * databaseFileExtension { set { class_data(databaseFileExtension) = value; } get { return class_data(databaseFileExtension); } }
-   class_data char * tableFileExtension;
-   class_property char * tableFileExtension { set { class_data(tableFileExtension) = value; } get { return class_data(tableFileExtension); } }
+   class_data const char * databaseFileExtension;
+   class_property const char * databaseFileExtension { set { class_data(databaseFileExtension) = value; } get { return class_data(databaseFileExtension); } }
+   class_data const char * tableFileExtension;
+   class_property const char * tableFileExtension { set { class_data(tableFileExtension) = value; } get { return class_data(tableFileExtension); } }
 
 public:
    virtual String BuildLocator(DataSource ds);
@@ -58,7 +58,7 @@ public:
    virtual bool RenameDatabase(const String name, const String rename);
    virtual bool DeleteDatabase(const String name);
    virtual Database OpenDatabase(const String name, CreateOptions create, DataSource ds);
-   virtual Array<String> GetDatabases() { return null; } // TODO: make this Container<Database> GetDatabases(); // if supported, filled with ready to open Databases
+   virtual Array<const String> GetDatabases() { return null; } // TODO: make this Container<Database> GetDatabases(); // if supported, filled with ready to open Databases
 
    ~DataSourceDriver()
    {
@@ -72,7 +72,7 @@ public:
    }
 }
 
-static subclass(DataSourceDriver) GetDataDriver(char * driverName)
+static subclass(DataSourceDriver) GetDataDriver(const char * driverName)
 {
    subclass(DataSourceDriver) driver = null;
    driver = FindDataDriverDerivative(class(DataSourceDriver), driverName);
@@ -87,7 +87,7 @@ static subclass(DataSourceDriver) GetDataDriver(char * driverName)
    return driver;
 }
 
-static subclass(DataSourceDriver) FindDataDriverDerivative(Class dataSourceDriverClass, char * driverName)
+static subclass(DataSourceDriver) FindDataDriverDerivative(Class dataSourceDriverClass, const char * driverName)
 {
    OldLink link;
    subclass(DataSourceDriver) derivative = null;
@@ -126,7 +126,7 @@ public class DataSource
    }
 
 public:
-   property String driver
+   property const String driver
    {
       get { return ds ? ((subclass(DataSourceDriver))(ds._class)).name : null; }
       set
@@ -142,27 +142,27 @@ public:
          }
       }
    }
-   property String host
+   property const String host
    {
       set { delete host; host = CopyString(value); }
       get { return host; }
    }
-   property String port
+   property const String port
    {
       set { delete port; port = CopyString(value); }
       get { return port; }
    }
-   property String user
+   property const String user
    {
       set { delete user; user = CopyString(value); }
       get { return user; }
    }
-   property String pass
+   property const String pass
    {
       set { delete pass; pass = CopyString(value); }
       get { return pass; }
    }
-   property String locator
+   property const String locator
    {
       set
       {
@@ -177,7 +177,7 @@ public:
    }
 
    property uint databasesCount { get { return ds.GetDatabasesCount(); } }
-   property Array<String> databases { get { return ds.GetDatabases(); } } // TODO: make this Container<Database> databases { ... }
+   property Array<const String> databases { get { return ds.GetDatabases(); } } // TODO: make this Container<Database> databases { ... }
    bool Connect()
    {
       if(!locator && ds)
@@ -245,7 +245,7 @@ public:
    virtual Table OpenTable(const String name, OpenOptions open);
    virtual bool Begin();
    virtual bool Commit();
-   virtual bool CreateCustomFunction(char * name, SQLCustomFunction customFunction);
+   virtual bool CreateCustomFunction(const char * name, SQLCustomFunction customFunction);
 }
 
 public enum IndexOrder { ascending, descending };
@@ -269,7 +269,7 @@ public class Table
    OldList listRows { offset = (uint)&((Row)0).prev };
    Row cachedIdRow;
 public:
-   virtual String GetName();
+   virtual const String GetName();
    virtual Field GetFirstField();
    virtual Field GetPrimaryKey();
    virtual uint GetFieldsCount();
@@ -293,7 +293,7 @@ public:
          row.tbl = null;
    }
 public:
-   property String name { get { return GetName(); } }
+   property const String name { get { return GetName(); } }
    property Field firstField { get { return GetFirstField(); } }
    property Field primaryKey { get { return GetPrimaryKey(); } }
    property uint fieldsCount { get { return GetFieldsCount(); } }
@@ -387,14 +387,12 @@ public:
                // ((void (*)(void *, void *))(void *)type._vTbl[__ecereVMethodID_class_OnFree])(type, data);
                if(type.type == structClass)
                {
-                  void * dataPtr = (void *)data;
-                  delete dataPtr;
+                  delete (void *)data;
                }
                else if(!strcmp(type.dataTypeString, "char *"))
                {
                   // Strings are handled as a special case in ListBox -- normalClass, but copied when freeData = true
-                  char * string = (char *)data;
-                  delete string;
+                  delete (char *)data;
                }
             }
             dr = dr.next;
@@ -408,14 +406,14 @@ public class Field
 {
    class_no_expansion
 public:
-   virtual String GetName();
+   virtual const String GetName();
    virtual Class GetType();
    virtual int GetLength();
    virtual Field GetPrev();
    virtual Field GetNext();
    virtual Table GetTable();
 
-   property String name { get { return GetName(); } }
+   property const String name { get { return GetName(); } }
    property Class type { get { return GetType(); } }
    property int length { get { return GetLength(); } }
    property Field prev { get { return GetPrev(); } }
@@ -487,7 +485,7 @@ public:
 
    property bool nil { get { return row ? row.Nil() : true; } }
 
-   property char * query
+   property const char * query
    {
       set
       {
@@ -510,7 +508,7 @@ public:
                uint len = strlen(query);
                String countQuery = new char[len+40];
                uint count;
-               String result;
+               const String result;
                Row r { tbl = tbl };
                strcpy(countQuery, "SELECT COUNT(*) ");
                strcat(countQuery, from);
@@ -527,7 +525,7 @@ public:
      }
    }
 
-   public bool Query(char * query)  // Add printf format support
+   public bool Query(const char * query)  // Add printf format support
    {
       if(row)
          return row.Query(query);
@@ -551,11 +549,11 @@ public:
    bool Delete() { return row ? row.Delete() : false; }
    bool SetQueryParam(int paramID, int value) { return row ? row.SetQueryParam(paramID, value) : false; }
    bool SetQueryParam64(int paramID, int64 value) { return row ? row.SetQueryParam64(paramID, value) : false; }
-   bool SetQueryParamText(int paramID, char * value) { return row ? row.SetQueryParamText(paramID, value) : false; }
+   bool SetQueryParamText(int paramID, const char * value) { return row ? row.SetQueryParamText(paramID, value) : false; }
    bool SetQueryParamObject(int paramID, void * value, Class type) { return row ? row.SetQueryParamObject(paramID, value, type) : false; }
    // TOCHECK: Field is passed here to have sqlite type handy. The API might be nicer without
    bool BindQueryData(int paramID, Field fld, typed_object value) { return row ? row.BindQueryData(paramID, fld, value) : false; }
-   char * GetColumn(int paramID) { return row ? row.GetColumn(paramID) : null; }
+   const char * GetColumn(int paramID) { return row ? row.GetColumn(paramID) : null; }
 
    bool GUIDataRowSetData(DataRow dr, DataField df, Field fld)
    {
@@ -583,8 +581,7 @@ public:
       else if(!strcmp(type.dataTypeString, "char *"))
       {
          // Strings are handled as a special case in ListBox -- normalClass, but copied when freeData = true
-         char * string = (char *)data;
-         delete string;
+         delete (char *)data;
       }
       return true;
    }
@@ -607,12 +604,12 @@ public:
    virtual bool SetData(Field fld, typed_object data);
    virtual uint GetSysID();
    virtual bool GoToSysID(uint id);
-   virtual bool Query(char * queryString);
+   virtual bool Query(const char * queryString);
    virtual bool SetQueryParam(int paramID, int value);
    virtual bool SetQueryParam64(int paramID, int64 value);
-   virtual bool SetQueryParamText(int paramID, char * value);
-   virtual bool SetQueryParamObject(int paramID, void * data, Class type);
-   virtual char * GetColumn(int paramID);
+   virtual bool SetQueryParamText(int paramID, const char * value);
+   virtual bool SetQueryParamObject(int paramID, const void * data, Class type);
+   virtual const char * GetColumn(int paramID);
    virtual bool BindQueryData(int paramID, Field fld, typed_object value);
 };
 
index 8f95f9f..f491b12 100644 (file)
@@ -618,7 +618,7 @@ public class CSVReport : ReportDestination
       page.Create();
    }
 
-   void PutString(File f, char * text)
+   void PutString(File f, const char * text)
    {
       char output[4096];
       int s = 0, d = 0;
@@ -675,7 +675,7 @@ public class CSVReport : ReportDestination
                      if(!first) first = label;
                      if(label._class == class(ReportTitle) || eClass_IsDerived(label._class, class(Label)))
                      {
-                        char * text = label.text;
+                        const char * text = label.text;
                         if(label != first)f.Puts(",");
                         if(text)
                            PutString(f, text);
index e4486e6..a273ee7 100644 (file)
@@ -8,9 +8,9 @@ extern int __ecereVMethodID_class_OnFree;
 extern int __ecereVMethodID_class_OnGetString;
 private:
 
-char * defaultNameField = "Name";
-char * defaultIdField = "Id";
-char * defaultActiveField = "Active";
+const char * defaultNameField = "Name";
+const char * defaultIdField = "Id";
+const char * defaultActiveField = "Active";
 
 public void SetDefaultIdField(char * value) { defaultIdField = value; }
 public void SetDefaultNameField(char * value) { defaultNameField = value; }
@@ -148,7 +148,7 @@ public:
                {
                   FieldIndex indexedFields[1];
                   // Table tbl = table.db.OpenTable(table.name, { tableRows });
-                  char * name = table.name;
+                  const char * name = table.name;
                   Database db = table.db;
                   Table tbl = db.OpenTable(name, { tableRows });
                   if(tbl)
@@ -262,7 +262,7 @@ public:
    void EditNotifyUpdate(EditBox editBox)
    {
       DataRow row;
-      char * contents = editBox.contents;
+      const char * contents = editBox.contents;
       int len = strlen(contents);
       if(len && editBox.charPos == len)
       {
@@ -274,7 +274,7 @@ public:
          {
             for(row = firstRow; row; row = row.next)
             {
-               char * string = row.string;
+               const char * string = row.string;
                if(string && SearchString(string, 0, contents, false, false) == string)
                {
                   // SelectRow(row);
@@ -636,7 +636,7 @@ public:
       FieldDataBox::Save();
    }
 
-   virtual bool OnAddTextEntry(Row row, TableDropBox dropBox, char * entry)
+   virtual bool OnAddTextEntry(Row row, TableDropBox dropBox, const char * entry)
    {
       row.Add();
       row.SetData(dropBox.nameField, entry);
index d3f0023..ab3b8be 100644 (file)
@@ -63,7 +63,7 @@ public char ToASCII(unichar ch)
    return asciiCH;
 }
 
-public char * ConvertToASCII(char * string, char * newString, int * len, bool lowerCase)
+public char * ConvertToASCII(const char * string, char * newString, int * len, bool lowerCase)
 {
    if(string)
    {
@@ -1298,7 +1298,7 @@ private:
                      //PrintLn("todo: support other field types for string search");
                   else if(field && field.type)
                   {
-                     char * n = field.name;
+                     const char * n = field.name;
                      char tempString[MAX_F_STRING];
                      int64 data = 0;
                      Class type = field.type;
@@ -1603,7 +1603,7 @@ private:
             }
             else if(lf.CustomLookup && lf.field.type)
             {
-               char * n = lf.field.name;
+               const char * n = lf.field.name;
                int64 data = 0;
                String s = null;
                Class type = lf.field.type;
@@ -1626,7 +1626,7 @@ private:
             }
             else if(lf.field.type && eClass_IsDerived(lf.dataField.dataType, class(char*)))
             {
-               char * n = lf.field.name;
+               const char * n = lf.field.name;
                char tempString[MAX_F_STRING];
                int64 data = 0;
                Class type = lf.field.type;
@@ -1654,7 +1654,7 @@ private:
             }
             else if(lf.field.type)
             {
-               char * n = lf.field.name;
+               const char * n = lf.field.name;
                //char tempString[256];
                int64 data = 0;
                Class type = lf.field.type;
index 00d0633..8f0e112 100644 (file)
@@ -73,7 +73,7 @@ public class Id : uint
                return true;
             }
 
-            bool DataBox::NotifyTextEntry(DropBox _dropBox, char * string, bool confirmed)
+            bool DataBox::NotifyTextEntry(DropBox _dropBox, const char * string, bool confirmed)
             {
                TableDropBox dropBox = (TableDropBox)_dropBox;
                //Table tbl = dropBox.table.db.OpenTable(dropBox.table.name, { tableRows });
@@ -125,7 +125,7 @@ public class Id : uint
                   {
                      for(row = dropBox.firstRow; row; row = row.next)
                      {
-                        char * string = row.string;
+                        const char * string = row.string;
                         if(string && !strcmp(trimmed, string))
                            break;
                      }
@@ -165,7 +165,7 @@ public class Id : uint
       return dropBox;
    }
 
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       if(&this)
       {
@@ -192,7 +192,7 @@ public class Id : uint
                   if(nameField)
                   {
    #ifdef _DEBUG
-                     char * fn = nameField->name;
+                     const char * fn = nameField->name;
    #endif
                      // Get name data from row
                      int64 data = 0;
@@ -350,7 +350,7 @@ public:
    }
    */
 
-   char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
+   const char * OnGetString(char * stringOutput, void * fieldData, bool * needClass)
    {
       stringOutput[0] = 0;
       if(this)
@@ -372,7 +372,7 @@ public:
       return stringOutput;
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
       char value[256];
       this = IdList { };
@@ -704,7 +704,7 @@ public class FixedMultiLineString : String
    Window OnEdit(DataBox dataBox, DataBox obsolete, int x, int y, int w, int h, void * userData)
    {
       // Don't show the editbox right away so that the text is highlighted by default
-      char * string = "";
+      const char * string = "";
       EditBox editBox
       {
          dataBox, visible = false,
index ba0feac..6a26ccc 100644 (file)
@@ -51,8 +51,8 @@ class epj2makeApp : GuiApplication
       bool noGlobalSettings = false;
       bool noResources = false;
       bool noWarnings = false;
-      char * overrideObjDir = null;
-      char * includemkPath = null;
+      const char * overrideObjDir = null;
+      const char * includemkPath = null;
 
       /*
       for(c = 0; c < this.argc; c++)
@@ -83,7 +83,7 @@ class epj2makeApp : GuiApplication
 
       for(c = 1; c < argc; c++)
       {
-         char * arg = argv[c];
+         const char * arg = argv[c];
          if(arg[0] == '-')
          {
             if(!strcmpi(arg+1, "make"))
@@ -186,14 +186,14 @@ class epj2makeApp : GuiApplication
             else if(arg[1] == 'i')
             {
                if(++c < argc)
-                  ParseDirList(argv[c], optionsCompiler.includeDirs);
+                  ParseDirList((char *)argv[c], optionsCompiler.includeDirs);
                else
                   valid = false;
             }
             else if(arg[1] == 'l')
             {
                if(++c < argc)
-                  ParseDirList(argv[c], optionsCompiler.libraryDirs);
+                  ParseDirList((char *)argv[c], optionsCompiler.libraryDirs);
                else
                   valid = false;
             }
@@ -263,7 +263,7 @@ class epj2makeApp : GuiApplication
                }
                else
                {
-                  char * compiler = getenv("COMPILER");
+                  const char * compiler = getenv("COMPILER");
                   if(!compiler) compiler = "Default";
                   settingsContainer.Load();
                   //incref ideSettings;
index 16f7307..60bb9b0 100644 (file)
@@ -15,14 +15,14 @@ public:
    Array<StackFrame> stack { };
 
    char * extensions;
-   property char * extensions { set { delete extensions; if(value) extensions = CopyString(value); } }
+   property const char * extensions { set { delete extensions; if(value) extensions = CopyString(value); } }
 
    ~NormalFileSystemIterator()
    {
       delete extensions;
    }
 
-   void Iterate(char * startPath)
+   void Iterate(const char * startPath)
    {
       StackFrame frame;
 
@@ -54,12 +54,12 @@ public:
       {
          if(frame.listing.Find())
          {
-            char * name = frame.listing.name;
+            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)
             {
-               char * path = frame.listing.path;
+               const char * path = frame.listing.path;
                OnFile(frame.listing.path);
             }
             else if(peek)
@@ -90,27 +90,27 @@ public class FileSystemIterator
 public:
    bool iterateStartPath;
 
-   virtual bool OnInit(char * startPath)
+   virtual bool OnInit(const char * startPath)
    {
       return false;
    }
 
-   virtual bool OnFile(char * filePath)
+   virtual bool OnFile(const char * filePath)
    {
       return true;
    }
 
-   virtual bool OnFolder(char * folderPath)
+   virtual bool OnFolder(const char * folderPath)
    {
       return true;
    }
 
-   virtual bool OnVolume(char * volumePath)
+   virtual bool OnVolume(const char * volumePath)
    {
       return true;
    }
 
-   virtual void OutFolder(char * folderPath, bool isRoot)
+   virtual void OutFolder(const char * folderPath, bool isRoot)
    {
    }
 }
@@ -135,4 +135,3 @@ public class StackFrame
       //delete listing;
    }
 };
-
index 270239d..6055503 100644 (file)
@@ -57,7 +57,7 @@ public:
          DataRow row;
          for(row = list.firstRow; row; row = row.next)
          {
-            String string = row.string;
+            const String string = row.string;
             if(string && string[0])
                array.Add(CopyUnixPath(string));
          }
@@ -175,7 +175,7 @@ public:
             if(listBox.currentRow == listBox.lastRow)
             {
                DataRow r = listBox.lastRow;
-               char * s = r.string;
+               const char * s = r.string;
                listBox.currentRow = listBox.AddString("");
             }
          }
@@ -375,7 +375,7 @@ class NamedStringsBox : CommonControl
             if(listBox.currentRow == listBox.lastRow)
             {
                DataRow r = listBox.lastRow;
-               char * s = r.string;
+               const char * s = r.string;
                listBox.currentRow = list.AddRow();
                //row.SetData(nameField, null);
                //row.SetData(stringField, null);
index 2cd2797..8ba45af 100644 (file)
@@ -1059,7 +1059,7 @@ class HTMLView : Window
       NotifyPageOpened(master);
    }
 
-   bool ScrollToAnchor(Block block, char * anchor)
+   bool ScrollToAnchor(Block block, const char * anchor)
    {
       bool result = false;
       if(block.type == ANCHOR && block.anchor && !strcmpi(block.anchor, anchor))
@@ -1079,7 +1079,7 @@ class HTMLView : Window
       return result;
    }
 
-   bool GoToAnchor(char * anchor)
+   bool GoToAnchor(const char * anchor)
    {
       return anchor ? ScrollToAnchor(html.block, anchor) : false;
    }
@@ -1482,7 +1482,7 @@ class HTMLView : Window
             {
                int c;
                int len;
-               char * text;
+               const char * text;
 
                if(location[strlen(location)-1] != '?')
                {
index caf300c..67056e0 100644 (file)
@@ -31,18 +31,18 @@ public class DynamicString : Array<char>
       get { return array; }
    }
 
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       return array;
    }
 
-   bool OnGetDataFromString(char * string)
+   bool OnGetDataFromString(const char * string)
    {
-      this = (DynamicString)string;
+      this = (DynamicString)(char *)string;
       return true;
    }
 
-   void concat(String s)
+   void concat(const String s)
    {
       int len = strlen(s);
       if(len)
@@ -54,7 +54,7 @@ public class DynamicString : Array<char>
       }
    }
 
-   void concatf(char * format, ...)
+   void concatf(const char * format, ...)
    {
       // TODO: improve this to vsprinf directly in the Array<char> instead of calling concat
       char string[MAX_F_STRING];
index b13c0f5..e62e8a3 100644 (file)
@@ -23,7 +23,7 @@ define defaultCompilerName = "Default";
 
 define defaultObjDirExpression = "obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)";
 
-char * settingsDirectoryNames[DirTypes] =
+const char * settingsDirectoryNames[DirTypes] =
 {
    "Include Files",
    "Library Files",
@@ -32,7 +32,7 @@ char * settingsDirectoryNames[DirTypes] =
 
 // This function cannot accept same pointer for source and output
 // todo: rename ReplaceSpaces to EscapeSpaceAndSpecialChars or something
-void ReplaceSpaces(char * output, char * source)
+void ReplaceSpaces(char * output, const char * source)
 {
    int c, dc;
    char ch, pch = 0;
@@ -58,7 +58,7 @@ void ReplaceSpaces(char * output, char * source)
 enum GlobalSettingsChange { none, editorSettings, projectOptions, compilerSettings };
 
 enum PathRelationship { unrelated, identical, siblings, subPath, parentPath, insuficientInput, pathEmpty, toEmpty, pathNull, toNull, bothEmpty, bothNull };
-PathRelationship eString_PathRelated(char * path, char * to, char * pathDiff)
+PathRelationship eString_PathRelated(const char * path, const char * to, char * pathDiff)
 {
    PathRelationship result;
    if(pathDiff) *pathDiff = '\0';
@@ -99,7 +99,7 @@ PathRelationship eString_PathRelated(char * path, char * to, char * pathDiff)
    return result;
 }
 
-char * CopyValidateMakefilePath(char * path)
+char * CopyValidateMakefilePath(const char * path)
 {
    const int map[]  =    {           0,           1,             2,             3,           4,                    5,                 6,            0,                   1,                    2,        7 };
    const char * vars[] = { "$(MODULE)", "$(CONFIG)", "$(PLATFORM)", "$(COMPILER)", "$(TARGET)", "$(COMPILER_SUFFIX)", "$(DEBUG_SUFFIX)", "$(PROJECT)",  "$(CONFIGURATION)", "$(TARGET_PLATFORM)",(char *)0 };
@@ -115,7 +115,7 @@ char * CopyValidateMakefilePath(char * path)
          int c;
          char * tmp = copy;
          char * start = tmp;
-         Array<char *> parts { };
+         Array<const char *> parts { };
 
          for(c=0; c<len; c++)
          {
@@ -157,7 +157,7 @@ char * CopyValidateMakefilePath(char * path)
    return copy;
 }
 
-void ValidPathBufCopy(char *output, char *input)
+void ValidPathBufCopy(char *output, const char *input)
 {
 #ifdef __WIN32__
    bool volumePath = false;
@@ -174,7 +174,7 @@ void ValidPathBufCopy(char *output, char *input)
    }
 #endif
    {
-      char * chars = "*|:\",<>?";
+      const char * chars = "*|:\",<>?";
       char ch, * s = output, * o = output;
       while((ch = *s++)) { if(!strchr(chars, ch)) *o++ = ch; }
       *o = '\0';
@@ -201,7 +201,7 @@ void BasicValidatePathBoxPath(PathBox pathBox)
    pathBox.path = path;
 }
 
-CompilerConfig MakeDefaultCompiler(char * name, bool readOnly)
+CompilerConfig MakeDefaultCompiler(const char * name, bool readOnly)
 {
    CompilerConfig defaultCompiler
    {
@@ -418,19 +418,19 @@ public:
    List<CompilerConfig> compilerConfigs { };
    Array<String> recentFiles { };
    Array<String> recentProjects { };
-   property char * docDir
+   property const char * docDir
    {
       set { delete docDir; if(value && value[0]) docDir = CopyString(value); }
       get { return docDir ? docDir : ""; }
       isset { return docDir && docDir[0]; }
    }
-   property char * ideFileDialogLocation
+   property const char * ideFileDialogLocation
    {
       set { delete ideFileDialogLocation; if(value && value[0]) ideFileDialogLocation = CopyString(value); }
       get { return ideFileDialogLocation ? ideFileDialogLocation : ""; }
       isset { return ideFileDialogLocation && ideFileDialogLocation[0]; }
    }
-   property char * ideProjectFileDialogLocation
+   property const char * ideProjectFileDialogLocation
    {
       set { delete ideProjectFileDialogLocation; if(value && value[0]) ideProjectFileDialogLocation = CopyString(value); }
       get { return ideProjectFileDialogLocation ? ideProjectFileDialogLocation : ""; }
@@ -444,34 +444,34 @@ public:
    // TODO: Classify settings
    //EditorSettings editor { };
 
-   property char * projectDefaultTargetDir
+   property const char * projectDefaultTargetDir
    {
       set { delete projectDefaultTargetDir; if(value && value[0]) projectDefaultTargetDir = CopyValidateMakefilePath(value); }
       get { return projectDefaultTargetDir ? projectDefaultTargetDir : ""; }
       isset { return projectDefaultTargetDir && projectDefaultTargetDir[0]; }
    }
-   property char * projectDefaultIntermediateObjDir
+   property const char * projectDefaultIntermediateObjDir
    {
       set { delete projectDefaultIntermediateObjDir; if(value && value[0]) projectDefaultIntermediateObjDir = CopyValidateMakefilePath(value); }
       get { return projectDefaultIntermediateObjDir ? projectDefaultIntermediateObjDir : ""; }
       isset { return projectDefaultIntermediateObjDir && projectDefaultIntermediateObjDir[0]; }
    }
 
-   property char * compilerConfigsDir
+   property const char * compilerConfigsDir
    {
       set { delete compilerConfigsDir; if(value && value[0]) compilerConfigsDir = CopyString(value); }
       get { return compilerConfigsDir ? compilerConfigsDir : ""; }
       isset { return compilerConfigsDir && compilerConfigsDir[0]; }
    }
 
-   property char * defaultCompiler
+   property const char * defaultCompiler
    {
       set { delete defaultCompiler; if(value && value[0]) defaultCompiler = CopyString(value); }
       get { return defaultCompiler && defaultCompiler[0] ? defaultCompiler : defaultCompilerName; }
       isset { return defaultCompiler && defaultCompiler[0]; }
    }
 
-   property String language
+   property const String language
    {
       set
       {
@@ -492,9 +492,9 @@ private:
    char * defaultCompiler;
    String language;
 
-   CompilerConfig GetCompilerConfig(String compilerName)
+   CompilerConfig GetCompilerConfig(const String compilerName)
    {
-      char * name = compilerName && compilerName[0] ? compilerName : defaultCompilerName;
+      const char * name = compilerName && compilerName[0] ? compilerName : defaultCompilerName;
       CompilerConfig compilerConfig = null;
       for(compiler : compilerConfigs)
       {
@@ -661,7 +661,7 @@ private:
          compilerConfigsDir = UpdatePortablePath(compilerConfigsDir, location, makeAbsolute);
    }
 
-   char * UpdatePortablePath(char * path, char * location, bool makeAbsolute)
+   char * UpdatePortablePath(char * path, const char * location, bool makeAbsolute)
    {
       char * output;
       if(makeAbsolute)
@@ -690,7 +690,7 @@ private:
       return output;
    }
 
-   void AddRecentFile(char * fileName)
+   void AddRecentFile(const char * fileName)
    {
       int c;
       char * filePath = CopyString(fileName);
@@ -709,7 +709,7 @@ private:
       //UpdateRecentMenus(owner);
    }
 
-   void AddRecentProject(char * projectName)
+   void AddRecentProject(const char * projectName)
    {
       int c;
       char * filePath = CopyString(projectName);
@@ -735,7 +735,7 @@ static const char * compilerTypeSolutionFileVersionString[CompilerType] = { "",
 static const char * compilerTypeYearString[CompilerType] = { "", "", "", "2005", "2008", "2010" };
 static const char * compilerTypeProjectFileExtension[CompilerType] = { "", "", "", "vcproj", "vcproj", "vcxproj" };
 // TODO: i18n with Array
-static Array<String> compilerTypeLongNames
+static Array<const String> compilerTypeLongNames
 { [
    $"GNU Compiler Collection (GCC) / GNU Make",
    $"Tiny C Compiler / GNU Make",
@@ -755,7 +755,7 @@ public enum CompilerType
       get { return this == vs8 || this == vs9 || this == vs10; }
    }
 
-   property char *
+   property const char *
    {
       get { return OnGetString(null, null, null); }
       set
@@ -771,13 +771,13 @@ public enum CompilerType
       }
    };
 
-   property char * longName { get { return OnGetString(null, (void*)1, null); } };
-   property char * versionString { get { return OnGetString(null, (void*)2, null); } };
-   property char * yearString { get { return OnGetString(null, (void*)3, null); } };
-   property char * projectFileExtension { get { return OnGetString(null, (void*)4, null); } };
-   property char * solutionFileVersionString { get { return OnGetString(null, (void*)5, null); } };
+   property const char * longName { get { return OnGetString(null, (void*)1, null); } };
+   property const char * versionString { get { return OnGetString(null, (void*)2, null); } };
+   property const char * yearString { get { return OnGetString(null, (void*)3, null); } };
+   property const char * projectFileExtension { get { return OnGetString(null, (void*)4, null); } };
+   property const char * solutionFileVersionString { get { return OnGetString(null, (void*)5, null); } };
 
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       if(this >= firstCompilerType && this <= lastCompilerType)
       {
@@ -806,7 +806,7 @@ class CompilerConfig
 
    numJobs = 1;
 public:
-   property char * name
+   property const char * name
    {
       set
       {
@@ -820,55 +820,55 @@ public:
    CompilerType type;
    Platform targetPlatform;
    int numJobs;
-   property char * makeCommand
+   property const char * makeCommand
    {
       set { delete makeCommand; if(value && value[0]) makeCommand = CopyString(value); }
       get { return makeCommand; }
       isset { return makeCommand && makeCommand[0]; }
    }
-   property char * ecpCommand
+   property const char * ecpCommand
    {
       set { delete ecpCommand; if(value && value[0]) ecpCommand = CopyString(value); }
       get { return ecpCommand; }
       isset { return ecpCommand && ecpCommand[0]; }
    }
-   property char * eccCommand
+   property const char * eccCommand
    {
       set { delete eccCommand; if(value && value[0]) eccCommand = CopyString(value); }
       get { return eccCommand; }
       isset { return eccCommand && eccCommand[0]; }
    }
-   property char * ecsCommand
+   property const char * ecsCommand
    {
       set { delete ecsCommand; if(value && value[0]) ecsCommand = CopyString(value); }
       get { return ecsCommand; }
       isset { return ecsCommand && ecsCommand[0]; }
    }
-   property char * earCommand
+   property const char * earCommand
    {
       set { delete earCommand; if(value && value[0]) earCommand = CopyString(value); }
       get { return earCommand; }
       isset { return earCommand && earCommand[0]; }
    }
-   property char * cppCommand
+   property const char * cppCommand
    {
       set { delete cppCommand; if(value && value[0]) cppCommand = CopyString(value); }
       get { return cppCommand; }
       isset { return cppCommand && cppCommand[0]; }
    }
-   property char * ccCommand
+   property const char * ccCommand
    {
       set { delete ccCommand; if(value && value[0]) ccCommand = CopyString(value); }
       get { return ccCommand; }
       isset { return ccCommand && ccCommand[0]; }
    }
-   property char * cxxCommand
+   property const char * cxxCommand
    {
       set { delete cxxCommand; if(value && value[0]) cxxCommand = CopyString(value); }
       get { return cxxCommand; }
       isset { return cxxCommand && cxxCommand[0]; }
    }
-   property char * execPrefixCommand // <-- old name for json ide settings file compatibility
+   property const char * execPrefixCommand // <-- old name for json ide settings file compatibility
    {
       set { delete executableLauncher; if(value && value[0]) executableLauncher = CopyString(value); }
       get { return executableLauncher; }
@@ -880,19 +880,19 @@ public:
    // deprecated
    property bool supportsBitDepth { set { } get { return true; } isset { return false; } }
 
-   property char * distccHosts
+   property const char * distccHosts
    {
       set { delete distccHosts; if(value && value[0]) distccHosts = CopyString(value); }
       get { return distccHosts; }
       isset { return distccHosts && distccHosts[0]; }
    }
-   property char * gccPrefix // <-- old name for json ide settings file compatibility
+   property const char * gccPrefix // <-- old name for json ide settings file compatibility
    {
       set { delete gnuToolchainPrefix; if(value && value[0]) gnuToolchainPrefix = CopyString(value); }
       get { return gnuToolchainPrefix; }
       isset { return gnuToolchainPrefix && gnuToolchainPrefix[0]; }
    }
-   property char * sysroot
+   property const char * sysroot
    {
       set { delete sysroot; if(value && value[0]) sysroot = CopyString(value); }
       get { return sysroot; }
@@ -1122,12 +1122,12 @@ private:
 
 struct LanguageOption
 {
-   String name;
-   String bitmap;
-   String code;
+   const String name;
+   const String bitmap;
+   const String code;
    BitmapResource res;
 
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       return name;
    }
@@ -1156,11 +1156,11 @@ Array<LanguageOption> languages
    { "Magyar (8%)",        ":countryCode/hu.png", "hu" }
 ] };
 
-String GetLanguageString()
+const String GetLanguageString()
 {
    char * dot, * colon;
    static char lang[256];
-   String language = getenv("ECERE_LANGUAGE");
+   const String language = getenv("ECERE_LANGUAGE");
    if(!language) language = getenv("LANGUAGE");
    if(!language) language = getenv("LC_ALL");
    if(!language) language = getenv("LC_MESSAGES");
@@ -1185,7 +1185,7 @@ String GetLanguageString()
    return language;
 }
 
-bool LanguageRestart(char * code, Application app, IDESettings settings, IDESettingsContainer settingsContainer, Window ide, Window projectView, bool wait)
+bool LanguageRestart(const char * code, Application app, IDESettings settings, IDESettingsContainer settingsContainer, Window ide, Window projectView, bool wait)
 {
    bool restart = true;
    String command = null;
@@ -1218,7 +1218,7 @@ bool LanguageRestart(char * code, Application app, IDESettings settings, IDESett
                restart = false;
             if(projectView.fileName)
             {
-               char * name = projectView.fileName;
+               const char * name = projectView.fileName;
                if(name)
                {
                   for(j = 0; (ch = name[j]); j++)
@@ -1258,7 +1258,7 @@ bool LanguageRestart(char * code, Application app, IDESettings settings, IDESett
                }
                if(w.fileName)
                {
-                  char * name = w.fileName;
+                  const char * name = w.fileName;
                   len++;
                   for(j = 0; (ch = name[j]); j++)
                      len += (ch == ' ' || ch == '\"' || ch == '&' || ch == '$' || ch == '(' || ch == ')') ? 2 : 1;
@@ -1276,7 +1276,7 @@ bool LanguageRestart(char * code, Application app, IDESettings settings, IDESett
             {
                if(w.isActiveClient && w.isDocument)
                {
-                  char * name = w.fileName;
+                  const char * name = w.fileName;
                   if(name)
                   {
                      strcat(command, " ");
@@ -1307,7 +1307,7 @@ bool LanguageRestart(char * code, Application app, IDESettings settings, IDESett
             HRESULT status;
             wLanguage[0] = 0;
 
-            RegCreateKeyEx(HKEY_CURRENT_USER, "Environment", 0, "", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, null, &key, &status);
+            RegCreateKeyEx(HKEY_CURRENT_USER, "Environment", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, null, &key, &status);
             if(key)
             {
                UTF8toUTF16Buffer(code, wLanguage, sizeof(wLanguage) / sizeof(uint16));
@@ -1329,7 +1329,7 @@ bool LanguageRestart(char * code, Application app, IDESettings settings, IDESett
       int i;
       for(i = 1; i < app.argc; i++)
       {
-         char * arg = app.argv[i];
+         const char * arg = app.argv[i];
          len++;
          for(j = 0; (ch = arg[j]); j++)
             len += (ch == ' ' || ch == '\"' || ch == '&' || ch == '$' || ch == '(' || ch == ')') ? 2 : 1;
index bbf3174..516d41e 100644 (file)
@@ -58,21 +58,21 @@ class OldIDESettings : GlobalAppSettings
    //numJobs = 1;
 
    char * projectDefaultTargetDir;
-   property char * projectDefaultTargetDir
+   property const char * projectDefaultTargetDir
    {
       set { delete projectDefaultTargetDir; if(value && value[0]) projectDefaultTargetDir = CopyString(value); }
       get { return projectDefaultTargetDir ? projectDefaultTargetDir : ""; }
    }
    char * projectDefaultIntermediateObjDir;
-   property char * projectDefaultIntermediateObjDir
+   property const char * projectDefaultIntermediateObjDir
    {
       set { delete projectDefaultIntermediateObjDir; if(value && value[0]) projectDefaultIntermediateObjDir = CopyString(value); }
       get { return projectDefaultIntermediateObjDir ? projectDefaultIntermediateObjDir : ""; }
    }
 
-   CompilerConfig GetCompilerConfig(String compilerName)
+   CompilerConfig GetCompilerConfig(const String compilerName)
    {
-      char * name = compilerName && compilerName[0] ? compilerName : defaultCompilerName;
+      const char * name = compilerName && compilerName[0] ? compilerName : defaultCompilerName;
       CompilerConfig compilerConfig = null;
       for(compiler : compilerConfigs)
       {
@@ -251,8 +251,8 @@ class OldIDESettings : GlobalAppSettings
             int len = strlen(compiler.name);
             if(len)
             {
-               char * section, * platform;
-               section = new char[len + 17];
+               char * section = new char[len + 17];
+               const char * platform;
                sprintf(section, "%s Compiler Config", compiler.name);
                platform = compiler.targetPlatform.OnGetString(null, null, null);
                PutGlobalValue(section, "Target Platform", singleString, platform);
index 9a1d22d..63fa52c 100644 (file)
@@ -9,7 +9,7 @@ static Platform platform;
 static ProjectNode currentNode;
 static Project project;
 
-static String MakeString(char * s, int len, char * switchToKeep, int lenSwitchToKeep)
+static String MakeString(const char * s, int len, const char * switchToKeep, int lenSwitchToKeep)
 {
    String string = new char[len+1];
    if(s[0] == '-' && switchToKeep && switchToKeep[0])
@@ -32,7 +32,7 @@ static String MakeString(char * s, int len, char * switchToKeep, int lenSwitchTo
 
 class StringListBox : EditBox
 {
-   char * switchToKeep;
+   const char * switchToKeep;
    int lenSwitchToKeep;
 
    textHorzScroll = true;
@@ -61,7 +61,7 @@ class StringListBox : EditBox
       {
          Array<String> array { };
          int c, start = 0;
-         char * contents = property::contents;
+         const char * contents = property::contents;
          char * s;
          char ch;
          bool quoted = false;
@@ -134,9 +134,9 @@ class ProjectSettings : Window
       //char * s = PrintString("Project Settings - ", project.topNode.fileName);
       //text = s;
       char * projectName = new char[strlen(project.topNode.name) + 1];
-      char * nodeName = currentNode && currentNode != project.topNode ? currentNode.name : "";
-      char * config = buildTab.selectedConfigName;
-      char * platform = buildTab.selectedPlatformName;
+      const char * nodeName = currentNode && currentNode != project.topNode ? currentNode.name : "";
+      const char * config = buildTab.selectedConfigName;
+      const char * platform = buildTab.selectedPlatformName;
       char * label = new char[strlen(dialogTitle) + 3 + strlen(project.topNode.name) + 3 +
                               strlen(nodeName) + 2 + strlen(config) + 1 + strlen(platform) + 1 + 1];
       strcpy(label, dialogTitle);
@@ -297,7 +297,7 @@ class OptionBox<class Z> : CommonControl
    property Size size { set { editor.size = value; } }
    property Anchor anchor { set { editor.anchor = value; } }
    property Key hotKey { set { editor.hotKey = value; } }
-   property char * text { set { editor.text = value; Window::text = value; } }
+   property const char * text { set { editor.caption = value; Window::caption = value; } }
 
    uint option;
 
@@ -444,7 +444,7 @@ class OptionBox<class Z> : CommonControl
 
    void Unset()
    {
-      char * platformName = platform ? platform.OnGetString(0,0,0) : null;
+      const char * platformName = platform ? platform.OnGetString(0,0,0) : null;
       MarkBuildTabModified();
 
       if(config)
@@ -549,7 +549,7 @@ class OptionBox<class Z> : CommonControl
    void FigureOutInherited()
    {
       ProjectNode node;
-      char * platformName = platform ? platform.OnGetString(0,0,0) : null;
+      const char * platformName = platform ? platform.OnGetString(0,0,0) : null;
       bool skipped = false;
       for(node = currentNode; node; node = node.parent)
       {
@@ -602,7 +602,7 @@ class OptionBox<class Z> : CommonControl
 
    void Retrieve()
    {
-      char * platformName = platform ? platform.OnGetString(0,0,0) : null;
+      const char * platformName = platform ? platform.OnGetString(0,0,0) : null;
       MarkBuildTabModified();
       if(config)
       {
@@ -652,7 +652,7 @@ class OptionBox<class Z> : CommonControl
    void Load()
    {
       ProjectNode node;
-      char * platformName = platform ? platform.OnGetString(0,0,0) : null;
+      const char * platformName = platform ? platform.OnGetString(0,0,0) : null;
       bool setAttribs = false;
       for(node = currentNode; node; node = node.parent)
       {
@@ -937,7 +937,7 @@ class StringArrayOptionBox : MultiStringOptionBox
    Array<String> GetStrings() { return ((StringListBox)editor).strings; }
    void SetStrings(Array<String> value) { ((StringListBox)editor).strings = value; }
 
-   property char * switchToKeep { set { ((StringListBox)editor).switchToKeep = value; ((StringListBox)editor).lenSwitchToKeep = strlen(value); } };
+   property const char * switchToKeep { set { ((StringListBox)editor).switchToKeep = value; ((StringListBox)editor).lenSwitchToKeep = strlen(value); } };
 }
 
 class StringsArrayOptionBox : MultiStringOptionBox
@@ -1015,9 +1015,9 @@ static void FixPathOnPathBoxNotifyModified(PathBox pathBox)
 class DirsArrayOptionBox : MultiStringOptionBox
 {
 public:
-   property char * switchToKeep { set { switchToKeep = value; lenSwitchToKeep = strlen(value); } };
+   property const char * switchToKeep { set { switchToKeep = value; lenSwitchToKeep = strlen(value); } };
 private:
-   char * switchToKeep;
+   const char * switchToKeep;
    int lenSwitchToKeep;
 
    editor = DirectoriesBox
@@ -1025,7 +1025,7 @@ private:
       browseDialog = { };
       bool NotifyModified(DirectoriesBox dirsBox)
       {
-         char * switchToKeep = ((DirsArrayOptionBox)dirsBox.id).switchToKeep;
+         const char * switchToKeep = ((DirsArrayOptionBox)dirsBox.id).switchToKeep;
          if(switchToKeep && switchToKeep[0])
          {
             bool change = false;
@@ -1275,7 +1275,7 @@ class BuildTab : Tab
 
    ProjectNode lastSelectedNode;
 
-   property char * selectedConfigName
+   property const char * selectedConfigName
    {
       get
       {
@@ -1292,7 +1292,7 @@ class BuildTab : Tab
       }
    }
 
-   property char * selectedPlatformName
+   property const char * selectedPlatformName
    {
       get
       {
@@ -1302,7 +1302,7 @@ class BuildTab : Tab
             if(button && button.id)
             {
                Platform platform = (Platform)button.id;
-               char * platformName = platform ? platform.OnGetString(0,0,0) : null; // all these platformName are leaking, no?
+               const char * platformName = platform ? platform.OnGetString(0,0,0) : null; // all these platformName are leaking, no?
                return platformName;
             }
          }
@@ -1493,7 +1493,7 @@ class BuildTab : Tab
       text = $"(Right click or press Ctrl-Del to revert an option to inherited value)", anchor = { top = 72, right = 16 }
    };
 
-   void FindUniqueConfigName(char * baseName, bool startWithNumber, char * output)
+   void FindUniqueConfigName(const char * baseName, bool startWithNumber, char * output)
    {
       int num = 0;
       char tmp[MAX_F_STRING];
index 233e153..958df50 100644 (file)
@@ -65,7 +65,7 @@ static enum dplchan { none, gdbProtoIgnored=0/*1*/, gdbProtoUnknown=2, gdbOutput
 static enum dplchan { none, gdbProtoIgnored=0, gdbProtoUnknown=0, gdbOutput=0, gdbCommand=0, debuggerCall=0, debuggerProblem=0,
                         debuggerUserAction=0,debuggerState=0, debuggerBreakpoints=0, debuggerWatches=0, debuggerTemp=0 };
 #endif
-static char * _dpct[] = {
+static const char * _dpct[] = {
    null,
    "GDB Protocol Ignored",
    "GDB Protocol ***Unknown***",
@@ -89,7 +89,7 @@ static char * _dpct[] = {
 #else
 #define _dpl2(...)
 #endif
-static void __dpl2(char * file, int line, char ** channels, int channel, int indent, typed_object object, ...)
+static void __dpl2(const char * file, int line, const char ** channels, int channel, int indent, typed_object object, ...)
 {
    bool chan = channel && channels && channels[channel];
    if(chan || !channels)
@@ -110,7 +110,7 @@ static void __dpl2(char * file, int line, char ** channels, int channel, int ind
 }
 
 #define _dpl(...) __dpl(__FILE__, __LINE__, ##__VA_ARGS__)
-static void __dpl(char * file, int line, int indent, char * format, ...)
+static void __dpl(const char * file, int line, int indent, const char * format, ...)
 {
    va_list args;
    char string[MAX_F_STRING];
@@ -705,7 +705,7 @@ class Debugger
 
 #ifdef _DEBUG_INST
 #define _ChangeUserAction(value) ChangeUserAction(__FILE__, __LINE__, value)
-   void ChangeUserAction(char * file, int line, DebuggerUserAction value)
+   void ChangeUserAction(const char * file, int line, DebuggerUserAction value)
    {
       bool same = value == userAction;
 #if 0
@@ -719,7 +719,7 @@ class Debugger
 
 #ifdef _DEBUG_INST
 #define _ChangeState(value) ChangeState(__FILE__, __LINE__, value)
-   void ChangeState(char * file, int line, DebuggerState value)
+   void ChangeState(const char * file, int line, DebuggerState value)
 #else
 #define _ChangeState(value) ChangeState(value)
    void ChangeState(DebuggerState value)
@@ -1143,7 +1143,7 @@ class Debugger
       }
    }
 
-   void RunToCursor(CompilerConfig compiler, ProjectConfig config, int bitDepth, bool useValgrind, char * absoluteFilePath, int lineNumber, bool ignoreBreakpoints, bool atSameLevel, bool oldImplementation)
+   void RunToCursor(CompilerConfig compiler, ProjectConfig config, int bitDepth, bool useValgrind, const char * absoluteFilePath, int lineNumber, bool ignoreBreakpoints, bool atSameLevel, bool oldImplementation)
    {
       char relativeFilePath[MAX_LOCATION];
       _dpl2(_dpct, dplchan::debuggerCall, 0, "Debugger::RunToCursor()");
@@ -1207,7 +1207,7 @@ class Debugger
       }
    }
 
-   int GetMarginIconsLineNumbers(char * fileName, int lines[], bool enabled[], int max, bool * error, int * lineCursor, int * lineTopFrame)
+   int GetMarginIconsLineNumbers(const char * fileName, int lines[], bool enabled[], int max, bool * error, int * lineCursor, int * lineTopFrame)
    {
       char winFilePath[MAX_LOCATION];
       char * absoluteFilePath = GetSlashPathBuffer(winFilePath, fileName);
@@ -1283,10 +1283,10 @@ class Debugger
          ResolveWatch(wh);
    }
 
-   void MoveIcons(char * fileName, int lineNumber, int move, bool start)
+   void MoveIcons(const char * fileName, int lineNumber, int move, bool start)
    {
       char winFilePath[MAX_LOCATION];
-      char * absoluteFilePath = GetSlashPathBuffer(winFilePath, fileName);
+      const char * absoluteFilePath = GetSlashPathBuffer(winFilePath, fileName);
 
       Link bpLink, next;
       //_dpl2(_dpct, dplchan::debuggerCall, 0, "Debugger::MoveIcons()");
@@ -1314,7 +1314,7 @@ class Debugger
       // moving code cursors is futile, on next step, stop, hit, cursors will be offset anyways
    }
 
-   bool SourceDirDialog(char * title, char * startDir, char * test, char * sourceDir)
+   bool SourceDirDialog(const char * title, const char * startDir, const char * test, char * sourceDir)
    {
       bool result;
       bool retry;
@@ -1374,7 +1374,7 @@ class Debugger
       return false;
    }
 
-   void AddSourceDir(char * sourceDir)
+   void AddSourceDir(const char * sourceDir)
    {
       _dpl2(_dpct, dplchan::debuggerCall, 0, "Debugger::AddSourceDir(", sourceDir, ")");
       ide.workspace.sourceDirs.Add(CopyString(sourceDir));
@@ -1398,7 +1398,7 @@ class Debugger
       }
    }
 
-   void ToggleBreakpoint(char * fileName, int lineNumber)
+   void ToggleBreakpoint(const char * fileName, int lineNumber)
    {
       char absolutePath[MAX_LOCATION];
       Breakpoint bp = null;
@@ -1724,7 +1724,7 @@ class Debugger
       ide.RepositionWindows(true);
    }
 
-   bool ::GdbCommand(Time timeOut, bool focus, char * format, ...)
+   bool ::GdbCommand(Time timeOut, bool focus, const char * format, ...)
    {
       bool result = false;
       if(gdbHandle)
@@ -2177,7 +2177,7 @@ class Debugger
       ide.Update(null);
    }
 
-   void GdbExecUntil(char * absoluteFilePath, int lineNumber)
+   void GdbExecUntil(const char * absoluteFilePath, int lineNumber)
    {
       bool forceUpdate = false;
       char relativeFilePath[MAX_LOCATION];
@@ -2203,7 +2203,7 @@ class Debugger
          ForceUpdateCurrentFrame();
    }
 
-   void GdbExecAdvance(char * absoluteFilePathOrLocation, int lineNumber)
+   void GdbExecAdvance(const char * absoluteFilePathOrLocation, int lineNumber)
    {
       bool forceUpdate = false;
       char relativeFilePath[MAX_LOCATION];
@@ -2259,7 +2259,7 @@ class Debugger
    }
 
 #ifdef GDB_DEBUG_GUI
-   void SendGDBCommand(char * command)
+   void SendGDBCommand(const char * command)
    {
       //_dpl2(_dpct, dplchan::debuggerCall, 0, "Debugger::SendGDBCommand()");
       DebuggerState oldState = state;
@@ -2404,11 +2404,10 @@ class Debugger
          }
          if(result)
          {
-            char * vgRedzoneSizeFlag = vgRedzoneSize == -1 ? "" : PrintString(" --redzone-size=", vgRedzoneSize);
+            char * vgRedzoneSizeFlag = PrintString(" --redzone-size=", vgRedzoneSize);
             sprintf(command, "%s --vgdb=yes --vgdb-error=0 --log-file=%s --leak-check=%s%s --track-origins=%s %s%s%s",
-                  valgrindCommand, vgLogPath, (char*)vgLeakCheck, vgRedzoneSizeFlag, vgTrackOrigins ? "yes" : "no", targetFile, clArgs ? " " : "", clArgs ? clArgs : "");
-            if(vgRedzoneSize != -1)
-               delete vgRedzoneSizeFlag;
+                  valgrindCommand, vgLogPath, (char*)vgLeakCheck, vgRedzoneSize > -1 ? vgRedzoneSizeFlag : "", vgTrackOrigins ? "yes" : "no", targetFile, clArgs ? " " : "", clArgs ? clArgs : "");
+            delete vgRedzoneSizeFlag;
             vgTargetHandle = DualPipeOpen(PipeOpenMode { output = true, /*error = true, */input = true }, command);
             if(!vgTargetHandle)
             {
@@ -3348,7 +3347,7 @@ class Debugger
       else if(eval.result && strcmp(eval.result, "N/A"))
       {
          byte * result = new byte[bytes];
-         byte * string = eval.result;
+         char * string = eval.result;
          int c = 0;
          while(true)
          {
@@ -4849,13 +4848,13 @@ class Breakpoint : struct
    class_no_expansion;
 
    char * function;
-   property char * function { set { delete function; if(value) function = CopyString(value); } }
+   property const char * function { set { delete function; if(value) function = CopyString(value); } }
    char * relativeFilePath;
-   property char * relativeFilePath { set { delete relativeFilePath; if(value) relativeFilePath = CopyString(value); } }
+   property const char * relativeFilePath { set { delete relativeFilePath; if(value) relativeFilePath = CopyString(value); } }
    char * absoluteFilePath;
-   property char * absoluteFilePath { set { delete absoluteFilePath; if(value) absoluteFilePath = CopyString(value); } }
+   property const char * absoluteFilePath { set { delete absoluteFilePath; if(value) absoluteFilePath = CopyString(value); } }
    char * location;
-   property char * location { set { delete location; if(value) location = CopyString(value); } }
+   property const char * location { set { delete location; if(value) location = CopyString(value); } }
    int line;
    bool enabled;
    int hits;
@@ -4869,7 +4868,7 @@ class Breakpoint : struct
    GdbDataBreakpoint bp;
    Project project;
    char * address;
-   property char * address { set { delete address; if(value) address = CopyString(value); } }
+   property const char * address { set { delete address; if(value) address = CopyString(value); } }
 
    void ParseLocation()
    {
@@ -5129,7 +5128,7 @@ void GDBFallBack(Expression exp, String expString)
    }
 }
 
-static Project WorkspaceGetFileOwner(char * absolutePath)
+static Project WorkspaceGetFileOwner(const char * absolutePath)
 {
    Project owner = null;
    for(prj : ide.workspace.projects)
@@ -5145,7 +5144,7 @@ static Project WorkspaceGetFileOwner(char * absolutePath)
    return owner;
 }
 
-static ProjectNode WorkspaceGetObjectFileNode(char * filePath, Project * project)
+static ProjectNode WorkspaceGetObjectFileNode(const char * filePath, Project * project)
 {
    ProjectNode node = null;
    char ext[MAX_EXTENSION];
@@ -5175,7 +5174,7 @@ static ProjectNode WorkspaceGetObjectFileNode(char * filePath, Project * project
    return node;
 }
 
-static ProjectNode ProjectGetObjectFileNode(Project project, char * filePath)
+static ProjectNode ProjectGetObjectFileNode(Project project, const char * filePath)
 {
    ProjectNode node = null;
    char ext[MAX_EXTENSION];
@@ -5197,7 +5196,7 @@ static ProjectNode ProjectGetObjectFileNode(Project project, char * filePath)
    return node;
 }
 
-static void WorkspaceGetRelativePath(char * absolutePath, char * relativePath, Project * owner)
+static void WorkspaceGetRelativePath(const char * absolutePath, char * relativePath, Project * owner)
 {
    Project prj = WorkspaceGetFileOwner(absolutePath);
    if(owner)
@@ -5213,7 +5212,7 @@ static void WorkspaceGetRelativePath(char * absolutePath, char * relativePath, P
       relativePath[0] = '\0';
 }
 
-static bool ProjectGetAbsoluteFromRelativePath(Project project, char * relativePath, char * absolutePath)
+static bool ProjectGetAbsoluteFromRelativePath(Project project, const char * relativePath, char * absolutePath)
 {
    ProjectNode node = project.topNode.FindWithPath(relativePath, false);
    if(!node)
index a26f304..f7cdad5 100644 (file)
@@ -179,7 +179,7 @@ public:
 
 class TagButton : public Button
 {
-   void * tag;
+   const void * tag;
 }
 
 class GDBDialog : Window
@@ -680,7 +680,7 @@ class GDBDialog : Window
       }
    }
 
-   virtual void OnCommand(char * string);
+   virtual void OnCommand(const char * string);
 
    void Show()
    {
index 4228de1..56b0892 100644 (file)
@@ -91,7 +91,7 @@ static Array<FileType> fileTypes
    { $"Text Files", "txt", never }
 ] };
 
-static char * iconNames[] =
+static const char * iconNames[] =
 {
    "<:ecere>constructs/class.png",
    "<:ecere>constructs/data.png",
@@ -176,7 +176,7 @@ Expression paramsInsideExp;
 ClassFunction insideFunction;
 ClassDef insideDef;
 Type instanceType;
-char * instanceName;
+const char * instanceName;
 Type functionType;
 int paramsID;
 bool insideInstance;
@@ -185,7 +185,7 @@ bool insideInstance;
                               GENERATING
 ****************************************************************************/
 
-static void OutputString(File f, char * string)
+static void OutputString(File f, const char * string)
 {
    int c;
    for(c = 0; string[c]; c++)
@@ -483,7 +483,7 @@ bool Code_IsPropertyModified(Instance test, ObjectInfo selected, Property prop)
    return result;
 }
 
-bool Code_IsPropertyDisabled(ObjectInfo selected, char * name)
+bool Code_IsPropertyDisabled(ObjectInfo selected, const char * name)
 {
    bool disabled = false;
    if(selected.oClass == selected)
@@ -555,7 +555,7 @@ static bool CheckCompatibleMethod(Method method, Type type, Class regClass, bool
       method.dataType.thisClass = selectedClass;
    }
    //result = MatchTypes(method.dataType, type, null, regClass, regClass, false);
-   result = MatchTypes(type, method.dataType, null, regClass, regClass, false, true, true, false);
+   result = MatchTypes(type, method.dataType, null, regClass, regClass, false, true, true, false, true);
    if(reset)
       method.dataType.thisClass = null;
    return result;
@@ -791,14 +791,14 @@ class CodeEditor : Window
                   hide = true;
                else
                {
-                  char * buffer = membersLine.text;
+                  const char * buffer = membersLine.text;
                   int c;
 
                   if(charPos - 1 < membersLoc.start.charPos)
                      hide = true;
                   else if(charPos - 1 > membersLoc.end.charPos)
                   {
-                     char * buffer = membersLine.text;
+                     const char * buffer = membersLine.text;
                      //if(membersList.currentRow)
                      //   hide = true;
                      //else
@@ -923,7 +923,7 @@ class CodeEditor : Window
             {
                int c;
                // HOW WE MIGHT WANT TO DO IT:
-               char * text = before.line.text;
+               const char * text = before.line.text;
                for(c = Min(before.line.count, before.x-1); c>= 0; c--)
                   if(!isspace(text[c]))
                      break;
@@ -974,7 +974,7 @@ class CodeEditor : Window
                      hide = true;
                   else
                   {
-                     char * buffer = membersLine.text;
+                     const char * buffer = membersLine.text;
                      int c;
                      bool firstChar = true;
                      bool addedChar = false;
@@ -1040,7 +1040,7 @@ class CodeEditor : Window
                      // Accept current string if hiding typing char
                      if(hide && row && row.selected)
                      {
-                        char * string = row.string;
+                        const char * string = row.string;
                         int len = strlen(string);
                         membersLoc.end.charPos -= after.x - before.x;
                         editBox.GoToPosition(membersLine, membersLoc.start.line, membersLoc.start.charPos);
@@ -1062,7 +1062,7 @@ class CodeEditor : Window
                if(/*after.x - before.x == 1 && */after.y == before.y && !membersListShown)
                {
                   EditLine line = editBox.line;
-                  char * text = line.text;
+                  const char * text = line.text;
                   char ch = text[after.x-1];
                   if(ch == '.' || (ch == '>' && after.x-1 > 0 && text[after.x-1-1] == '-') || (ch == ':' && after.x-1 > 0 && text[after.x-1-1] == ':'))
                   {
@@ -1295,7 +1295,7 @@ class CodeEditor : Window
                   hide = true;
                else
                {
-                  char * buffer = membersLine.text;
+                  const char * buffer = membersLine.text;
                   int c;
                   bool firstChar = true;
                   char string[1024];
@@ -1527,7 +1527,7 @@ class CodeEditor : Window
          DataRow row = listBox.currentRow;
          if(row)
          {
-            char * string = row.string;
+            const char * string = row.string;
 
             editBox.GoToPosition(membersLine, membersLoc.start.line, membersLoc.start.charPos);
             editBox.Delete(
@@ -1602,7 +1602,7 @@ class CodeEditor : Window
                DataRow row = currentRow;
                if(row && row.selected)
                {
-                  char * string = row.string;
+                  const char * string = row.string;
 
                   editor.editBox.GoToPosition(editor.membersLine, editor.membersLoc.start.line, editor.membersLoc.start.charPos);
                   editor.editBox.Delete(
@@ -1982,7 +1982,7 @@ class CodeEditor : Window
          editBox.recordUndoEvent = true;
          for(line = editBox.firstLine; line; line = line.next, y++)
          {
-            String buffer = line.text;
+            const String buffer = line.text;
             int count = line.count, i = count-1;
             while(i >= 0 && isspace(buffer[i])) i--;
             if(i < count - 1)
@@ -2258,7 +2258,7 @@ class CodeEditor : Window
       return true;
    }
 
-   bool OnSaveFile(char * fileName)
+   bool OnSaveFile(const char * fileName)
    {
       File f;
       if(designer)
@@ -2287,7 +2287,7 @@ class CodeEditor : Window
       return false;
    }
 
-   bool OnFileModified(FileChange fileChange, char * param)
+   bool OnFileModified(FileChange fileChange, const char * param)
    {
       bool reload = false;
       if(visible == false && inUseDebug == true)
@@ -2440,7 +2440,7 @@ class CodeEditor : Window
    watch(fileName)
    {
       char ext[MAX_EXTENSION];
-      char * fileName = property::fileName;
+      const char * fileName = property::fileName;
 
       if(SearchString(fileName, 0, "Makefile", false, true))
          editBox.useTab = true;
@@ -2500,7 +2500,7 @@ class CodeEditor : Window
       return true;
    }
 
-   bool LoadFile(char * filePath)
+   bool LoadFile(const char * filePath)
    {
       File f = FileOpen(filePath, read);
       if(f)
@@ -2640,7 +2640,7 @@ class CodeEditor : Window
       Designer backDesigner;
       char oldWorkDir[MAX_LOCATION];
       char mainModuleName[MAX_FILENAME] = "";
-      char * fileName;
+      const char * fileName;
       ImportedModule module;
       char extension[MAX_EXTENSION];
       PathBackup pathBackup { };
@@ -3668,7 +3668,7 @@ class CodeEditor : Window
                      if((prop.IsSet && !prop.IsSet(test)) || ((int (*)(void *, void *, void *))(void *)dataType._vTbl[__ecereVMethodID_class_OnCompare])(dataType, dataForm, dataTest))
                      {
                         char tempString[1024] = "";
-                        char * string = "";
+                        const char * string = "";
                         bool needClass = true;
                         if(*prev)
                            f.Printf(", ");
@@ -3722,7 +3722,7 @@ class CodeEditor : Window
                      if((prop.IsSet && !prop.IsSet(test)) || ((int (*)(void *, void *, void *))(void *)dataType._vTbl[__ecereVMethodID_class_OnCompare])(dataType, dataForm, dataTest))
                      {
                         char tempString[1024] = "";
-                        char * string = "";
+                        const char * string = "";
                         if(*prev)
                            f.Printf(", ");
 
@@ -5030,7 +5030,7 @@ class CodeEditor : Window
       method = null;
    }
 
-   int FindMethod(char * methodName /*Method method*/, ClassFunction*functionPtr, Location propLoc)
+   int FindMethod(const char * methodName /*Method method*/, ClassFunction*functionPtr, Location propLoc)
    {
       int found = 0;
       ClassFunction function = null;
@@ -5181,7 +5181,7 @@ class CodeEditor : Window
       return found;
    }
 
-   void GoToMethod(char * methodName /*Method method*/)
+   void GoToMethod(const char * methodName /*Method method*/)
    {
       if(methodName)
       {
@@ -5617,7 +5617,7 @@ class CodeEditor : Window
          sheet.DeleteObject(object);
    }
 
-   void RenameObject(ObjectInfo object, char * name)
+   void RenameObject(ObjectInfo object, const char * name)
    {
       bool valid = false;
 
@@ -5822,7 +5822,7 @@ class CodeEditor : Window
                   if(!method.dataType)
                      method.dataType = ProcessTypeString(method.dataTypeString, false);
 
-                  if(MatchTypes(method.dataType, methodType, null, whatClass, /*null, */whatClass, false, true, false, false))
+                  if(MatchTypes(method.dataType, methodType, null, whatClass, /*null, */whatClass, false, true, false, false, true))
                   {
                      DataRow row = membersList.FindString(method.name);
                      if(!row)
@@ -5842,7 +5842,7 @@ class CodeEditor : Window
       }
    }
 
-   void ListClassPropertiesAndVirtual(Class whatClass, String curString)
+   void ListClassPropertiesAndVirtual(Class whatClass, const String curString)
    {
       Class _class;
       bool isPrivate = false;
@@ -6038,7 +6038,7 @@ class CodeEditor : Window
       return result;
    }
 
-   void ListNameSpaceByString(Module mainModule, char * string)
+   void ListNameSpaceByString(Module mainModule, const char * string)
    {
       NameSpace * nameSpace;
       Module module;
@@ -6073,7 +6073,7 @@ class CodeEditor : Window
             Type type { };
             type.kind = classType;
             type._class = FindClass(_class.name);
-            if(MatchTypes(type, dest, &conversions, null, null, true, false, false, false))
+            if(MatchTypes(type, dest, &conversions, null, null, true, false, false, false, true))
             {
                ListEnumValues(_class);
                result = true;
@@ -6089,7 +6089,7 @@ class CodeEditor : Window
       return result;
    }
 
-   NameSpace * FindNameSpace(NameSpace nameSpace, char * name)
+   NameSpace * FindNameSpace(NameSpace nameSpace, const char * name)
    {
       int start = 0, c;
       char ch;
@@ -6117,7 +6117,7 @@ class CodeEditor : Window
       return (NameSpace *)nameSpace;
    }
 
-   void ListSymbols(Expression exp, bool enumOnly, char * string, Identifier realIdentifier)
+   void ListSymbols(Expression exp, bool enumOnly, const char * string, Identifier realIdentifier)
    {
       bool listedEnums = false;
       Type destType = (exp && exp.destType && !exp.destType.truth) ? exp.destType : null;
@@ -6439,7 +6439,7 @@ class CodeEditor : Window
    {
       bool didOverride = false;
       EditLine line = editBox.line;
-      char * text = line.text;
+      const char * text = line.text;
       int lineNum, charPos;
       Expression exp = null;
       EditLine l1, l2;
@@ -6545,7 +6545,7 @@ class CodeEditor : Window
 
          if(membersListShown)
          {
-            char * buffer = membersLine.text;
+            const char * buffer = membersLine.text;
             int c;
             bool firstChar = true;
             int len = 0;
@@ -6586,7 +6586,7 @@ class CodeEditor : Window
             string = tempString;
             for(y = lineNum-1; y >= 0; y--)
             {
-               char * buffer = editLine.text;
+               const char * buffer = editLine.text;
                int lineCount = editLine.count;
                for(x = (y == lineNum-1) ? (Min(charPos, lineCount) - 1 ): lineCount-1; x >= 0; x--)
                {
@@ -6711,7 +6711,7 @@ class CodeEditor : Window
                DataRow row = string ? membersList.FindSubString(string) : null;
                if(row && !membersList.FindSubStringAfter(row, string) && !caretMove)
                {
-                  char * newString = row.string;
+                  const char * newString = row.string;
                   if(!membersListShown)
                   {
                      membersLoc.start.line = idStart.line-1;
@@ -6817,7 +6817,7 @@ class CodeEditor : Window
    void InvokeParameters(bool exact, bool reposition, bool caretMove)
    {
       EditLine line = editBox.line;
-      char * text = line.text;
+      const char * text = line.text;
       int lineNum, charPos;
       Expression exp = null;
       EditLine l1, l2;
index eed292e..c0a6c81 100644 (file)
@@ -11,7 +11,7 @@ enum CodeObjectType { typeClass, typeData, typeMethod, typeEvent, typeProperty,
 
 class CodeObject : struct
 {
-   char * name;
+   const char * name;
    bool bold;
    CodeObjectType type;
    int indent;
@@ -29,7 +29,7 @@ class CodeObject : struct
    {
       int indent = displayFlags.dropBox ? 0 : 10;
       int textOffset;
-      char * name = object ? (object.name ? object.name : $"(unnamed)") : this.name;
+      const char * name = object ? (object.name ? object.name : $"(unnamed)") : this.name;
       int nameLen = strlen(name);
 
       Bitmap icon = bitmap ? bitmap.bitmap : editor.icons[type].bitmap;
@@ -61,7 +61,7 @@ class CodeObject : struct
       if(overriden == 2 /*&& codeObject.function*/)
       {
          int w, nameW;
-         char * text = function ? function.declarator.symbol.string : "";
+         const char * text = function ? function.declarator.symbol.string : "";
          int len = strlen(text);
          int start;
          if(!text[0])
@@ -109,7 +109,7 @@ class CodeObject : struct
       delete this;
    }
 
-   char * OnGetString(char * string, void * fieldData, bool * needClass)
+   const char * OnGetString(char * string, void * fieldData, bool * needClass)
    {
       return name ? name : "";
    }
index 7c621ea..ebf1239 100644 (file)
@@ -97,13 +97,13 @@ class Designer : DesignerBase
          codeEditor.DeleteObject(object);
    }
 
-   void RenameObject(ObjectInfo object, char * name)
+   void RenameObject(ObjectInfo object, const char * name)
    {
       if(object && (name || !object.classDefinition))
          codeEditor.RenameObject(object, name);
    }
 
-   bool FindObject(Instance * object, char * string)
+   bool FindObject(Instance * object, const char * string)
    {
       ObjectInfo classObject;
       for(classObject = codeEditor.classes.first; classObject; classObject = classObject.next)
index cf8492d..0fc943f 100644 (file)
@@ -797,7 +797,7 @@ class Sheet : Window
                      {
                         DataRow row;
                         PropertyInfo info { prop, disabled, bold ? codeEditor.boldFont : codeEditor.normalFont };
-                        char * name = prop.category ? prop.category : $"Misc";
+                        const char * name = prop.category ? prop.category : $"Misc";
                         Category category = categories.FindName(name, false);
 
                         // Hide properties like this for now..
@@ -928,7 +928,7 @@ class Sheet : Window
                         if(_class.defaultProperty && !strcmp(prop.name, _class.defaultProperty))
                         {
                            DataRow row;
-                           char * name = prop.category ? prop.category : $"Misc";
+                           const char * name = prop.category ? prop.category : $"Misc";
                            Category category = categories.FindName(name, false);
                            row = category ? (categorized ? category.row.FindRow((int64)prop) : properties.FindRow((int64)prop)) : null;
                            properties.currentRow = row;
@@ -952,7 +952,7 @@ class Sheet : Window
       }
    }
 
-   void AddObject(ObjectInfo object, char * name, CodeObjectType type, bool select)
+   void AddObject(ObjectInfo object, const char * name, CodeObjectType type, bool select)
    {
       DataRow after = null;
       DataRow row;
@@ -1024,7 +1024,7 @@ class Sheet : Window
       }
    }
 
-   void RenameObject(ObjectInfo object, char * name)
+   void RenameObject(ObjectInfo object, const char * name)
    {
       DataRow row = dropBox.FindRow((int64)object);
       CodeObject codeObject = row.GetData(null);
@@ -1390,7 +1390,7 @@ class Sheet : Window
    int selectedScroll;
 }
 
-static int String_OnCompare(char ** string1, char ** string2)
+static int String_OnCompare(const char ** string1, const char ** string2)
 {
    int result = 0;
    if(*string1 && *string2)
@@ -1437,7 +1437,7 @@ public:
    Property prop;
    bool disabled;
    FontResource font;
-   char * categoryName;
+   const char * categoryName;
    DataMember subMember;
    Property subProperty;
    uint extraOffset;
@@ -1663,8 +1663,8 @@ public:
 
    int OnCompare(PropertyInfo data2)
    {
-      char * category1 = prop ? prop.category : categoryName;
-      char * category2 = data2.prop ? data2.prop.category : data2.categoryName;
+      const char * category1 = prop ? prop.category : categoryName;
+      const char * category2 = data2.prop ? data2.prop.category : data2.categoryName;
       int result;
 
       if(!category1) category1 = $"Misc";
@@ -1672,7 +1672,6 @@ public:
 
       if(!prop)
       {
-         // result = String::OnCompare((String)category1, (String)category2);
          result = String_OnCompare(&category1, &category2);
       }
       else
@@ -1719,7 +1718,7 @@ public:
          else
             // result = ((String)prop.name).OnCompare(data2.prop.name);
             // result = String::OnCompare((String)prop.name, (String)data2.prop.name);
-            result = String_OnCompare(&prop.name, &data2.prop.name);
+            result = String_OnCompare((const char **)&prop.name, (const char **)&data2.prop.name);
       }
       return result;
    }
@@ -1882,7 +1881,7 @@ public:
 class Category : struct
 {
    Category prev, next;
-   char * name;
+   const char * name;
    DataRow row;
    bool collapsed;
 };
index 03fdc77..e53bea4 100644 (file)
@@ -116,7 +116,7 @@ class ToolBox : Window
 
    void AddControl(Class _class)
    {
-      Button control = CreateControl(&controlY, (char *)eClass_GetProperty(_class, "icon"), _class.name, _class.name);
+      Button control = CreateControl(&controlY, (const char *)eClass_GetProperty(_class, "icon"), _class.name, _class.name);
       numControls++;
       if(selectedControl && !strcmp(selectedControl, _class.name))
       {
@@ -147,7 +147,7 @@ class ToolBox : Window
       return true;
    }
 
-   Button CreateControl(int * y, char * bitmapFile, char * text, void * id)
+   Button CreateControl(int * y, const char * bitmapFile, const char * text, const void * id)
    {
       Button control
       {
index 2c98519..3a120ee 100644 (file)
@@ -3,7 +3,7 @@ import "ide"
 //extern Class thisClass;
 extern Class insideClass;
 extern Type instanceType;
-extern char * instanceName;
+extern const char * instanceName;
 extern Expression paramsInsideExp;
 extern int paramsID;
 extern Type functionType;
index c20f909..222abe6 100644 (file)
@@ -77,7 +77,7 @@ class CompilersDetectionDialog : Window
                                  dirs = result.includeDirs;
                               if(dirs)
                               {
-                                 byte * tokens[256];
+                                 char * tokens[256];
                                  int c, numTokens;
                                  char * refId = new char[strlen(var)+3];
                                  sprintf(refId, "%%%s%%", var);
@@ -150,7 +150,7 @@ class CompilersDetectionDialog : Window
       char compilerPath[MAX_LOCATION];
       for(compilerType = firstCompilerType; compilerType <= lastCompilerType; compilerType++)
       {
-         char * varName = compilerSignatureEnvVars[compilerType];
+         const char * varName = compilerSignatureEnvVars[compilerType];
          if(varName && *varName)
          {
             compilerPath[0] = '\0';
index 30c39f3..42cff39 100644 (file)
@@ -16,10 +16,10 @@ class FindInFilesDialog : Window
    autoCreate = false;
 
 public:
-   property char * searchString { set { findContent.contents = value; } get { return findContent.contents; } };
+   property const char * searchString { set { findContent.contents = value; } get { return findContent.contents; } };
    property bool contentWholeWord { set { contentWholeWord.checked = value; } get { return contentWholeWord.checked; } };
    property bool contentMatchCase { set { contentMatchCase.checked = value; } get { return contentMatchCase.checked; } };
-   property char * currentDirectory
+   property const char * currentDirectory
    {
       set
       {
@@ -393,7 +393,7 @@ private:
 
       bool NotifyClicked(Button control, int x, int y, Modifiers mods)
       {
-         String findPath = findWhere.path;
+         const String findPath = findWhere.path;
          if(findIn.currentRow == inDirectoryRow && !findPath[0])
          {
             findWhere.Activate();
@@ -664,8 +664,8 @@ private:
          {
             char substring[512];
             char containing[512];
-            char * and;
-            char * filterName;
+            const char * and;
+            const char * filterName;
             if(!strcmp(filter.name, "All files"))
                filterName = "files";
             else
@@ -999,7 +999,7 @@ private:
       return 0;
    }
 
-   int SearchFileContent(char *filePath, bool relative, char *fileRelative)
+   int SearchFileContent(const char *filePath, bool relative, const char *fileRelative)
    {
       int findCount = -1;
       File f = FileOpen(filePath, read);
@@ -1067,7 +1067,7 @@ private:
       return findCount;
    }
 
-   int SearchFileContentAndReplace(char *filePath, bool relative, char *fileRelative, EditBox edit)
+   int SearchFileContentAndReplace(const char *filePath, bool relative, const char *fileRelative, EditBox edit)
    {
       int replaceCount = -1;
       File f = FileOpen(filePath, read);
@@ -1160,4 +1160,3 @@ static struct SearchStackFrame
    char path[MAX_LOCATION];
    FileListing fileList;
 };
-
index e2bab6c..c7cec7f 100644 (file)
@@ -343,7 +343,7 @@ class CompilersTab : GlobalSettingsSubTab
       }
    };
 
-   void FindUniqueCompilerName(char * baseName, CompilerConfig compiler/*, bool startWithNumber*/, char * output)
+   void FindUniqueCompilerName(const char * baseName, CompilerConfig compiler/*, bool startWithNumber*/, char * output)
    {
       int num = 0;
       char tmp[MAX_F_STRING];
@@ -556,7 +556,7 @@ class CompilersTab : GlobalSettingsSubTab
    }
 }
 
-Array<String> displayDirectoryNames
+Array<const String> displayDirectoryNames
 { [
    $"Include Files",
    $"Library Files",
index 069d60e..a495934 100644 (file)
@@ -40,7 +40,7 @@ class NewProjectDialog : Window
       parent = this, isDefault = true, disabled = true, position = { 170, 130 }, size = { 60 }, text = $"OK";
       bool NotifyClicked(Button button, int x, int y, Modifiers mods)
       {
-         char * prjName = projectName.contents;
+         const char * prjName = projectName.contents;
          char filePath[MAX_LOCATION];
          char extension[MAX_EXTENSION];
          ProjectConfig debug, release;
@@ -244,7 +244,7 @@ class NewProjectDialog : Window
          char name[MAX_FILENAME];
          char tmp[MAX_FILENAME];
          char lastPart[MAX_LOCATION];
-         char * text = editBox.contents;
+         const char * text = editBox.contents;
 
          // drop leading path stuff that has no business here
          GetLastDirectory(text, tmp);
@@ -487,7 +487,7 @@ class QuickProjectDialog : Window
             {
                if(document.created && document.isDocument && document._class == class(CodeEditor))
                {
-                  char * fileName = document.fileName;
+                  const char * fileName = document.fileName;
                   if(strstr(fileName, "http://") == fileName)
                   {
                      char name[MAX_LOCATION];
@@ -608,14 +608,14 @@ class QuickProjectDialog : Window
    }
 }
 
-void ValidProjectNameBufCopy(char *output, char *input)
+void ValidProjectNameBufCopy(char *output, const char *input)
 {
    strcpy(output, input);
    TrimLSpaces(output, output);
    TrimRSpaces(output, output);
    {
       // todo: support '&', '.' and ' ' in project name on windows so that it may be used by all platforms.
-      char * chars = "*|:\",<>?\\/&. ";
+      const char * chars = "*|:\",<>?\\/&. ";
       char ch, * s = output, * o = output;
       while((ch = *s++)) { if(!strchr(chars, ch)) *o++ = ch; }
       *o = '\0';
index a13c796..aa68a85 100644 (file)
@@ -19,7 +19,7 @@ class WorkspaceTab : Tab
       bool NotifyModified(PathBox pathBox)
       {
          char path[MAX_LOCATION];
-         String debugDir = pathBox.path;
+         const String debugDir = pathBox.path;
          strcpy(path, ide.workspace.projectDir);
          if(debugDir)
             PathCat(path, debugDir);
index 9a19abb..82d98ac 100644 (file)
@@ -47,7 +47,7 @@ class ModelView : Window
       }
    };
 
-   property char * modelFile
+   property const char * modelFile
    {
       set { strcpy(fileName, value); }
       get { return fileName[0] ? (char *)fileName : null; }
index a45058e..ac8b790 100644 (file)
@@ -127,7 +127,7 @@ class PictureEdit : Window
          };
          #endif
 
-   property char * bitmapFile
+   property const char * bitmapFile
    {
       set
       {
@@ -268,7 +268,7 @@ class PictureEdit : Window
       return true;
    }
 
-   bool OnSaveFile(char * fileName)
+   bool OnSaveFile(const char * fileName)
    {
       bool result = false;
       if(bitmap)
index a1f312c..67c07a5 100644 (file)
@@ -44,7 +44,7 @@ import "about"
 
 import "FileSystemIterator"
 
-AVLTree<String> binaryDocExt
+AVLTree<const String> binaryDocExt
 { [
    "wav", "mp3", "flac", "ogg",
    "mid",
@@ -437,12 +437,12 @@ class IDEWorkSpace : Window
    {
       parent = this;
 
-      void OnGotoError(char * line, bool noParsing)
+      void OnGotoError(const char * line, bool noParsing)
       {
          ide.GoToError(line, noParsing);
       }
 
-      void OnCodeLocationParseAndGoTo(char * line)
+      void OnCodeLocationParseAndGoTo(const char * line)
       {
          ide.CodeLocationParseAndGoTo(line, ide.findInFilesDialog.findProject, ide.findInFilesDialog.findDir);
       }
@@ -651,7 +651,7 @@ class IDEWorkSpace : Window
                   bool gotWhatWeWant = false;
                   int c;
                   int numSelections = ideFileDialog.numSelections;
-                  char ** multiFilePaths = ideFileDialog.multiFilePaths;
+                  const char * const * multiFilePaths = ideFileDialog.multiFilePaths;
 
                   for(c = 0; c < numSelections; c++)
                   {
@@ -1641,7 +1641,7 @@ class IDEWorkSpace : Window
       master = this, parent = this;
       //anchor = { left = 100, top = 100, right = 100, bottom = 100 };
 
-      void OnCommand(char * string)
+      void OnCommand(const char * string)
       {
          if(ide)
             ide.debugger.SendGDBCommand(string);
@@ -1691,7 +1691,7 @@ class IDEWorkSpace : Window
          }
    }
 
-   ProjectView CreateProjectView(Workspace workspace, char * fileName)
+   ProjectView CreateProjectView(Workspace workspace, const char * fileName)
    {
       Project project = workspace.projects.firstIterator.data;
       projectView = ProjectView
@@ -1811,7 +1811,7 @@ class IDEWorkSpace : Window
       return false;
    }
 
-   void DocumentSaved(Window document, char * fileName)
+   void DocumentSaved(Window document, const char * fileName)
    {
       ideSettings.AddRecentFile(fileName);
       ide.UpdateRecentMenus();
@@ -1819,7 +1819,7 @@ class IDEWorkSpace : Window
       settingsContainer.Save();
    }
 
-   bool Window::OnFileModified(FileChange fileChange, char * param)
+   bool Window::OnFileModified(FileChange fileChange, const char * param)
    {
       char temp[4096];
       sprintf(temp, $"The document %s was modified by another application.\n"
@@ -2176,7 +2176,7 @@ class IDEWorkSpace : Window
       }
    }
 
-   void ChangeFileDialogsDirectory(char * directory, bool saveSettings)
+   void ChangeFileDialogsDirectory(const char * directory, bool saveSettings)
    {
       char tempString[MAX_LOCATION];
       strcpy(tempString, directory);
@@ -2197,14 +2197,14 @@ class IDEWorkSpace : Window
       settingsContainer.Save();
    }
 
-   Window FindWindow(char * filePath)
+   Window FindWindow(const char * filePath)
    {
       Window document = null;
 
       // TOCHECK: Do we need to change slashes here?
       for(document = firstChild; document; document = document.next)
       {
-         char * fileName = document.fileName;
+         const char * fileName = document.fileName;
          if(document.isDocument && fileName && !fstrcmp(fileName, filePath))
          {
             document.visible = true;
@@ -2215,7 +2215,7 @@ class IDEWorkSpace : Window
       return null;
    }
 
-   bool DontTerminateDebugSession(char * title)
+   bool DontTerminateDebugSession(const char * title)
    {
       if(debugger.isActive)
       {
@@ -2239,14 +2239,14 @@ class IDEWorkSpace : Window
       return false;
    }
 
-   Window OpenFile(char * origFilePath, bool dontMaximize, bool visible, char * type, OpenCreateIfFails createIfFails, OpenMethod openMethod, bool noParsing)
+   Window OpenFile(const char * origFilePath, bool dontMaximize, bool visible, const char * type, OpenCreateIfFails createIfFails, OpenMethod openMethod, bool noParsing)
    {
       char extension[MAX_EXTENSION] = "";
       Window document = null;
       bool isProject = false;
       bool needFileModified = true;
       char winFilePath[MAX_LOCATION];
-      char * filePath = strstr(origFilePath, "http://") == origFilePath ? strcpy(winFilePath, origFilePath) : GetSystemPathBuffer(winFilePath, origFilePath);
+      const char * filePath = strstr(origFilePath, "http://") == origFilePath ? strcpy(winFilePath, origFilePath) : GetSystemPathBuffer(winFilePath, origFilePath);
       Window currentDoc = activeClient;
       bool maximizeDoc = !dontMaximize && ((currentDoc && currentDoc.state == maximized) || (!currentDoc && !projectView));
       if(!type)
@@ -2261,7 +2261,7 @@ class IDEWorkSpace : Window
       {
          for(document = firstChild; document; document = document.next)
          {
-            char * fileName = document.fileName;
+            const char * fileName = document.fileName;
             if(document.isDocument && fileName && !fstrcmp(fileName, filePath) && document.created)
             {
                document.visible = true;
@@ -2440,7 +2440,7 @@ class IDEWorkSpace : Window
                   prj = LoadProject(filePath, null);
                   if(prj)
                   {
-                     char * activeConfigName = null;
+                     const char * activeConfigName = null;
                      CompilerConfig compiler = ideSettings.GetCompilerConfig(workspace.compiler);
                      prj.StartMonitoring();
                      workspace.projects.Add(prj);
@@ -2675,7 +2675,7 @@ class IDEWorkSpace : Window
    void CodeLocationParseAndGoTo(const char * text, Project project, const char * dir)
    {
       char *s = null;
-      char *path = text;
+      const char *path = text;
       char *colon = strchr(text, ':');
       char filePath[MAX_LOCATION] = "";
       char completePath[MAX_LOCATION];
@@ -3104,7 +3104,7 @@ class IDEWorkSpace : Window
       {
          if(passThrough)
          {
-            char * arg = app.argv[c];
+            const char * arg = app.argv[c];
             char * buf = new char[strlen(arg)*2+1];
             if(ptArg++ > 0)
                passArgs.concat(" ");
@@ -3529,7 +3529,7 @@ define sdkDirName = "Ecere SDK";
 define sdkDirName = "ecere";
 #endif
 
-bool GetInstalledFileOrFolder(char * subDir, char * name, char * path, FileAttribs attribs)
+bool GetInstalledFileOrFolder(const char * subDir, const char * name, char * path, FileAttribs attribs)
 {
    bool found = false;
    char * v = new char[maxPathLen];
@@ -3637,14 +3637,14 @@ bool GetInstalledFileOrFolder(char * subDir, char * name, char * path, FileAttri
    return found;
 }
 
-void FindAndShellOpenInstalledFolder(char * name)
+void FindAndShellOpenInstalledFolder(const char * name)
 {
    char path[MAX_LOCATION];
    if(GetInstalledFileOrFolder(name, null, path, { isDirectory = true }))
       ShellOpen(path);
 }
 
-void FindAndShellOpenInstalledFile(char * subdir, char * name)
+void FindAndShellOpenInstalledFile(const char * subdir, const char * name)
 {
    char path[MAX_LOCATION];
    if(GetInstalledFileOrFolder(subdir, name, path, { isFile = true }))
@@ -3655,13 +3655,13 @@ class RecursiveDeleteFolderFSI : NormalFileSystemIterator
 {
    bool preserveRootFolder;
 
-   void OutFolder(char * folderPath, bool isRoot)
+   void OutFolder(const char * folderPath, bool isRoot)
    {
       if(!(preserveRootFolder && isRoot))
          RemoveDir(folderPath);
    }
 
-   bool OnFile(char * filePath)
+   bool OnFile(const char * filePath)
    {
       DeleteFile(filePath);
       return true;
@@ -3688,7 +3688,7 @@ class IDEApp : GuiApplication
 
       if(ideSettings.language)
       {
-         String language = GetLanguageString();
+         const String language = GetLanguageString();
          if(ideSettings.language.OnCompare(language))
          {
             LanguageRestart(ideSettings.language, app, null, null, null, null, true);
@@ -3806,7 +3806,7 @@ class IDEApp : GuiApplication
       }
 
       if(!LoadIncludeFile())
-         PrintLn("error: unable to load :crossplatform.mk file inside ide binary.");
+         PrintLn($"error: unable to load :crossplatform.mk file inside ide binary.");
 
       // Create language menu
       {
index fc68d66..97ddd77 100644 (file)
@@ -19,7 +19,7 @@ class LicenseTab : Tab
       readOnly = true;
       noCaret = true;
    };
-   property char * sourceFile
+   property const char * sourceFile
    {
       set
       {
index 3962303..4ede620 100644 (file)
@@ -88,7 +88,7 @@ class CallStackView : Window
    bool MenuEditFind(MenuItem selection, Modifiers mods)
    {
       int64 id = selection.id;
-      char * searchString = findDialog.searchString;
+      const char * searchString = findDialog.searchString;
       if(id != 2 && searchString[0])
       {
          editBox.Find(searchString, findDialog.wholeWord, findDialog.matchCase, id != 0);
@@ -98,7 +98,7 @@ class CallStackView : Window
       return true;
    }
 
-   void Logf(char * format, ...)
+   void Logf(const char * format, ...)
    {
       char string[MAX_F_STRING*10];
       va_list args;
@@ -109,17 +109,17 @@ class CallStackView : Window
 
       Log(string);
    }
-   void LogSprintf(char * entry)
+   void LogSprintf(const char * entry)
    {
       char string[MAX_F_STRING];
       sprintf(string, entry);
       Log(string);
    }
-   void LogRaw(char * entry)
+   void LogRaw(const char * entry)
    {
       Log(entry);
    }
-   void Log(char * string)
+   void Log(const char * string)
    {
       EditLine line1;
       EditLine line2;
index 324a6e0..ace4e16 100644 (file)
@@ -21,8 +21,8 @@ class OutputView : Window
    size.h = 240;
    background = formColor;
 
-   virtual void OnGotoError(char * line, bool noParsing);
-   virtual void OnCodeLocationParseAndGoTo(char * line);
+   virtual void OnGotoError(const char * line, bool noParsing);
+   virtual void OnCodeLocationParseAndGoTo(const char * line);
 
    FindDialog findDialog { master = this, editBox = buildBox, isModal = true, autoCreate = false, text = "Find" };
 
@@ -230,7 +230,7 @@ class OutputView : Window
    bool MenuEditFind(MenuItem selection, Modifiers mods)
    {
       int64 id = selection.id;
-      char * searchString = findDialog.searchString;
+      const char * searchString = findDialog.searchString;
       if(id != 2 && searchString[0])
       {
          activeBox.Find(searchString, findDialog.wholeWord, findDialog.matchCase, id != 0);
@@ -313,7 +313,7 @@ class LogBox : EditBox
 {
    bool moved, logging, tell;
 
-   void Logf(char * format, ...)
+   void Logf(const char * format, ...)
    {
       char string[MAX_F_STRING*10];
       va_list args;
@@ -325,14 +325,14 @@ class LogBox : EditBox
       LogRaw(string);
    }
 
-   void LogSprintf(char * entry)
+   void LogSprintf(const char * entry)
    {
       char string[MAX_F_STRING];
       sprintf(string, entry);
       LogRaw(string);
    }
 
-   void LogRaw(char * entry)
+   void LogRaw(const char * entry)
    {
       // Cut the line longer than 1024 because Logf prints to a buffer (and we don't want to output crazy long lines either)
       //if(len > 1023) line[1023] = '\0';
@@ -360,7 +360,7 @@ class LogBox : EditBox
          Log(entry);
    }
 
-   void Log(char * string)
+   void Log(const char * string)
    {
       int x1, y1, x2, y2;
       Point scrl;
@@ -388,7 +388,7 @@ class LogBox : EditBox
       logging = false;
    }
 
-   void Tellf(char * format, ...)
+   void Tellf(const char * format, ...)
    {
       char string[MAX_F_STRING*10];
       va_list args;
@@ -400,7 +400,7 @@ class LogBox : EditBox
       Tell(string);
    }
 
-   void Tell(char * string)
+   void Tell(const char * string)
    {
       Log(string);
       if(!moved)
index 406f41e..fc45561 100644 (file)
@@ -112,7 +112,7 @@ class ThreadsView : Window
    bool MenuEditFind(MenuItem selection, Modifiers mods)
    {
       int64 id = selection.id;
-      char * searchString = findDialog.searchString;
+      const char * searchString = findDialog.searchString;
       if(id != 2 && searchString[0])
       {
          editBox.Find(searchString, findDialog.wholeWord, findDialog.matchCase, id != 0);
@@ -122,7 +122,7 @@ class ThreadsView : Window
       return true;
    }
 
-   void Logf(char * format, ...)
+   void Logf(const char * format, ...)
    {
       char string[MAX_F_STRING*10];
       va_list args;
@@ -133,17 +133,17 @@ class ThreadsView : Window
 
       Log(string);
    }
-   void LogSprintf(char * entry)
+   void LogSprintf(const char * entry)
    {
       char string[MAX_F_STRING];
       sprintf(string, entry);
       Log(string);
    }
-   void LogRaw(char * entry)
+   void LogRaw(const char * entry)
    {
       Log(entry);
    }
-   void Log(char * string)
+   void Log(const char * string)
    {
       EditLine line1;
       EditLine line2;
index 00eaf9f..5d05fbe 100644 (file)
@@ -374,7 +374,7 @@ define PEEK_RESOLUTION = (18.2 * 10);
 #define SEPS    "/"
 #define SEP     '/'
 
-static Array<String> notLinkerOptions
+static Array<const String> notLinkerOptions
 { [
    "-static-libgcc",
    "-shared",
@@ -427,9 +427,10 @@ define stringFrom =               "                 from ";
 // NOTES: - this function should get only unescaped unix style paths
 //        - paths with literal $(somestring) in them are not supported
 //          my_$(messed_up)_path would likely become my__path
-void EscapeForMake(char * output, char * input, bool hideSpace, bool allowVars, bool allowDblQuote)
+void EscapeForMake(char * output, const char * input, bool hideSpace, bool allowVars, bool allowDblQuote)
 {
-   char ch, *i = input, *o = output;
+   char ch, *o = output;
+   const char *i = input;
    bool inVar = false;
 #ifdef _DEBUG
    int len = strlen(input);
@@ -482,7 +483,7 @@ void EscapeForMakeToFile(File output, char * input, bool hideSpace, bool allowVa
    delete buf;
 }
 
-void EscapeForMakeToDynString(DynamicString output, char * input, bool hideSpace, bool allowVars, bool allowDblQuote)
+void EscapeForMakeToDynString(DynamicString output, const char * input, bool hideSpace, bool allowVars, bool allowDblQuote)
 {
    char * buf = new char[strlen(input)*2+1];
    EscapeForMake(buf, input, hideSpace, allowVars, allowDblQuote);
@@ -490,7 +491,7 @@ void EscapeForMakeToDynString(DynamicString output, char * input, bool hideSpace
    delete buf;
 }
 
-int OutputFileList(File f, char * name, Array<String> list, Map<String, int> varStringLenDiffs, char * prefix)
+int OutputFileList(File f, const char * name, Array<String> list, Map<String, int> varStringLenDiffs, const char * prefix)
 {
    int numOfBreaks = 0;
    const int breakListLength = 1536;
@@ -580,7 +581,7 @@ int OutputFileList(File f, char * name, Array<String> list, Map<String, int> var
    return numOfBreaks;
 }
 
-void OutputFileListActions(File f, char * name, int parts, char * fileName)
+void OutputFileListActions(File f, const char * name, int parts, const char * fileName)
 {
    if(parts > 1)
    {
@@ -592,7 +593,7 @@ void OutputFileListActions(File f, char * name, int parts, char * fileName)
    }
 }
 
-void OutputCleanActions(File f, char * name, int parts)
+void OutputCleanActions(File f, const char * name, int parts)
 {
    if(parts > 1)
    {
@@ -608,7 +609,7 @@ enum LineOutputMethod { inPlace, newLine, lineEach };
 enum StringOutputMethod { asIs, escape, escapePath};
 
 enum ToolchainFlag { any, _D, _I, _isystem, _Wl, _L/*, _Wl-rpath*/ };
-String flagNames[ToolchainFlag] = { "", "-D", "-I", "-isystem ", "-Wl,", /*"-Wl,--library-path="*/"-L"/*, "-Wl,-rpath "*/ };
+const String flagNames[ToolchainFlag] = { "", "-D", "-I", "-isystem ", "-Wl,", /*"-Wl,--library-path="*/"-L"/*, "-Wl,-rpath "*/ };
 void OutputFlags(File f, ToolchainFlag flag, Array<String> list, LineOutputMethod lineMethod)
 {
    if(list.count)
@@ -666,9 +667,12 @@ static void OutputLibraries(File f, Array<String> libraries)
 
 void CamelCase(char * string)
 {
-   int c, len = strlen(string);
-   for(c=0; c<len && string[c] >= 'A' && string[c] <= 'Z'; c++)
-      string[c] = (char)tolower(string[c]);
+   if(string)
+   {
+      int c, len = strlen(string);
+      for(c=0; c<len && string[c] >= 'A' && string[c] <= 'Z'; c++)
+         string[c] = (char)tolower(string[c]);
+   }
 }
 
 CompilerConfig GetCompilerConfig()
@@ -744,7 +748,7 @@ define platformTargetType =
                projectPOs.options.targetType : TargetTypes::unset;
 
 
-char * PlatformToMakefileTargetVariable(Platform platform)
+const char * PlatformToMakefileTargetVariable(Platform platform)
 {
    return platform == win32 ? "WINDOWS_TARGET" :
           platform == tux   ? "LINUX_TARGET"   :
@@ -752,7 +756,7 @@ char * PlatformToMakefileTargetVariable(Platform platform)
                               "ERROR_BAD_TARGET";
 }
 
-char * TargetTypeToMakefileVariable(TargetTypes targetType)
+const char * TargetTypeToMakefileVariable(TargetTypes targetType)
 {
    return targetType == executable    ? "executable" :
           targetType == sharedLibrary ? "sharedlib"  :
@@ -761,7 +765,7 @@ char * TargetTypeToMakefileVariable(TargetTypes targetType)
 }
 
 // Move this to ProjectConfig? null vs Common to consider...
-char * GetConfigName(ProjectConfig config)
+const char * GetConfigName(ProjectConfig config)
 {
    return config ? config.name : "Common";
 }
@@ -782,28 +786,28 @@ public:
    float version;
    String moduleName;
 
-   property char * moduleVersion
+   property const char * moduleVersion
    {
       set { delete moduleVersion; if(value && value[0]) moduleVersion = CopyString(value); } // TODO: use CopyString function that filters chars
       get { return moduleVersion ? moduleVersion : ""; }                                     //       version number should only use digits and dots
       isset { return moduleVersion != null && moduleVersion[0]; }                            //       add leading/trailing 0 if value start/ends with dot(s)
    }
 
-   property char * description
+   property const char * description
    {
       set { delete description; if(value && value[0]) description = CopyString(value); }
       get { return description ? description : ""; }
       isset { return description != null && description[0]; }
    }
 
-   property char * license
+   property const char * license
    {
       set { delete license; if(value && value[0]) license = CopyString(value); }
       get { return license ? license : ""; }
       isset { return license != null && license[0]; }
    }
 
-   property char * compilerConfigsDir
+   property const char * compilerConfigsDir
    {
       set { delete compilerConfigsDir; if(value && value[0]) compilerConfigsDir = CopyString(value); }
       get { return compilerConfigsDir ? compilerConfigsDir : ""; }
@@ -872,7 +876,7 @@ private:
    FileMonitor fileMonitor
    {
       this, FileChange { modified = true };
-      bool OnFileNotify(FileChange action, char * param)
+      bool OnFileNotify(FileChange action, const char * param)
       {
          fileMonitor.StopMonitoring();
          if(OnProjectModified(action, param))
@@ -894,7 +898,7 @@ private:
       return true;
    }
 
-   bool OnProjectModified(FileChange fileChange, char * param)
+   bool OnProjectModified(FileChange fileChange, const char * param)
    {
       char temp[4096];
       sprintf(temp, $"The project %s was modified by another application.\n"
@@ -998,7 +1002,7 @@ private:
       }
    }
 
-   property char * filePath
+   property const char * filePath
    {
       set
       {
@@ -1020,7 +1024,7 @@ private:
       }
    }
 
-   ProjectConfig GetConfig(char * configName)
+   ProjectConfig GetConfig(const char * configName)
    {
       ProjectConfig result = null;
       if(configName && configName[0] && configurations.count)
@@ -1034,10 +1038,10 @@ private:
       return result;
    }
 
-   ProjectNode FindNodeByObjectFileName(char * fileName, IntermediateFileType type, bool dotMain, ProjectConfig config)
+   ProjectNode FindNodeByObjectFileName(const char * fileName, IntermediateFileType type, bool dotMain, ProjectConfig config)
    {
       ProjectNode result;
-      char * cfgName;
+      const char * cfgName;
       if(!config)
          config = this.config;
       cfgName = config ? config.name : "";
@@ -1066,10 +1070,10 @@ private:
       return false;
    }
 
-   char * GetObjDirExpression(ProjectConfig config)
+   const char * GetObjDirExpression(ProjectConfig config)
    {
       // TODO: Support platform options
-      char * expression = localObjectsDirectory;
+      const char * expression = localObjectsDirectory;
       if(!expression)
          expression = settingsObjectsDirectory;
       return expression;
@@ -1077,16 +1081,16 @@ private:
 
    DirExpression GetObjDir(CompilerConfig compiler, ProjectConfig config, int bitDepth)
    {
-      char * expression = GetObjDirExpression(config);
+      const char * expression = GetObjDirExpression(config);
       DirExpression objDir { type = intermediateObjectsDir };
       objDir.Evaluate(expression, this, compiler, config, bitDepth);
       return objDir;
    }
 
-   char * GetTargetDirExpression(ProjectConfig config)
+   const char * GetTargetDirExpression(ProjectConfig config)
    {
       // TODO: Support platform options
-      char * expression = localTargetDirectory;
+      const char * expression = localTargetDirectory;
       if(!expression)
          expression = settingsTargetDirectory;
       return expression;
@@ -1094,7 +1098,7 @@ private:
 
    DirExpression GetTargetDir(CompilerConfig compiler, ProjectConfig config, int bitDepth)
    {
-      char * expression = GetTargetDirExpression(config);
+      const char * expression = GetTargetDirExpression(config);
       DirExpression targetDir { type = DirExpressionType::targetDir /*intermediateObjectsDir*/};
       targetDir.Evaluate(expression, this, compiler, config, bitDepth);
       return targetDir;
@@ -1142,9 +1146,9 @@ private:
       return fastMath == true;
    }
 
-   String GetDefaultNameSpace(ProjectConfig config)
+   const String GetDefaultNameSpace(ProjectConfig config)
    {
-      String defaultNameSpace = localDefaultNameSpace;
+      const String defaultNameSpace = localDefaultNameSpace;
       return defaultNameSpace;
    }
 
@@ -1154,9 +1158,9 @@ private:
       return strictNameSpaces == true;
    }
 
-   String GetTargetFileName(ProjectConfig config)
+   const String GetTargetFileName(ProjectConfig config)
    {
-      String targetFileName = localTargetFileName;
+      const String targetFileName = localTargetFileName;
       return targetFileName;
    }
 
@@ -1197,7 +1201,7 @@ private:
    }
 
 #ifndef MAKEFILE_GENERATOR
-   bool Save(char * fileName)
+   bool Save(const char * fileName)
    {
       File f;
       /*char output[MAX_LOCATION];
@@ -1229,7 +1233,7 @@ private:
    void CatTargetFileName(char * string, CompilerConfig compiler, ProjectConfig config)
    {
       TargetTypes targetType = GetTargetType(config);
-      String targetFileName = GetTargetFileName(config);
+      const String targetFileName = GetTargetFileName(config);
       if(targetType == staticLibrary)
       {
          PathCatSlash(string, "lib");
@@ -1363,7 +1367,7 @@ private:
    void ModifiedAllConfigs(bool making, bool compiling, bool linking, bool symbolGen)
    {
       Map<String, NameCollisionInfo> cfgNameCollision;
-      MapIterator<String, Map<String, NameCollisionInfo>> it { map = configsNameCollisions };
+      MapIterator<const String, Map<String, NameCollisionInfo>> it { map = configsNameCollisions };
       if(it.Index("", false))
       {
          cfgNameCollision = it.data;
@@ -1475,9 +1479,9 @@ private:
       bool loggedALine = false;
       int lenMakeCommand = strlen(compiler.makeCommand);
       int testLen = 0;
-      char * t, * s;
+      const char * t, * s;
       char moduleName[MAX_FILENAME];
-      char * gnuToolchainPrefix = compiler.gnuToolchainPrefix ? compiler.gnuToolchainPrefix : "";
+      const char * gnuToolchainPrefix = compiler.gnuToolchainPrefix ? compiler.gnuToolchainPrefix : "";
 
       DynamicString test { };
       DynamicString ecp { };
@@ -1539,15 +1543,15 @@ private:
             //printf("Peeking and GetLine...\n");
             if((result = f.Peek()) && (result = f.GetLine(line, sizeof(line)-1)) && line[0])
             {
-               char * message = null;
-               char * inFileIncludedFrom = strstr(line, stringInFileIncludedFrom);
-               char * from = strstr(line, stringFrom);
+               const char * message = null;
+               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')
                   ; // ignore this new gnu make error but what is it about?
                else if(strstr(line, compiler.makeCommand) == line && line[lenMakeCommand] == ':')
                {
-                  char * module = strstr(line, "No rule to make target `");
+                  const char * module = strstr(line, "No rule to make target `");
                   if(module)
                   {
                      char * end;
@@ -1606,7 +1610,7 @@ private:
 
                   if(module)
                   {
-                     byte * tokens[1];
+                     char * tokens[1];
                      if(!compiling && !isPrecomp)
                      {
                         ide.outputView.buildBox.Logf($"Compiling...\n");
@@ -1668,13 +1672,13 @@ private:
                {
                   if(linking || compiling || precompiling)
                   {
-                     char * start = inFileIncludedFrom ? inFileIncludedFrom + strlen(stringInFileIncludedFrom) : from ? from + strlen(stringFrom) : line;
-                     char * colon = strstr(start, ":"); //, * bracket;
+                     const char * start = inFileIncludedFrom ? inFileIncludedFrom + strlen(stringInFileIncludedFrom) : from ? from + strlen(stringFrom) : line;
+                     const char * colon = strstr(start, ":"); //, * bracket;
                      if(colon && (colon[1] == '/' || colon[1] == '\\'))
                         colon = strstr(colon + 1, ":");
                      if(colon)
                      {
-                        char * sayError = "";
+                        const char * sayError = "";
                         char moduleName[MAX_LOCATION], temp[MAX_LOCATION];
                         char * pointer;
                         char * error;
@@ -1995,7 +1999,7 @@ private:
       DirExpression objDirExp = GetObjDir(compiler, config, bitDepth);
       PathBackup pathBackup { };
       bool crossCompiling = (compiler.targetPlatform != GetRuntimePlatform());
-      char * targetPlatform = crossCompiling ? (char *)compiler.targetPlatform : "";
+      const char * targetPlatform = crossCompiling ? (char *)compiler.targetPlatform : "";
 
       bool eC_Debug = mode.eC_ToolsDebug;
       bool singleProjectOnlyNode = onlyNodes && onlyNodes.count == 1 && onlyNodes[0].type == project;
@@ -2191,7 +2195,7 @@ private:
       DualPipe f;
       PathBackup pathBackup { };
       bool crossCompiling = (compiler.targetPlatform != GetRuntimePlatform());
-      char * targetPlatform = crossCompiling ? (char *)compiler.targetPlatform : "";
+      const char * targetPlatform = crossCompiling ? (char *)compiler.targetPlatform : "";
 
       compilerName = CopyString(compiler.name);
       CamelCase(compilerName);
@@ -2255,7 +2259,7 @@ private:
       delete compilerName;
    }
 
-   void Run(char * args, CompilerConfig compiler, ProjectConfig config, int bitDepth)
+   void Run(const char * args, CompilerConfig compiler, ProjectConfig config, int bitDepth)
    {
       String target = new char[maxPathLen];
       char oldDirectory[MAX_LOCATION];
@@ -2381,7 +2385,7 @@ private:
       char * name;
       char * compilerName;
       bool gccCompiler = compiler.ccCommand && (strstr(compiler.ccCommand, "gcc") != null || strstr(compiler.ccCommand, "g++") != null);
-      char * gnuToolchainPrefix = compiler.gnuToolchainPrefix ? compiler.gnuToolchainPrefix : "";
+      const char * gnuToolchainPrefix = compiler.gnuToolchainPrefix ? compiler.gnuToolchainPrefix : "";
       Platform platform = compiler.targetPlatform;
 
       compilerName = CopyString(compiler.name);
@@ -2567,7 +2571,7 @@ private:
       return result;
    }
 
-   bool GenerateMakefile(char * altMakefilePath, bool noResources, char * includemkPath, ProjectConfig config)
+   bool GenerateMakefile(const char * altMakefilePath, bool noResources, const char * includemkPath, ProjectConfig config)
    {
       bool result = false;
       char filePath[MAX_LOCATION];
@@ -2610,7 +2614,7 @@ private:
          int numRCObjects = 0;
          bool containsCXX = false; // True if the project contains a C++ file
          bool relObjDir, sameOrRelObjTargetDirs;
-         String objDirExp = GetObjDirExpression(config);
+         const String objDirExp = GetObjDirExpression(config);
          TargetTypes targetType = GetTargetType(config);
 
          char cfDir[MAX_LOCATION];
@@ -2794,7 +2798,7 @@ private:
 
          {
             int c;
-            char * map[5][2] = { { "COBJECTS", "C" }, { "SYMBOLS", "S" }, { "IMPORTS", "I" }, { "ECOBJECTS", "O" }, { "BOWLS", "B" } };
+            const char * map[5][2] = { { "COBJECTS", "C" }, { "SYMBOLS", "S" }, { "IMPORTS", "I" }, { "ECOBJECTS", "O" }, { "BOWLS", "B" } };
 
             numCObjects = topNode.GenMakefilePrintNode(f, this, eCsources, namesInfo, listItems, config, null);
             if(numCObjects)
@@ -2890,7 +2894,7 @@ private:
 
          topNode.GenMakefilePrintNode(f, this, sources, null, listItems, config, null);
          {
-            char * prefix;
+            const char * prefix;
             if(numCObjects && numRCObjects)
                prefix = "$(ECSOURCES) $(RCSOURCES)";
             else if(numCObjects)
@@ -3522,7 +3526,7 @@ private:
       DualPipe dep;
       char command[2048];
       char objDirNoSpaces[MAX_LOCATION];
-      String objDirExp = GetObjDirExpression(config);
+      const String objDirExp = GetObjDirExpression(config);
 
       ReplaceSpaces(objDirNoSpaces, objDirExp);
       ReplaceSpaces(fixedModuleName, moduleName);
@@ -3608,7 +3612,7 @@ private:
 #endif
    }
 
-   void GenMakePrintCustomFlags(File f, String variableName, bool printNonCustom, Map<String, int> cflagsVariations)
+   void GenMakePrintCustomFlags(File f, const String variableName, bool printNonCustom, Map<String, int> cflagsVariations)
    {
       int c;
       for(c = printNonCustom ? 0 : 1; c <= cflagsVariations.count; c++)
@@ -3661,7 +3665,7 @@ private:
 
 static inline void ProjectLoadLastBuildNamesInfo(Project prj, ProjectConfig cfg)
 {
-   char * cfgName = cfg ? cfg.name : "";
+   const char * cfgName = cfg ? cfg.name : "";
    Map<String, NameCollisionInfo> cfgNameCollisions = prj.configsNameCollisions[cfgName];
    if(cfgNameCollisions)
    {
@@ -3672,7 +3676,7 @@ static inline void ProjectLoadLastBuildNamesInfo(Project prj, ProjectConfig cfg)
    prj.topNode.GenMakefileGetNameCollisionInfo(cfgNameCollisions, cfg);
 }
 
-Project LegacyBinaryLoadProject(File f, char * filePath)
+Project LegacyBinaryLoadProject(File f, const char * filePath)
 {
    Project project = null;
    char signature[sizeof(epjSignature)];
@@ -3972,7 +3976,7 @@ void ProjectConfig::LegacyProjectConfigLoad(File f)
    makingModified = true;
 }
 
-Project LegacyAsciiLoadProject(File f, char * filePath)
+Project LegacyAsciiLoadProject(File f, const char * filePath)
 {
    Project project = null;
    ProjectNode node = null;
@@ -4486,7 +4490,7 @@ void CombineIdenticalConfigOptions(Project project)
    }
 }
 
-Project LoadProject(char * filePath, char * activeConfigName)
+Project LoadProject(const char * filePath, const char * activeConfigName)
 {
    Project project = null;
    File f = FileOpen(filePath, read);
@@ -4578,7 +4582,7 @@ Project LoadProject(char * filePath, char * activeConfigName)
    return project;
 }
 
-static GccVersionInfo GetGccVersionInfo(CompilerConfig compiler, String compilerCommand)
+static GccVersionInfo GetGccVersionInfo(CompilerConfig compiler, const String compilerCommand)
 {
    GccVersionInfo result = unknown;
    if(compiler.ccCommand)
index e344d0d..f6a58bd 100644 (file)
@@ -16,7 +16,7 @@ class DirExpression : struct
       delete dir;
    }
 
-   property char * dir
+   property const char * dir
    {
       get
       {
@@ -32,10 +32,10 @@ class DirExpression : struct
       }
    }
 
-   void Evaluate(char * expression, Project project, CompilerConfig compiler, ProjectConfig config, int bitDepth)
+   void Evaluate(const char * expression, Project project, CompilerConfig compiler, ProjectConfig config, int bitDepth)
    {
       int len;
-      char * expr = expression;
+      const char * expr = expression;
       if(!expr || !expr[0])
       {
          char buffer[MAX_LOCATION];
@@ -52,11 +52,11 @@ class DirExpression : struct
       if((len = strlen(expr)))
       {
          int c, d;
-         char * configName = config && config.name && config.name[0] ? config.name : "Common";
-         char * projectName = project.name ? project.name : "";
-         char * moduleName = project.moduleName ? project.moduleName : "";
-         char * compilerName = (compiler && compiler.name) ? compiler.name : defaultCompilerName;
-         char * targetPlatformName = compiler && compiler.targetPlatform ? compiler.targetPlatform : "";
+         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 : "";
          char buffer[MAX_LOCATION];
          for(c = 0, d = 0; c < len; c++)
          {
index 51eeb20..9165f07 100644 (file)
@@ -14,7 +14,7 @@ static define app = ((GuiApplication)__thisModule);
 
 #define OPTION(x) ((uint)(&((ProjectOptions)0).x))
 
-static void OutputLog(char * string)
+static void OutputLog(const char * string)
 {
 #ifdef MAKEFILE_GENERATOR
    printf(string);
@@ -23,7 +23,7 @@ static void OutputLog(char * string)
 #endif
 }
 
-bool eString_PathInsideOfMore(char * path, char * of, char * pathRest)
+bool eString_PathInsideOfMore(const char * path, const char * of, char * pathRest)
 {
    if(!path[0] || !of[0])
       return false;  // What to do here? Ever used?
@@ -55,7 +55,7 @@ enum NodeIcons
    sFile, cFile, hFile, cppFile, hppFile, textFile, webFile, pictureFile, soundFile,
    archiveFile, packageFile, opticalMediaImageFile, mFile, mmFile;
 
-   NodeIcons ::SelectFileIcon(char * filePath)
+   NodeIcons ::SelectFileIcon(const char * filePath)
    {
       NodeIcons icon;
       if(filePath && filePath[0])
@@ -180,7 +180,7 @@ class TwoStrings : struct
 class DotMain : bool
 {
    //property char * { set { } }
-   DotMain ::FromFileName(char * fileName)
+   DotMain ::FromFileName(const char * fileName)
    {
       DotMain dotMain = false;
       if(fileName && fileName[0])
@@ -274,7 +274,7 @@ public:
       }
       isset { return nodeType == folder; }
    };
-   property String fileName
+   property const String fileName
    {
       set
       {
@@ -646,7 +646,7 @@ private:
       }
    }
 
-   void RenameConfig(char * oldName, char * newName)
+   void RenameConfig(const char * oldName, const char * newName)
    {
       if(files)
       {
@@ -794,7 +794,7 @@ private:
       }
    }
 
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       if(!needClass)
       {
@@ -861,7 +861,8 @@ private:
       // note: unknown platform is for common
       Map<Platform, SetBool> exclusionInfo { };
       MapNode<Platform, SetBool> mn;
-      char * exp, * var;
+      char * exp;
+      const char * var;
       int len;
       SetBool common;
 
@@ -893,7 +894,7 @@ private:
             {
                if(mn.key != unknown)
                {
-                  char * comma = mn.next ? "," : "";
+                  const char * comma = mn.next ? "," : "";
 
                   var = PlatformToMakefileTargetVariable(mn.key);
 
@@ -1025,7 +1026,7 @@ private:
          parent.files.Delete(this);
    }
 
-   ProjectNode Find(char * name, bool includeResources)
+   ProjectNode Find(const char * name, bool includeResources)
    {
       ProjectNode result = null;
       if(files)
@@ -1048,7 +1049,7 @@ private:
       return result;
    }
 
-   ProjectNode FindWithPath(char * name, bool includeResources)
+   ProjectNode FindWithPath(const char * name, bool includeResources)
    {
       ProjectNode result = null;
       if(files)
@@ -1077,7 +1078,7 @@ private:
       return result;
    }
 
-   ProjectNode FindByFullPath(char * path, bool includeResources)
+   ProjectNode FindByFullPath(const char * path, bool includeResources)
    {
       if(files)
       {
@@ -1088,7 +1089,7 @@ private:
       return null;
    }
 
-   ProjectNode InternalFindByFullPath(char * path, bool includeResources, char * lastDirName)
+   ProjectNode InternalFindByFullPath(const char * path, bool includeResources, const char * lastDirName)
    {
       ProjectNode result = null;
       if(files)
@@ -1117,7 +1118,7 @@ private:
       return result;
    }
 
-   ProjectNode FindByObjectFileName(char * fileName, IntermediateFileType type, bool dotMain, Map<String, NameCollisionInfo> namesInfo)
+   ProjectNode FindByObjectFileName(const char * fileName, IntermediateFileType type, bool dotMain, Map<String, NameCollisionInfo> namesInfo)
    {
       char p[MAX_LOCATION];
       ProjectNode result = null;
@@ -1147,7 +1148,7 @@ private:
       return result;
    }
 
-   ProjectNode FindSpecial(char * name, bool recursive, bool includeResources, bool includeFolders)
+   ProjectNode FindSpecial(const char * name, bool recursive, bool includeResources, bool includeFolders)
    {
       ProjectNode result = null;
       if(files)
@@ -1171,7 +1172,7 @@ private:
       return result;
    }
 
-   ProjectNode FindSameNameConflict(char * name, bool includeResources,
+   ProjectNode FindSameNameConflict(const char * name, bool includeResources,
       Map<Platform, SetBool> exclusionInfo, ProjectConfig prjConfig)
    {
       ProjectNode result = null;
@@ -1229,7 +1230,7 @@ private:
       return result;
    }
 
-   ProjectNode Add(Project project, char * filePath, ProjectNode after, NodeTypes type, NodeIcons icon, bool checkIfExists)
+   ProjectNode Add(Project project, const char * filePath, ProjectNode after, NodeTypes type, NodeIcons icon, bool checkIfExists)
    {
       ProjectNode node = null;
       if(!project.topNode.FindByFullPath(filePath, true))
@@ -1310,8 +1311,7 @@ private:
          {
             if(projectView.projectSettingsDialog && projectView.projectSettingsDialog.buildTab)
             {
-               char * addendum;
-               addendum = projectView.projectSettingsDialog.buildTab.selectedConfigName;
+               const char * addendum = projectView.projectSettingsDialog.buildTab.selectedConfigName;
                if(strlen(addendum))
                {
                   strcat(label, " (");
@@ -1404,7 +1404,7 @@ private:
       return result;
    }
 
-   bool ContainsFilesWithExtension(char * extension, ProjectConfig prjConfig)
+   bool ContainsFilesWithExtension(const char * extension, ProjectConfig prjConfig)
    {
       if(type == file)
       {
@@ -2412,7 +2412,7 @@ private:
          char extension[MAX_EXTENSION];
          NameCollisionInfo info;
          Project prj = property::project;
-         Map<String, String> headerToSource { [ { "eh", "ec" }, { "h", "c" }, { "hh", "cc" }, { "hpp", "cpp" }, { "hxx", "cxx" } ] };
+         Map<String, const String> headerToSource { [ { "eh", "ec" }, { "h", "c" }, { "hh", "cc" }, { "hpp", "cpp" }, { "hxx", "cxx" } ] };
 
          GetExtension(name, extension);
          strcpy(moduleName, name);
@@ -2586,7 +2586,7 @@ static ProjectOptions BlendFileConfigPlatformProjectOptions(ProjectNode node, Pr
    int priority = 0;
    int includeDirsOption = OPTION(includeDirs);
    ProjectNode n;
-   char * platformName = platform ? platform.OnGetString(0,0,0) : null;
+   const char * platformName = platform ? platform.OnGetString(0,0,0) : null;
 
    // OPTION(ProjectOptions' last member) for size
    Array<bool> optionConfigXplatformSet   { size = OPTION(installCommands) };
@@ -3014,7 +3014,7 @@ static void GetPlatformsCommonStrings(Map<String, int> counts, int goodCount, Ma
       int i = it;
       if(i == goodCount)
       {
-         char * s = &it;
+         const char * s = &it;
          strings.Add(CopyString(s));
          common[s] = true;
       }
@@ -3044,7 +3044,7 @@ static void RemovePlatformsCommonStrings(Map<String, bool> common, Array<String>
    }
 }
 
-static void GenMakePrintNodeFlagsVariable(ProjectNode node, Map<intptr, int> nodeFlagsMapping, String variableName, File f)
+static void GenMakePrintNodeFlagsVariable(ProjectNode node, Map<intptr, int> nodeFlagsMapping, const String variableName, File f)
 {
    int customFlags;
    customFlags = nodeFlagsMapping[(intptr)node];
@@ -3054,7 +3054,7 @@ static void GenMakePrintNodeFlagsVariable(ProjectNode node, Map<intptr, int> nod
       f.Printf(" $(%s)", variableName);
 }
 
-static void DynStringPrintNodeFlagsVariable(ProjectNode node, Map<intptr, int> nodeFlagsMapping, String variableName, DynamicString s)
+static void DynStringPrintNodeFlagsVariable(ProjectNode node, Map<intptr, int> nodeFlagsMapping, const String variableName, DynamicString s)
 {
    int customFlags;
    customFlags = nodeFlagsMapping[(intptr)node];
@@ -3126,7 +3126,7 @@ static void GenECFlagsFromProjectOptions(ProjectOptions options, bool prjWithEcF
 }
 
 static void ListOptionToDynamicString(DynamicString output, ToolchainFlag flag, Array<String> list, bool prioritize,
-      LineOutputMethod lineMethod, String newLineStart)
+      LineOutputMethod lineMethod, const String newLineStart)
 {
    if(list.count)
    {
index bc0c899..edecb44 100644 (file)
@@ -7,7 +7,7 @@ class ImportFolderFSI : NormalFileSystemIterator
    ProjectView projectView;
    Array<ProjectNode> stack { };
 
-   bool OnFolder(char * folderPath)
+   bool OnFolder(const char * folderPath)
    {
       char name[MAX_LOCATION];
       ProjectNode parentNode = stack.lastIterator.data;
@@ -20,12 +20,12 @@ class ImportFolderFSI : NormalFileSystemIterator
       return true;
    }
 
-   void OutFolder(char * folderPath, bool isRoot)
+   void OutFolder(const char * folderPath, bool isRoot)
    {
       stack.lastIterator.Remove(); //stack.Remove();
    }
 
-   bool OnFile(char * filePath)
+   bool OnFile(const char * filePath)
    {
       ProjectNode parentNode = stack.lastIterator.data;
       if(!projectView.AddFile(parentNode, filePath, parentNode.isInResources, false))
@@ -67,7 +67,7 @@ static Array<FileType> projectTypes
    { $"Ecere IDE Workspace", WorkspaceExtension }
 ] };
 
-static char * iconNames[] =
+static const char * iconNames[] =
 {
    "<:ecere>mimeTypes/file.png",                   /*genFile*/
    "<:ecere>mimeTypes/textEcereWorkspace.png",     /*ewsFile*/
@@ -554,7 +554,7 @@ class ProjectView : Window
       ide.outputView.ShowClearSelectTab(find); // why this?
    }
 
-   bool OnSaveFile(char * fileName)
+   bool OnSaveFile(const char * fileName)
    {
       for(prj : ide.workspace.projects)
       {
@@ -571,7 +571,7 @@ class ProjectView : Window
       return true;
    }
 
-   bool IsModuleInProject(char * filePath)
+   bool IsModuleInProject(const char * filePath)
    {
       char moduleName[MAX_FILENAME]; //, modulePath[MAX_LOCATION];
       GetLastDirectory(filePath, moduleName);
@@ -719,8 +719,8 @@ class ProjectView : Window
            (method == forceExists && exists) ||
            (method == normal && (!exists || (config && config.makingModified))))
          {
-            char * reason;
-            char * action;
+            const char * reason;
+            const char * action;
             ide.statusBar.text = $"Generating Makefile & Dependencies..."; // Dependencies?
             app.UpdateDisplay();
 
@@ -1030,7 +1030,7 @@ class ProjectView : Window
       return true;
    }
 
-   void CleanProject(char * terminateDebugSessionMessage, char * cleaningMessageLogFormat, MenuItem selection, CleanType cleanType, bool justPrint)
+   void CleanProject(const char * terminateDebugSessionMessage, const char * cleaningMessageLogFormat, MenuItem selection, CleanType cleanType, bool justPrint)
    {
       Project prj = project;
       Array<Project> projects { };
@@ -1679,9 +1679,9 @@ class ProjectView : Window
             ProjectNode node = null;
             if(colon)
             {
-               char * inFileIncludedFrom = strstr(line, stringInFileIncludedFrom);
-               char * from = strstr(line, "from ");
-               char * start = inFileIncludedFrom ? inFileIncludedFrom + strlen(stringInFileIncludedFrom) : from ? from + strlen("from ") : line;
+               const char * inFileIncludedFrom = strstr(line, stringInFileIncludedFrom);
+               const char * from = strstr(line, "from ");
+               const char * start = inFileIncludedFrom ? inFileIncludedFrom + strlen(stringInFileIncludedFrom) : from ? from + strlen("from ") : line;
                int len;
                if(colon < start)
                   start = line;
@@ -2173,13 +2173,13 @@ class ProjectView : Window
          ProjectNode parentNode = (ProjectNode)row.tag;
          bool addFailed = false;
          int numSelections = fileDialog.numSelections;
-         char ** multiFilePaths = fileDialog.multiFilePaths;
+         const char * const * multiFilePaths = fileDialog.multiFilePaths;
 
          Array<String> nameConflictFiles { };
 
          for(c = 0; c < numSelections; c++)
          {
-            char * filePath = multiFilePaths[c];
+            const char * filePath = multiFilePaths[c];
             FileAttribs exists = FileExists(filePath);
             bool addThisFile = true;
 
@@ -2217,10 +2217,10 @@ class ProjectView : Window
          if(addFailed)
          {
             int len = 0;
-            char * part1 = $"The following file";
-            char * opt1 = $" was ";
-            char * opt2 = $"s were ";
-            char * part2 = $"not added because of identical file name conflict within the project.\n\n";
+            const char * part1 = $"The following file";
+            const char * opt1 = $" was ";
+            const char * opt2 = $"s were ";
+            const char * part2 = $"not added because of identical file name conflict within the project.\n\n";
             char * message;
             len += strlen(part1);
             len += strlen(part2);
@@ -2245,7 +2245,7 @@ class ProjectView : Window
       }
    }
 
-   ProjectNode AddFile(ProjectNode parentNode, char * filePath, bool resources, bool isTemporary)
+   ProjectNode AddFile(ProjectNode parentNode, const char * filePath, bool resources, bool isTemporary)
    {
       ProjectNode result = null;
       ProjectNode after = null;
@@ -2274,7 +2274,7 @@ class ProjectView : Window
       return result;
    }
 
-   CodeEditor CreateNew(char * upper, char * lower, char * base, char * className)
+   CodeEditor CreateNew(const char * upper, const char * lower, const char * base, char * className)
    {
       CodeEditor codeEditor = null;
       ProjectNode projectNode;
index 12f0242..856b35b 100644 (file)
@@ -26,12 +26,12 @@ enum ValgrindLeakCheck
 {
    no, summary, yes, full;
 
-   property char *
+   property const char *
    {
       get { return OnGetString(null, null, null); }
    }
 
-   char * OnGetString(char * tempString, void * fieldData, bool * needClass)
+   const char * OnGetString(char * tempString, void * fieldData, bool * needClass)
    {
       if(this >= no && this <= full)
       {
@@ -108,13 +108,13 @@ public:
    char * workspaceFile;
    char * workspaceDir;
    char * commandLineArgs;
-   property char * commandLineArgs { set { delete commandLineArgs; if(value) commandLineArgs = CopyString(value); } }
+   property const char * commandLineArgs { set { delete commandLineArgs; if(value) commandLineArgs = CopyString(value); } }
    char * debugDir;
-   property char * debugDir { set { delete debugDir; if(value) debugDir = CopyString(value); } }
+   property const char * debugDir { set { delete debugDir; if(value) debugDir = CopyString(value); } }
 
    int bpCount;
 
-   property char * compiler
+   property const char * compiler
    {
       set { delete compiler; if(value && value[0]) compiler = CopyString(value); }
       get { return compiler && compiler[0] ? compiler : null; }
@@ -143,7 +143,7 @@ public:
       }
    };
 
-   property char * workspaceFile
+   property const char * workspaceFile
    {
       set
       {
@@ -157,7 +157,7 @@ public:
       get { return workspaceFile; }
    }
 
-   property char * projectDir
+   property const char * projectDir
    {
       get
       {
@@ -358,7 +358,7 @@ public:
       }
    }
 
-   char * GetAbsolutePathFromRelative(char * relative)
+   char * GetAbsolutePathFromRelative(const char * relative)
    {
       char name[MAX_LOCATION];
       char absolute[MAX_LOCATION];
@@ -412,7 +412,7 @@ public:
       return null;
    }
 
-   char * GetPathWorkspaceRelativeOrAbsolute(char * path)
+   char * GetPathWorkspaceRelativeOrAbsolute(const char * path)
    {
       if(IsPathInsideOf(path, workspaceDir))
       {
@@ -424,7 +424,7 @@ public:
          return CopyUnixPath(path);
    }
 
-   Array<ProjectNode> GetAllProjectNodes(char *fullPath, bool skipExcluded)
+   Array<ProjectNode> GetAllProjectNodes(const char *fullPath, bool skipExcluded)
    {
       Array<ProjectNode> nodes = null;
       for(project : projects)
@@ -442,7 +442,7 @@ public:
       return nodes;
    }
 
-   OpenedFileInfo UpdateOpenedFileInfo(char * fileName, OpenedFileState state)
+   OpenedFileInfo UpdateOpenedFileInfo(const char * fileName, OpenedFileState state)
    {
       char filePath[MAX_LOCATION];
       OpenedFileInfo ofi = null;
@@ -508,7 +508,7 @@ public:
       delete project;
    }
 
-   void SelectActiveConfig(char * configName)
+   void SelectActiveConfig(const char * configName)
    {
       bool change = false;
       for(prj : ide.workspace.projects)
@@ -532,7 +532,7 @@ public:
       }
    }
 
-   bool FindPath(ProjectNode node, char * path)
+   bool FindPath(ProjectNode node, const char * path)
    {
       if(node.type == file)
       {
@@ -556,7 +556,7 @@ public:
       return false;
    }
 
-   void ChangeBreakpoint(DataRow row, char * location)
+   void ChangeBreakpoint(DataRow row, const char * location)
    {
       Breakpoint bp = (Breakpoint)row.tag;
       if(bp)
@@ -611,7 +611,7 @@ public:
       }
    }
 
-   void ChangeBreakpointCondition(DataRow row, char * condition)
+   void ChangeBreakpointCondition(DataRow row, const char * condition)
    {
       Breakpoint bp = (Breakpoint)row.tag;
       if(bp && !(!bp.condition && !(condition && condition[0])))
@@ -652,11 +652,11 @@ public:
          Window document;
          for(document = ide.firstChild; document; document = document.next)
          {
-            char * fileName = document.fileName;
+            const char * fileName = document.fileName;
             if(document.isDocument && fileName && document.created)
             {
                char winFilePath[MAX_LOCATION];
-               char * slashPath = GetSlashPathBuffer(winFilePath, fileName);
+               const char * slashPath = GetSlashPathBuffer(winFilePath, fileName);
 
                if(!fstrcmp(slashPath, bp.absoluteFilePath))
                {
@@ -793,7 +793,7 @@ public:
 
 }
 
-Workspace LoadWorkspace(char * filePath, char * fromProjectFile)
+Workspace LoadWorkspace(const char * filePath, const char * fromProjectFile)
 {
    File file;
    Workspace workspace = null;
index 1e42403..4987e58 100644 (file)
@@ -72,8 +72,8 @@ void GenerateVSSolutionFile(Project project, CompilerConfig compiler)
    f = FileOpen(filePath, write);
    if(f)
    {
-      char * slnGUID = "8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942";
-      char * prjGUID = "3A1E5467-4EE2-4299-8F0C-7D26CC8C24BA";
+      const char * slnGUID = "8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942";
+      const char * prjGUID = "3A1E5467-4EE2-4299-8F0C-7D26CC8C24BA";
       //char * relPathToVCProjFile = "win32ProjectConsoleApp\\win32ProjectConsoleApp";
 
       f.Print(""); f.Printf("\r\n");
@@ -122,8 +122,8 @@ void GenerateVCProjectFile(Project project, CompilerConfig compiler, int bitDept
    f = FileOpen(filePath, write);
    if(f)
    {
-      char * targetFrameworkVersion = "196613";
-      char * prjGUID = "3A1E5467-4EE2-4299-8F0C-7D26CC8C24BA";
+      const char * targetFrameworkVersion = "196613";
+      const char * prjGUID = "3A1E5467-4EE2-4299-8F0C-7D26CC8C24BA";
       char * rootNamespace = projectName;
       Map<String, NameCollisionInfo> namesInfo { };
       // TOFIX: Collision and Config-specific!
@@ -223,12 +223,12 @@ void PrintConfiguration(File f, Project project, CompilerConfig compiler, Projec
    SetBool consoleSet = localConsole;
    SetBool debugSet = localDebug;
    OptimizationStrategy optimizationSet = localOptimization;
-   String targetFileName = localTargetFileName;
+   const String targetFileName = localTargetFileName;
    bool console = consoleSet == true;
    bool debug = debugSet == true;
    bool optimize = optimizationSet == speed;
-   char * objDirExpr = localObjectsDirectory;
-   char * targetDirExpr = localTargetDirectory;
+   const char * objDirExpr = localObjectsDirectory;
+   const char * targetDirExpr = localTargetDirectory;
    DirExpression objDir { type = intermediateObjectsDir };
    DirExpression targetDir { type = DirExpressionType::targetDir };
    TargetTypes targetType = project.GetTargetType(config);