From: Rico Tzschichholz Date: Fri, 24 Nov 2017 15:13:06 +0000 (+0100) Subject: valaparser: Improve handling of unowned/owned keyword occurrences X-Git-Tag: 0.39.1~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ee7b9b97dc2e01b8d38299c844a62e7886baa33f;p=thirdparty%2Fvala.git valaparser: Improve handling of unowned/owned keyword occurrences Don't throw an error on unexpected owned/unowned classification and output why it is superfuous in this context. --- diff --git a/vala/valaparser.vala b/vala/valaparser.vala index 02677c686..59b4d5f29 100644 --- a/vala/valaparser.vala +++ b/vala/valaparser.vala @@ -438,9 +438,18 @@ public class Vala.Parser : CodeVisitor { Report.warning (get_last_src (), "deprecated syntax, use `unowned` modifier"); } value_owned = false; + } else if (accept (TokenType.OWNED)) { + Report.warning (get_last_src (), "`owned' is default in this context"); } } else { - value_owned = accept (TokenType.OWNED); + if (accept (TokenType.OWNED)) { + value_owned = true; + } else { + value_owned = false; + if (accept (TokenType.UNOWNED)) { + Report.warning (get_last_src (), "`unowned' is default in this context"); + } + } } } @@ -2807,7 +2816,14 @@ public class Vala.Parser : CodeVisitor { var accessor_access = parse_access_modifier (SymbolAccessibility.PUBLIC); var value_type = type.copy (); - value_type.value_owned = accept (TokenType.OWNED); + if (accept (TokenType.OWNED)) { + value_type.value_owned = true; + } else { + value_type.value_owned = false; + if (accept (TokenType.UNOWNED)) { + Report.warning (get_last_src (), "property getters are `unowned' by default"); + } + } if (accept (TokenType.GET)) { if (prop.get_accessor != null) {