From: Rico Tzschichholz Date: Fri, 25 Jun 2021 06:58:12 +0000 (+0200) Subject: girwriter: Respect GIR.name for constants, errordomains and delegates X-Git-Tag: 0.53.1~42 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=75333ea40b8aaed4c91049fb84f990fe59d36d36;p=thirdparty%2Fvala.git girwriter: Respect GIR.name for constants, errordomains and delegates See https://gitlab.gnome.org/GNOME/vala/issues/1196 --- diff --git a/codegen/valagirwriter.vala b/codegen/valagirwriter.vala index 2911e15db..7b339198a 100644 --- a/codegen/valagirwriter.vala +++ b/codegen/valagirwriter.vala @@ -912,7 +912,7 @@ public class Vala.GIRWriter : CodeVisitor { } write_indent (); - buffer.append_printf ("\n"); @@ -1238,7 +1238,7 @@ public class Vala.GIRWriter : CodeVisitor { } write_indent (); - buffer.append_printf (" + + + + + + + + + @@ -1859,6 +1868,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2683,6 +2727,14 @@ + + + + + + + + @@ -2752,6 +2804,11 @@ + + + + + @@ -2812,11 +2869,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/girwriter/girtest.vala b/tests/girwriter/girtest.vala index 1fa012fce..e9f952ef9 100644 --- a/tests/girwriter/girtest.vala +++ b/tests/girwriter/girtest.vala @@ -28,8 +28,15 @@ namespace GirTest { public int field_name; } + [GIR (name = "RenamedStruct")] + public struct NamedStruct { + public int field_name; + } + public const int CONSTANT_NUMBER = 42; public const string CONSTANT_STRING = "const ♥ utf8"; + [GIR (name = "RENAMED_CONSTANT")] + public const int NAMED_CONSTANT = 23; public enum EnumTest { VALUE1, @@ -62,12 +69,28 @@ namespace GirTest { VALUE1 } + [GIR (name = "RenamedEnumeration")] + public enum NamedEnumeration { + VALUE1 + } + + [GIR (name = "RenamedBitfield")] + [Flags] + public enum NamedBitfield { + VALUE1 + } + public errordomain ErrorTest { FAILED, SMELLY, FISHY = 23 } + [GIR (name = "RenamedError")] + public errordomain NamedError { + FAILED + } + public interface InterfaceTest : Object { public abstract int property { get; construct set; } internal abstract string internal_property { get; set; } @@ -100,6 +123,10 @@ namespace GirTest { public interface SkippedInterface { } + [GIR (name = "RenamedInterface")] + public interface NamedInterface : Object { + } + public delegate bool DelegateTest (void* a, void* b); public delegate bool DelegateErrorTest () throws ErrorTest; @@ -109,6 +136,9 @@ namespace GirTest { [GIR (visible = false)] public delegate void SkippedDelegate (); + [GIR (name = "RenamedDelegate")] + public delegate void NamedDelegate (); + public class TypeTest { public string some_property { get; set; } } @@ -353,6 +383,17 @@ namespace GirTest { public class DeprecatedClassTest { } + [GIR (name = "RenamedClass")] + public class NamedClass { + } + + [GIR (name = "RenamedCompactClass")] + [Compact] + public class NamedCompactClass { + public string s; + public int i; + } + public class GenericsTest { public GenericsTest (owned DelegateTest cb) { } @@ -373,6 +414,31 @@ namespace GirTest { public void function () { } } + + public NamedClass use_renamed_class (NamedClass param) { + return param; + } + public unowned NamedCompactClass use_renamed_compact_class (NamedCompactClass param) { + return param; + } + public NamedInterface use_renamed_interface (NamedInterface param) { + return param; + } + public NamedStruct? use_renamed_struct (NamedStruct param) { + return param; + } + public NamedEnumeration use_renamed_enumeration (NamedEnumeration param) { + return param; + } + public NamedBitfield use_renamed_flags (NamedBitfield param) { + return param; + } + public unowned NamedDelegate use_renamed_delegate (NamedDelegate param) { + return param; + } + public NamedError use_renamed_error (NamedError param) { + return param; + } } public enum InvalidEnum { diff --git a/tests/girwriter/girtest.vapi-expected b/tests/girwriter/girtest.vapi-expected index d464ec9a7..89e794b1d 100644 --- a/tests/girwriter/girtest.vapi-expected +++ b/tests/girwriter/girtest.vapi-expected @@ -48,6 +48,19 @@ namespace GirTest { public ImplementionTest (); } [CCode (cheader_filename = "girtest.h")] + [GIR (name = "RenamedClass")] + public class NamedClass { + public NamedClass (); + } + [CCode (cheader_filename = "girtest.h")] + [Compact] + [GIR (name = "RenamedCompactClass")] + public class NamedCompactClass { + public int i; + public string s; + public NamedCompactClass (); + } + [CCode (cheader_filename = "girtest.h")] public class ObjectTest : GLib.Object { public int field; public int fixed_array_field[23]; @@ -142,6 +155,10 @@ namespace GirTest { public signal void some_signal (int param); } [CCode (cheader_filename = "girtest.h")] + [GIR (name = "RenamedInterface")] + public interface NamedInterface : GLib.Object { + } + [CCode (cheader_filename = "girtest.h")] public interface PrerequisiteTest : GirTest.InterfaceTest { } [CCode (cheader_filename = "girtest.h")] @@ -156,6 +173,11 @@ namespace GirTest { public void inv (); } [CCode (cheader_filename = "girtest.h")] + [GIR (name = "RenamedStruct")] + public struct NamedStruct { + public int field_name; + } + [CCode (cheader_filename = "girtest.h")] [GIR (visible = false)] public struct SkippedStruct { public int field_name; @@ -180,6 +202,17 @@ namespace GirTest { VALUE2, VALUE3 } + [CCode (cheader_filename = "girtest.h")] + [Flags] + [GIR (name = "RenamedBitfield")] + public enum NamedBitfield { + VALUE1 + } + [CCode (cheader_filename = "girtest.h")] + [GIR (name = "RenamedEnumeration")] + public enum NamedEnumeration { + VALUE1 + } [CCode (cheader_filename = "girtest.h", has_type_id = false)] public enum PlainEnumTest { VALUE1, @@ -204,18 +237,45 @@ namespace GirTest { FISHY } [CCode (cheader_filename = "girtest.h")] + [GIR (name = "RenamedError")] + public errordomain NamedError { + FAILED + } + [CCode (cheader_filename = "girtest.h")] public delegate bool DelegateErrorTest () throws GirTest.ErrorTest; [CCode (cheader_filename = "girtest.h")] public delegate bool DelegateGenericsTest (G g, T t); [CCode (cheader_filename = "girtest.h")] public delegate bool DelegateTest (void* a, void* b); [CCode (cheader_filename = "girtest.h")] + [GIR (name = "RenamedDelegate")] + public delegate void NamedDelegate (); + [CCode (cheader_filename = "girtest.h")] [GIR (visible = false)] public delegate void SkippedDelegate (); [CCode (cheader_filename = "girtest.h")] public const int CONSTANT_NUMBER; [CCode (cheader_filename = "girtest.h")] public const string CONSTANT_STRING; + [CCode (cheader_filename = "girtest.h")] + [GIR (name = "RENAMED_CONSTANT")] + public const int NAMED_CONSTANT; + [CCode (cheader_filename = "girtest.h")] + public static GirTest.NamedClass use_renamed_class (GirTest.NamedClass param); + [CCode (cheader_filename = "girtest.h")] + public static unowned GirTest.NamedCompactClass use_renamed_compact_class (GirTest.NamedCompactClass param); + [CCode (cheader_filename = "girtest.h")] + public static unowned GirTest.NamedDelegate use_renamed_delegate (GirTest.NamedDelegate param); + [CCode (cheader_filename = "girtest.h")] + public static GirTest.NamedEnumeration use_renamed_enumeration (GirTest.NamedEnumeration param); + [CCode (cheader_filename = "girtest.h")] + public static GirTest.NamedError use_renamed_error (GirTest.NamedError param); + [CCode (cheader_filename = "girtest.h")] + public static GirTest.NamedBitfield use_renamed_flags (GirTest.NamedBitfield param); + [CCode (cheader_filename = "girtest.h")] + public static GirTest.NamedInterface use_renamed_interface (GirTest.NamedInterface param); + [CCode (cheader_filename = "girtest.h")] + public static GirTest.NamedStruct? use_renamed_struct (GirTest.NamedStruct param); } [CCode (cheader_filename = "girtest.h")] public enum InvalidEnum { diff --git a/tests/girwriter/girtest.vapigen-expected b/tests/girwriter/girtest.vapigen-expected index a4de2304d..9287919f8 100644 --- a/tests/girwriter/girtest.vapigen-expected +++ b/tests/girwriter/girtest.vapigen-expected @@ -141,6 +141,17 @@ namespace GirTest { public virtual signal void signal_with_default_handlder (int i1); public signal void some_signal (int param); } + [CCode (cheader_filename = "girtest.h", cname = "GirTestNamedClass", lower_case_csuffix = "namedclass", type_id = "gir_test_namedclass_get_type ()")] + public class RenamedClass { + public int ref_count; + [CCode (has_construct_function = false)] + public RenamedClass (); + } + [CCode (cheader_filename = "girtest.h", cname = "GirTestNamedStruct", copy_function = "g_boxed_copy", free_function = "g_boxed_free", lower_case_csuffix = "named_struct", type_id = "gir_test_named_struct_get_type ()")] + [Compact] + public class RenamedStruct { + public int field_name; + } [CCode (cheader_filename = "girtest.h", type_id = "gir_test_sub_type_test_get_type ()")] public class SubTypeTest : GirTest.TypeTest { [CCode (array_length_cname = "array_field_length1")] @@ -179,6 +190,9 @@ namespace GirTest { [CCode (cheader_filename = "girtest.h", type_id = "gir_test_prerequisite_test_get_type ()")] public interface PrerequisiteTest : GirTest.InterfaceTest, GLib.Object { } + [CCode (cheader_filename = "girtest.h", cname = "GirTestNamedInterface", lower_case_csuffix = "named_interface", type_id = "gir_test_named_interface_get_type ()")] + public interface RenamedInterface : GLib.Object { + } [CCode (cheader_filename = "girtest.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gir_test_boxed_struct_get_type ()")] public struct BoxedStruct { public int field_name; @@ -186,6 +200,13 @@ namespace GirTest { public void inv (); } [CCode (cheader_filename = "girtest.h", has_type_id = false)] + public struct RenamedCompactClass { + public weak string s; + public int i; + [CCode (cname = "gir_test_named_compactclass_new", has_construct_function = false, type = "GirTestNamedCompactClass*")] + public RenamedCompactClass (); + } + [CCode (cheader_filename = "girtest.h", has_type_id = false)] public struct Struct { public int field_name; public int internal_field_name; @@ -210,20 +231,53 @@ namespace GirTest { VALUE2, VALUE3 } + [CCode (cheader_filename = "girtest.h", cname = "GirTestNamedBitfield", cprefix = "GIR_TEST_NAMED_BITFIELD_", type_id = "gir_test_named_bitfield_get_type ()")] + [Flags] + public enum RenamedBitfield { + VALUE1 + } + [CCode (cheader_filename = "girtest.h", cname = "GirTestNamedEnumeration", cprefix = "GIR_TEST_NAMED_ENUMERATION_", type_id = "gir_test_named_enumeration_get_type ()")] + public enum RenamedEnumeration { + VALUE1 + } [CCode (cheader_filename = "girtest.h", cprefix = "GIR_TEST_ERROR_TEST_")] public errordomain ErrorTest { FAILED, SMELLY, FISHY } + [CCode (cheader_filename = "girtest.h", cname = "GirTestNamedError", cprefix = "GIR_TEST_NAMED_ERROR_")] + public errordomain RenamedError { + FAILED + } [CCode (cheader_filename = "girtest.h", has_target = false)] public delegate bool DelegateErrorTest () throws GirTest.ErrorTest; [CCode (cheader_filename = "girtest.h", instance_pos = 8.9)] public delegate bool DelegateGenericsTest (GLib.Type g_type, GLib.BoxedCopyFunc g_dup_func, GLib.DestroyNotify g_destroy_func, GLib.Type t_type, GLib.BoxedCopyFunc t_dup_func, GLib.DestroyNotify t_destroy_func, void* g, void* t); [CCode (cheader_filename = "girtest.h", instance_pos = 2.9)] public delegate bool DelegateTest (void* a, void* b); + [CCode (cheader_filename = "girtest.h", cname = "GirTestNamedDelegate", has_target = false)] + public delegate void RenamedDelegate (); [CCode (cheader_filename = "girtest.h", cname = "GIR_TEST_CONSTANT_NUMBER")] public const int CONSTANT_NUMBER; [CCode (cheader_filename = "girtest.h", cname = "GIR_TEST_CONSTANT_STRING")] public const string CONSTANT_STRING; + [CCode (cheader_filename = "girtest.h", cname = "GIR_TEST_NAMED_CONSTANT")] + public const int RENAMED_CONSTANT; + [CCode (cheader_filename = "girtest.h")] + public static GirTest.RenamedClass use_renamed_class (GirTest.RenamedClass param); + [CCode (cheader_filename = "girtest.h")] + public static unowned GirTest.RenamedCompactClass? use_renamed_compact_class (GirTest.RenamedCompactClass param); + [CCode (cheader_filename = "girtest.h")] + public static unowned GirTest.RenamedDelegate use_renamed_delegate ([CCode (delegate_target_pos = 1.5)] GirTest.RenamedDelegate param, out void* result_target); + [CCode (cheader_filename = "girtest.h")] + public static GirTest.RenamedEnumeration use_renamed_enumeration (GirTest.RenamedEnumeration param); + [CCode (cheader_filename = "girtest.h")] + public static GirTest.RenamedError use_renamed_error (GirTest.RenamedError param); + [CCode (cheader_filename = "girtest.h")] + public static GirTest.RenamedBitfield use_renamed_flags (GirTest.RenamedBitfield param); + [CCode (cheader_filename = "girtest.h")] + public static GirTest.RenamedInterface use_renamed_interface (GirTest.RenamedInterface param); + [CCode (cheader_filename = "girtest.h")] + public static GirTest.RenamedStruct? use_renamed_struct (GirTest.RenamedStruct param); }