Fix type resolving for arrays and pointers when declaring multiple
authorJuerg Billeter <j@bitron.ch>
Sun, 25 May 2008 18:51:13 +0000 (18:51 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Sun, 25 May 2008 18:51:13 +0000 (18:51 +0000)
2008-05-25  Juerg Billeter  <j@bitron.ch>

* vala/valaarraytype.vala:
* vala/valapointertype.vala:
* vala/valasemanticanalyzer.vala:

Fix type resolving for arrays and pointers when declaring multiple
variables in a single statement

svn path=/trunk/; revision=1437

ChangeLog
vala/valaarraytype.vala
vala/valapointertype.vala
vala/valasemanticanalyzer.vala

index 73f6b0a..654b428 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2008-05-25  Jürg Billeter  <j@bitron.ch>
 
+       * vala/valaarraytype.vala:
+       * vala/valapointertype.vala:
+       * vala/valasemanticanalyzer.vala:
+
+       Fix type resolving for arrays and pointers when declaring multiple
+       variables in a single statement
+
+2008-05-25  Jürg Billeter  <j@bitron.ch>
+
        * vapi/glib-2.0.vapi: fix mktime binding
 
 2008-05-25  Jürg Billeter  <j@bitron.ch>
index 770b545..6f7cf79 100644 (file)
@@ -123,7 +123,7 @@ public class Vala.ArrayType : ReferenceType {
        }
 
        public override DataType copy () {
-               var result = new ArrayType (element_type, rank, source_reference);
+               var result = new ArrayType (element_type.copy (), rank, source_reference);
                result.value_owned = value_owned;
                result.nullable = nullable;
                result.floating_reference = floating_reference;
index b00fcf6..3c6b792 100644 (file)
@@ -59,7 +59,7 @@ public class Vala.PointerType : DataType {
        }
 
        public override DataType copy () {
-               return new PointerType (base_type);
+               return new PointerType (base_type.copy ());
        }
 
        public override bool compatible (DataType target_type) {
index 5e3b905..6413226 100644 (file)
@@ -1356,7 +1356,6 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
                var calc_sizes = new ArrayList<Literal> ();
                if (initlist != null) {
                        initlist.expected_type = new ArrayType (expr.element_type, expr.rank, expr.source_reference);
-                       initlist.expected_type.add_type_argument (expr.element_type);
 
                        initlist.accept (this);