]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codewriter: Write "weak" modifier for properties 6afaf446939802750da3c4b76bbca8a75dd27746
authorJeremy Philippe <jeremy.philippe@gmail.com>
Sun, 1 Sep 2019 19:57:01 +0000 (21:57 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Mon, 2 Sep 2019 08:27:27 +0000 (10:27 +0200)
tests/fastvapi/fastvapitest.vala
tests/fastvapi/fastvapitest.vapi-expected
vala/valacodewriter.vala

index 02025e307c5fd6bf64f84b60fb0a80f8e343399b..b711b5c2903b88582e13db598aba35a914bfcea9 100644 (file)
@@ -25,8 +25,12 @@ namespace FastVapi {
 
                public int field;
 
+               public weak Test weak_field;
+
                public string property { get; construct set; }
 
+               public weak Test weak_property { get; private set; }
+
                public Test () {
                }
 
index 0542a563d5d9643ba962e6b6d326c1ab590b794b..1826b8299afcb7e567b8d8d2af467ecffd121474 100644 (file)
@@ -6,12 +6,16 @@ namespace FastVapi {
        public class Test : Object {
                [Source (filename = "fastvapitest.vala", line = 26, column = 3)]
                public int field;
-               [Source (filename = "fastvapitest.vala", line = 30, column = 3)]
+               [Source (filename = "fastvapitest.vala", line = 28, column = 3)]
+               public weak Test weak_field;
+               [Source (filename = "fastvapitest.vala", line = 34, column = 3)]
                public Test ();
-               [Source (filename = "fastvapitest.vala", line = 33, column = 3)]
+               [Source (filename = "fastvapitest.vala", line = 37, column = 3)]
                public void method ();
-               [Source (filename = "fastvapitest.vala", line = 28, column = 3)]
+               [Source (filename = "fastvapitest.vala", line = 30, column = 3)]
                public string property { get; set construct; }
+               [Source (filename = "fastvapitest.vala", line = 32, column = 3)]
+               public weak Test weak_property { get; private set; }
                [Source (filename = "fastvapitest.vala", line = 24, column = 3)]
                public signal void some_signal (int param);
        }
index 1f223b6b8eb157443841f189ef48a37b14b4c9ba..97aa48136cde471dab84ed9015c3d18b8ba908f6 100644 (file)
@@ -837,6 +837,10 @@ public class Vala.CodeWriter : CodeVisitor {
                        write_string ("override ");
                }
 
+               if (prop.property_type.is_weak ()) {
+                       write_string ("weak ");
+               }
+
                write_type (prop.property_type);
 
                write_string (" ");