From: Rico Tzschichholz Date: Tue, 8 Apr 2025 18:52:42 +0000 (+0200) Subject: girwriter: Don't use instance-parameter inside function elements X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=05c8cc1239061019fa8fe36f9344ee32e0da5535;p=thirdparty%2Fvala.git girwriter: Don't use instance-parameter inside function elements Fixes https://gitlab.gnome.org/GNOME/vala/issues/1606 --- diff --git a/codegen/valagirwriter.vala b/codegen/valagirwriter.vala index 77388bb05..f71c60e47 100644 --- a/codegen/valagirwriter.vala +++ b/codegen/valagirwriter.vala @@ -1210,7 +1210,7 @@ public class Vala.GIRWriter : CodeVisitor { type.nullable = true; } int skip = 0; - if (tag_name == "callback") { + if (tag_name == "function" || tag_name == "callback") { write_param_or_return (type, "parameter", ref skip, false, "self"); index++; } else { diff --git a/tests/girwriter/GirTest-1.0.gir-expected b/tests/girwriter/GirTest-1.0.gir-expected index 0a22e2121..724f406c6 100644 --- a/tests/girwriter/GirTest-1.0.gir-expected +++ b/tests/girwriter/GirTest-1.0.gir-expected @@ -15,6 +15,16 @@ + + + + + + + + + + diff --git a/tests/girwriter/girtest.vala b/tests/girwriter/girtest.vala index 20c87b746..09e6cc595 100644 --- a/tests/girwriter/girtest.vala +++ b/tests/girwriter/girtest.vala @@ -72,7 +72,11 @@ namespace GirTest { public enum EnumTest { VALUE1, VALUE2, - VALUE3 = 4711 + VALUE3 = 4711; + + public int enum_method () { + return this; + } } [Flags] diff --git a/tests/girwriter/girtest.vapi-expected b/tests/girwriter/girtest.vapi-expected index 5c75f2b5c..b9f51d7a7 100644 --- a/tests/girwriter/girtest.vapi-expected +++ b/tests/girwriter/girtest.vapi-expected @@ -205,7 +205,8 @@ namespace GirTest { public enum EnumTest { VALUE1, VALUE2, - VALUE3 + VALUE3; + public int enum_method (); } [CCode (cheader_filename = "girtest.h")] [Flags] diff --git a/tests/girwriter/girtest.vapigen-expected b/tests/girwriter/girtest.vapigen-expected index 9ec22e5ad..202d5e0db 100644 --- a/tests/girwriter/girtest.vapigen-expected +++ b/tests/girwriter/girtest.vapigen-expected @@ -232,7 +232,8 @@ namespace GirTest { public enum EnumTest { VALUE1, VALUE2, - VALUE3 + VALUE3; + public int enum_method (); } [CCode (cheader_filename = "girtest.h", cprefix = "GIR_TEST_FLAGS_TEST_", type_id = "gir_test_flags_test_get_type ()")] [Flags]