[vala/wip/issue/658: 29/30] Handled owned keyword




commit 3339963d162030b74caf20d8d30a7a836dc2f2dc
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Thu Oct 8 09:13:30 2020 +0200

    Handled owned keyword

 vala/valaparser.vala | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)
---
diff --git a/vala/valaparser.vala b/vala/valaparser.vala
index a5cd4aeb2..323999cc4 100644
--- a/vala/valaparser.vala
+++ b/vala/valaparser.vala
@@ -477,14 +477,6 @@ public class Vala.Parser : CodeVisitor {
        DataType parse_type (bool owned_by_default, bool can_weak_ref, bool require_unowned = false, Symbol? 
parent=null, Method? method=null) throws ParseError {
                var begin = get_location ();
 
-               // TODO: Can anonymous delegates be unowned or weak?
-               if (accept (TokenType.DELEGATE)) {
-                       rollback (begin);
-                       return parse_anonymous_delegate (parent, method);
-               } else {
-                       rollback (begin);
-               }
-
                bool is_dynamic = accept (TokenType.DYNAMIC);
 
                bool value_owned = owned_by_default;
@@ -517,6 +509,16 @@ public class Vala.Parser : CodeVisitor {
 
                DataType type;
 
+               var begin2 = get_location ();
+               if (accept (TokenType.DELEGATE)) {
+                       rollback (begin2);
+                       type = parse_anonymous_delegate (parent, method);
+                       type.value_owned = value_owned;
+                       return type;
+               } else {
+                       rollback (begin2);
+               }
+
                bool inner_type_owned = true;
                if (accept (TokenType.OPEN_PARENS)) {
                        type = parse_type (false, false, true);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]