]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Allow any integer compatible value to be used as array index, fixes bug
authorJürg Billeter <j@bitron.ch>
Mon, 17 Nov 2008 21:36:37 +0000 (21:36 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Mon, 17 Nov 2008 21:36:37 +0000 (21:36 +0000)
2008-11-17  Jürg Billeter  <j@bitron.ch>

* vala/valaarraycreationexpression.vala:
* vala/valaelementaccess.vala:
* vala/valasourcefile.vala:

Allow any integer compatible value to be used as array index,
fixes bug 561057

svn path=/trunk/; revision=2029

ChangeLog
vala/valaarraycreationexpression.vala
vala/valaelementaccess.vala
vala/valasourcefile.vala

index 5129b859f988f7e3da3b82581d6c1f0bf995240a..927e3f009aa1c9b6b9f50ac0eacbc43390a9e88d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-11-17  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valaarraycreationexpression.vala:
+       * vala/valaelementaccess.vala:
+       * vala/valasourcefile.vala:
+
+       Allow any integer compatible value to be used as array index,
+       fixes bug 561057
+
 2008-11-17  Jürg Billeter  <j@bitron.ch>
 
        * vala/valaflowanalyzer.vala:
index 48fbc086f7f330378b25bd43bc90ba7468e7be61..9ef841c549c37623d47f8d1c9a26a564d47bbf58 100644 (file)
@@ -180,7 +180,7 @@ public class Vala.ArrayCreationExpression : Expression {
                                if (e.value_type == null) {
                                        /* return on previous error */
                                        return false;
-                               } else if (!(e.value_type.data_type is Struct) || !((Struct) e.value_type.data_type).is_integer_type ()) {
+                               } else if (!e.value_type.compatible (analyzer.long_type)) {
                                        error = true;
                                        Report.error (e.source_reference, "Expression of integer type expected");
                                }
index c18363c96b5e4e44c62bbbb7e129dc0cd90c9687..7b40354eee58a69a53d3b8ea52148f2c5bae4e16 100644 (file)
@@ -199,7 +199,7 @@ public class Vala.ElementAccess : Expression {
                                }
 
                                /* check if the index is of type integer */
-                               if (!(e.value_type.data_type is Struct) || !((Struct) e.value_type.data_type).is_integer_type ()) {
+                               if (!e.value_type.compatible (analyzer.long_type)) {
                                        error = true;
                                        Report.error (e.source_reference, "Expression of integer type expected");
                                }
index 085372cbe6908c28e8d3900a3247141b8f0da9a5..4d257c5f426bb29f6870cf79dd99e1b1c821ff52 100644 (file)
@@ -457,7 +457,7 @@ public class Vala.SourceFile {
        {
                source_array = new Gee.ArrayList<string> ();
                string[] lines = cont.split ("\n", 0);
-               uint idx;
+               int idx;
                for (idx = 0; lines[idx] != null; ++idx) {
                        source_array.add (lines[idx]);
                }