From f7ba4e286622a449de21a2955b375344e4703b94 Mon Sep 17 00:00:00 2001 From: Martin Willemoes Hansen Date: Thu, 28 Aug 2003 16:49:29 +0000 Subject: [PATCH] * generator/Parameters.cs: * generator/StructBase.cs: * generator/SymbolTable.cs: Fixed the keyword base was not mangled, also did a little refactoring. svn path=/trunk/gtk-sharp/; revision=17702 --- ChangeLog | 4 ++++ generator/Parameters.cs | 33 +-------------------------------- generator/StructBase.cs | 29 +++-------------------------- generator/SymbolTable.cs | 34 +++++++++++++++++++++++++++++++++- 4 files changed, 41 insertions(+), 59 deletions(-) diff --git a/ChangeLog b/ChangeLog index 00330e922..18df153d7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,10 @@ proper copyright header. * sources/Gtk.metadata: Fixed new_flag rules, they did not get applied to the gtk-api.xml. + * generator/Parameters.cs: + * generator/StructBase.cs: + * generator/SymbolTable.cs: Fixed the keyword base was not + mangled, also did a little refactoring. 2003-08-28 Alp Toker diff --git a/generator/Parameters.cs b/generator/Parameters.cs index 9ff0fcc3d..a4df826eb 100644 --- a/generator/Parameters.cs +++ b/generator/Parameters.cs @@ -75,7 +75,7 @@ namespace GtkSharp.Generation { public string Name { get { - return MangleName (elem.GetAttribute("name")); + return SymbolTable.Table.MangleName (elem.GetAttribute("name")); } } @@ -91,37 +91,6 @@ namespace GtkSharp.Generation { } } - private string MangleName(string name) - { - switch (name) { - case "string": - return "str1ng"; - case "event": - return "evnt"; - case "null": - return "is_null"; - case "object": - return "objekt"; - case "params": - return "parms"; - case "ref": - return "reference"; - case "in": - return "in_param"; - case "out": - return "out_param"; - case "fixed": - return "mfixed"; - case "byte": - return "_byte"; - case "new": - return "_new"; - default: - break; - } - - return name; - } public string StudlyName { get { string name = elem.GetAttribute("name"); diff --git a/generator/StructBase.cs b/generator/StructBase.cs index 08f3bbb0f..e61f7b0ec 100644 --- a/generator/StructBase.cs +++ b/generator/StructBase.cs @@ -141,7 +141,7 @@ namespace GtkSharp.Generation { if (IsBit (field)) name = String.Format ("_bitfield{0}", bitfields++); else - name += MangleName (field.GetAttribute ("cname")); + name += SymbolTable.Table.MangleName (field.GetAttribute ("cname")); return true; } @@ -151,14 +151,14 @@ namespace GtkSharp.Generation { string c_type, type, name; if (!GetFieldInfo (field, out c_type, out type, out name)) return false; - sw.WriteLine ("\t\tpublic {0} {1};", type, name); + sw.WriteLine ("\t\tpublic {0} {1};", type, SymbolTable.Table.MangleName (name)); if (field.HasAttribute("array_len")) Console.WriteLine ("warning: array field {0}.{1} probably incorrectly generated", QualifiedName, name); SymbolTable table = SymbolTable.Table; string wrapped = table.GetCSType (c_type); - string wrapped_name = MangleName (field.GetAttribute ("cname")); + string wrapped_name = SymbolTable.Table.MangleName (field.GetAttribute ("cname")); if (table.IsObject (c_type)) { sw.WriteLine (); sw.WriteLine ("\t\tpublic " + wrapped + " " + wrapped_name + " {"); @@ -190,29 +190,6 @@ namespace GtkSharp.Generation { return true; } - private String MangleName(String name) - { - if (name == "string") { - return "str1ng"; - } else if (name == "event") { - return "evnt"; - } else if (name == "null") { - return "is_null"; - } else if (name == "object") { - return "objekt"; - } else if (name == "ref") { - return "reference"; - } else if (name == "params") { - return "parms"; - } else if (name == "fixed") { - return "mfixed"; - } else if (name == "in") { - return "inn"; - } else { - return name; - } - } - public virtual void Generate () { StreamWriter sw = CreateWriter (); diff --git a/generator/SymbolTable.cs b/generator/SymbolTable.cs index 97d167652..4d356791c 100644 --- a/generator/SymbolTable.cs +++ b/generator/SymbolTable.cs @@ -292,6 +292,38 @@ namespace GtkSharp.Generation { return false; } + public string MangleName(string name) + { + switch (name) { + case "string": + return "str1ng"; + case "event": + return "evnt"; + case "null": + return "is_null"; + case "object": + return "objekt"; + case "params": + return "parms"; + case "ref": + return "reference"; + case "in": + return "in_param"; + case "out": + return "out_param"; + case "fixed": + return "mfixed"; + case "byte": + return "_byte"; + case "new": + return "_new"; + case "base": + return "_base"; + default: + break; + } + + return name; + } } } -