]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
Accept any integer type as array index
authorJürg Billeter <j@bitron.ch>
Sun, 30 Nov 2008 22:33:53 +0000 (22:33 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Sun, 30 Nov 2008 22:33:53 +0000 (22:33 +0000)
2008-11-30  Jürg Billeter  <j@bitron.ch>

* vala/valaarraycreationexpression.vala:
* vala/valaelementaccess.vala:
* vala/valasemanticanalyzer.vala:

Accept any integer type as array index

svn path=/trunk/; revision=2105

ChangeLog
vala/valaarraycreationexpression.vala
vala/valaelementaccess.vala
vala/valasemanticanalyzer.vala

index c3d9f4d9b3e186f066fa0238766f7530d8fc0c67..9c430b1b36033cfdd316e8d9e145bcf47e51b81b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-11-30  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valaarraycreationexpression.vala:
+       * vala/valaelementaccess.vala:
+       * vala/valasemanticanalyzer.vala:
+
+       Accept any integer type as array index
+
 2008-11-30  Jürg Billeter  <j@bitron.ch>
 
        * vapi/gstreamer-rtsp-0.10.vapi:
index 9ef841c549c37623d47f8d1c9a26a564d47bbf58..28852145acb1fc181e49dd2511dc66a2fd263401 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.compatible (analyzer.long_type)) {
+                               } else if (!e.value_type.compatible (analyzer.uint64_type)) {
                                        error = true;
                                        Report.error (e.source_reference, "Expression of integer type expected");
                                }
index fd46d1155be18c6d3705ca334d5880d5fdf4b45e..c5cb02b189f65f84a70dc5926d200ff58071c86a 100644 (file)
@@ -209,7 +209,7 @@ public class Vala.ElementAccess : Expression {
                                }
 
                                /* check if the index is of type integer */
-                               if (!e.value_type.compatible (analyzer.long_type)) {
+                               if (!e.value_type.compatible (analyzer.uint64_type)) {
                                        error = true;
                                        Report.error (e.source_reference, "Expression of integer type expected");
                                }
index 7909db26a9aca44695fdcbf184bded6e63bd42f6..9e6e4e7f7bb41002031f5e07cb46d446429b74ff 100644 (file)
@@ -50,6 +50,7 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
        public DataType ulong_type;
        public DataType size_t_type;
        public DataType ssize_t_type;
+       public DataType uint64_type;
        public DataType int8_type;
        public DataType unichar_type;
        public DataType double_type;
@@ -94,6 +95,7 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
                ulong_type = new ValueType ((TypeSymbol) root_symbol.scope.lookup ("ulong"));
                size_t_type = new ValueType ((TypeSymbol) root_symbol.scope.lookup ("size_t"));
                ssize_t_type = new ValueType ((TypeSymbol) root_symbol.scope.lookup ("ssize_t"));
+               uint64_type = new ValueType ((TypeSymbol) root_symbol.scope.lookup ("uint64"));
                int8_type = new ValueType ((TypeSymbol) root_symbol.scope.lookup ("int8"));
                unichar_type = new ValueType ((TypeSymbol) root_symbol.scope.lookup ("unichar"));
                double_type = new ValueType ((TypeSymbol) root_symbol.scope.lookup ("double"));