[vala/staging] codegen: Only set "sentinel" CCode attribute for node if requested



commit 7f2ad3b38a8455d4cbfa10f639cd8380fec7e035
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Mon Jan 14 17:27:52 2019 +0100

    codegen: Only set "sentinel" CCode attribute for node if requested
    
    This should restrict this being set only on Method nodes.

 codegen/valaccodeattribute.vala | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)
---
diff --git a/codegen/valaccodeattribute.vala b/codegen/valaccodeattribute.vala
index 52ef9a01c..0dba3a99b 100644
--- a/codegen/valaccodeattribute.vala
+++ b/codegen/valaccodeattribute.vala
@@ -597,10 +597,22 @@ public class Vala.CCodeAttribute : AttributeCache {
                }
        }
 
+       public string sentinel {
+               get {
+                       if (_sentinel == null) {
+                               if (ccode != null) {
+                                       _sentinel = ccode.get_string ("sentinel", "NULL");
+                               } else {
+                                       _sentinel = "NULL";
+                               }
+                       }
+                       return _sentinel;
+               }
+       }
+
        public string? array_length_type { get; private set; }
        public string? array_length_name { get; private set; }
        public string? array_length_expr { get; private set; }
-       public string sentinel { get; private set; }
 
        private string _name;
        private string _const_name;
@@ -647,6 +659,7 @@ public class Vala.CCodeAttribute : AttributeCache {
        private bool ctype_set = false;
        private bool? _array_length;
        private bool? _array_null_terminated;
+       private string _sentinel;
 
        private static int dynamic_method_id;
 
@@ -659,10 +672,6 @@ public class Vala.CCodeAttribute : AttributeCache {
                        array_length_type = ccode.get_string ("array_length_type");
                        array_length_name = ccode.get_string ("array_length_cname");
                        array_length_expr = ccode.get_string ("array_length_cexpr");
-                       sentinel = ccode.get_string ("sentinel");
-               }
-               if (sentinel == null) {
-                       sentinel = "NULL";
                }
        }
 


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