From: Florian Brosch Date: Sat, 30 Aug 2014 20:35:52 +0000 (+0200) Subject: Add support for unowned/weak array elements X-Git-Tag: 0.37.1~3^2~41 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0e166c04eb66137bc2b8ed69388f3fc620298e4d;p=thirdparty%2Fvala.git Add support for unowned/weak array elements --- diff --git a/src/libvaladoc/api/array.vala b/src/libvaladoc/api/array.vala index ef2a1d459..cfbd64291 100644 --- a/src/libvaladoc/api/array.vala +++ b/src/libvaladoc/api/array.vala @@ -43,13 +43,28 @@ public class Valadoc.Api.Array : Item { this.parent = parent; } + private inline bool element_is_owned () { + TypeReference reference = data_type as TypeReference; + if (reference == null) { + return true; + } + + return !reference.is_unowned && !reference.is_weak; + } + /** * {@inheritDoc} */ protected override Inline build_signature () { - return new SignatureBuilder () - .append_content (data_type.signature) - .append ("[]", false) - .get (); + SignatureBuilder builder = new SignatureBuilder (); + if (element_is_owned ()) { + builder.append_content (data_type.signature); + } else { + builder.append ("(", false); + builder.append_content (data_type.signature, false); + builder.append (")", false); + } + builder.append ("[]", false); + return builder.get (); } }