From 1428e774c88ddbebbfac1fb7cde25bcb170cdb68 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Tue, 9 Aug 2005 18:38:35 +0000 Subject: [PATCH] * generator/Method.cs (GenerateDeclCommon): Strip "Get"/"Set" even in the context of "Gtk.TreeModel.GetNColumns" * generator/CallbackGen.cs (GenWrapper): treat InterfaceGen return values the same as ObjectGen svn path=/trunk/gtk-sharp/; revision=48192 --- ChangeLog | 6 ++++++ generator/CallbackGen.cs | 2 +- generator/Method.cs | 9 +++++++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index b6f5befc2..af2e27c7a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -15,6 +15,9 @@ interfaces. Also, it's only a collision if the methods' signatures have the same types. + * generator/Method.cs (GenerateDeclCommon): Strip "Get"/"Set" even + in the context of "Gtk.TreeModel.GetNColumns" + * generator/Signal.cs (GenDefaultHandlerDelegate): Use "{0}_managed" rather than "obj" for the internal variable name, to avoid compile problems with signals that have a parameter named @@ -23,6 +26,9 @@ * generator/SymbolTable.cs (MangleName): mangle "internal" to "_internal". + * generator/CallbackGen.cs (GenWrapper): treat InterfaceGen return + values the same as ObjectGen + 2005-08-09 Dan Winship * generator/OpaqueGen.cs (Generate): Tweak the generated Ref/Unref diff --git a/generator/CallbackGen.cs b/generator/CallbackGen.cs index 90c7efe0f..c55539e63 100644 --- a/generator/CallbackGen.cs +++ b/generator/CallbackGen.cs @@ -143,7 +143,7 @@ namespace GtkSharp.Generation { SymbolTable table = SymbolTable.Table; ClassBase ret_wrapper = table.GetClassGen (retval.CType); - if (ret_wrapper != null && (ret_wrapper is ObjectGen || ret_wrapper is OpaqueGen)) + if (ret_wrapper != null && (ret_wrapper is ObjectGen || ret_wrapper is OpaqueGen || ret_wrapper is InterfaceGen)) sw.WriteLine ("(({0}) {1}).Handle;", retval.CSType, invoke); else if (table.IsStruct (retval.CType) || table.IsBoxed (retval.CType)) { // Shoot. I have no idea what to do here. diff --git a/generator/Method.cs b/generator/Method.cs index 0aa20d111..e7fea54e0 100644 --- a/generator/Method.cs +++ b/generator/Method.cs @@ -148,8 +148,13 @@ namespace GtkSharp.Generation { sw.Write(" "); if (Name.StartsWith ("Get") || Name.StartsWith ("Set")) sw.Write (Name.Substring (3)); - else - sw.Write (Name); + else { + int dot = Name.LastIndexOf ('.'); + if (dot != -1 && (Name.Substring (dot + 1, 3) == "Get" || Name.Substring (dot + 1, 3) == "Set")) + sw.Write (Name.Substring (0, dot + 1) + Name.Substring (dot + 4)); + else + sw.Write (Name); + } sw.WriteLine(" { "); } else if (IsAccessor) { sw.Write (Signature.AccessorType + " " + Name + "(" + Signature.AsAccessor + ")");