]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Add target/destroy type declarations for delegates as needed
authorRico Tzschichholz <ricotz@ubuntu.com>
Wed, 21 Nov 2018 09:33:21 +0000 (10:33 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Wed, 21 Nov 2018 10:03:59 +0000 (11:03 +0100)
This improves the support of POSIX profile.

codegen/valaccodebasemodule.vala

index a0b4b05759b283898f39c6a5dc75702bf6b431ff..acadf940e857163528afb4546cf144dc39ad50c3 100644 (file)
@@ -1486,6 +1486,12 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                        var deleg_type = (DelegateType) type;
                        var d = deleg_type.delegate_symbol;
                        generate_delegate_declaration (d, decl_space);
+                       if (d.has_target) {
+                               generate_type_declaration (delegate_target_type, decl_space);
+                               if (deleg_type.is_disposable ()) {
+                                       generate_type_declaration (delegate_target_destroy_type, decl_space);
+                               }
+                       }
                } else if (type.data_type is Enum) {
                        var en = (Enum) type.data_type;
                        generate_enum_declaration (en, decl_space);