]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
any reference or array type or pointer type can be cast to a generic
authorJuerg Billeter <j@bitron.ch>
Wed, 11 Jul 2007 12:17:19 +0000 (12:17 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Wed, 11 Jul 2007 12:17:19 +0000 (12:17 +0000)
2007-07-11  Juerg Billeter  <j@bitron.ch>

* vala/valasemanticanalyzer.vala: any reference or array type or pointer
  type can be cast to a generic pointer

svn path=/trunk/; revision=343

ChangeLog
vala/valasemanticanalyzer.vala

index e1e0200895a30f982c546336c0298fe19f004979..a6250e350e420dbff4f60d04d9ec30ab7010c468 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-07-11  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valasemanticanalyzer.vala: any reference or array type or pointer
+         type can be cast to a generic pointer
+
 2007-07-11  Jürg Billeter  <j@bitron.ch>
 
        * vapi/libxml-2.0.vala: expand libxml2 bindings,
index 12375d712aa55857925432ab18e0457b8c591a1c..1a1b61e7d29f6647b8e0f607aded85cfc8be55ce 100644 (file)
@@ -1175,6 +1175,19 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
                        return false;
                }
 
+               if (expected_type.data_type == pointer_type) {
+                       /* any reference or array type or pointer type can be cast to a generic pointer */
+                       if (expression_type.type_parameter != null ||
+                           expression_type.data_type.is_reference_type () ||
+                           expression_type.data_type is Pointer ||
+                           expression_type.data_type is Array ||
+                           expression_type.data_type is Callback) {
+                               return true;
+                       }
+
+                       return false;
+               }
+
                /* temporarily ignore type parameters */
                if (expected_type.type_parameter != null) {
                        return true;