]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
mark pointers as nullable
authorJuerg Billeter <j@bitron.ch>
Mon, 14 Apr 2008 20:28:36 +0000 (20:28 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Mon, 14 Apr 2008 20:28:36 +0000 (20:28 +0000)
2008-04-14  Juerg Billeter  <j@bitron.ch>

* vala/valaparser.vala, vala/valapointertype.vala,
  vala/valasymbolresolver.vala: mark pointers as nullable

svn path=/trunk/; revision=1231

ChangeLog
vala/valaparser.vala
vala/valapointertype.vala
vala/valasymbolresolver.vala

index d5701521c5d2ae7d028ca98760761e43ef03c959..cd462e99183ff971b636e7f6a17e50c536602612 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-04-14  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valaparser.vala, vala/valapointertype.vala,
+         vala/valasymbolresolver.vala: mark pointers as nullable
+
 2008-04-14  Jürg Billeter  <j@bitron.ch>
 
        * vala/valaparser.vala: improve error handling, fixes bug 528073
index 2ede5bbb8ac8885afda170a561a4c5016d579886..7bf0c4be37cd6b73c3a79c9b5ddabe59770626d2 100644 (file)
@@ -354,7 +354,7 @@ public class Vala.Parser : CodeVisitor {
                        stars++;
                }
 
-               bool nullable = accept (TokenType.INTERR);
+               bool nullable = stars > 0 || accept (TokenType.INTERR);
 
                int array_rank = 0;
                if (accept (TokenType.OPEN_BRACKET)) {
index b81f4be945f65873c063981fcc1bebdd00ef2ad1..def7264ac890833c8b8b4edd39efa06e8d4fd15f 100644 (file)
@@ -34,6 +34,7 @@ public class Vala.PointerType : DataType {
 
        public PointerType (DataType base_type) {
                this.base_type = base_type;
+               nullable = true;
        }
 
        public override string to_string () {
index 082d89d3d43bcd84344369ce927af23714b1e3d4..3984186f88a80e76ec5bf11f9e3b3e1ea1a36649 100644 (file)
@@ -280,6 +280,7 @@ public class Vala.SymbolResolver : CodeVisitor {
                        base_type.transfers_ownership = false;
                        base_type.is_ref = false;
                        base_type.is_out = false;
+                       base_type.nullable = false;
 
                        type = new PointerType (base_type);
                }