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 d570152..cd462e9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 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
 
 2008-04-14  Jürg Billeter  <j@bitron.ch>
index 2ede5bb..7bf0c4b 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 b81f4be..def7264 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 082d89d..3984186 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);
                }