diff options
Diffstat (limited to 'vala')
-rw-r--r-- | vala/valagirparser.vala | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala index 1fc2185fa..530470cc5 100644 --- a/vala/valagirparser.vala +++ b/vala/valagirparser.vala @@ -69,7 +69,8 @@ public class Vala.GirParser : CodeVisitor { CLOSURE, CPREFIX, LOWER_CASE_CPREFIX, - ERRORDOMAIN; + ERRORDOMAIN, + DESTROYS_INSTANCE; public static ArgumentType? from_string (string name) { var enum_class = (EnumClass) typeof(ArgumentType).class_ref (); @@ -799,6 +800,9 @@ public class Vala.GirParser : CodeVisitor { } } if (!(m is CreationMethod)) { + if (metadata.has_argument (ArgumentType.DESTROYS_INSTANCE)) { + m.set_attribute ("DestroysInstance", true); + } // merge custom vfunc if (metadata.has_argument (ArgumentType.VFUNC_NAME)) { var vfunc = parent.lookup (metadata.get_string (ArgumentType.VFUNC_NAME)); |