support PointerType for parameters
authorJuerg Billeter <j@bitron.ch>
Tue, 18 Dec 2007 15:26:11 +0000 (15:26 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Tue, 18 Dec 2007 15:26:11 +0000 (15:26 +0000)
2007-12-18  Juerg Billeter  <j@bitron.ch>

* vala/parser.y: support PointerType for parameters

svn path=/trunk/; revision=779

ChangeLog
vala/parser.y

index c872487..c2a6a7b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-12-18  Jürg Billeter  <j@bitron.ch>
+
+       * vala/parser.y: support PointerType for parameters
+
 2007-12-16  Jürg Billeter  <j@bitron.ch>
 
        * gobject/valaccodegeneratorclass.vala: avoid critical warning when
index 6c4eb7c..a2311c8 100644 (file)
@@ -3104,16 +3104,18 @@ fixed_parameter
                ValaSourceReference *src;
 
                src = src(@3);
-               if (!vala_unresolved_type_get_is_weak (VALA_UNRESOLVED_TYPE ($3))) {
-                       vala_unresolved_type_set_takes_ownership (VALA_UNRESOLVED_TYPE ($3), TRUE);
-               }
+               if (VALA_IS_UNRESOLVED_TYPE ($3)) {
+                       if (!vala_unresolved_type_get_is_weak (VALA_UNRESOLVED_TYPE ($3))) {
+                               vala_unresolved_type_set_takes_ownership (VALA_UNRESOLVED_TYPE ($3), TRUE);
+                       }
 
-               if (!vala_unresolved_type_get_is_ref (VALA_UNRESOLVED_TYPE ($3))
-                       && !vala_unresolved_type_get_is_out (VALA_UNRESOLVED_TYPE ($3))
-                       && !vala_unresolved_type_get_transfers_ownership (VALA_UNRESOLVED_TYPE ($3))) {
-                       /* FIXME take_ownership for in parameters that don't transfer ownership is not supported yet
-                        * this may require an additional local variable per parameter */
-                       vala_unresolved_type_set_takes_ownership (VALA_UNRESOLVED_TYPE ($3), FALSE);
+                       if (!vala_unresolved_type_get_is_ref (VALA_UNRESOLVED_TYPE ($3))
+                               && !vala_unresolved_type_get_is_out (VALA_UNRESOLVED_TYPE ($3))
+                               && !vala_unresolved_type_get_transfers_ownership (VALA_UNRESOLVED_TYPE ($3))) {
+                               /* FIXME take_ownership for in parameters that don't transfer ownership is not supported yet
+                                * this may require an additional local variable per parameter */
+                               vala_unresolved_type_set_takes_ownership (VALA_UNRESOLVED_TYPE ($3), FALSE);
+                       }
                }
 
                $$ = vala_code_context_create_formal_parameter (context, $4, $3, src);
@@ -3127,16 +3129,18 @@ fixed_parameter
                ValaSourceReference *src;
 
                src = src(@3);
-               if (!vala_unresolved_type_get_is_weak (VALA_UNRESOLVED_TYPE ($3))) {
-                       vala_unresolved_type_set_takes_ownership (VALA_UNRESOLVED_TYPE ($3), TRUE);
-               }
+               if (VALA_IS_UNRESOLVED_TYPE ($3)) {
+                       if (!vala_unresolved_type_get_is_weak (VALA_UNRESOLVED_TYPE ($3))) {
+                               vala_unresolved_type_set_takes_ownership (VALA_UNRESOLVED_TYPE ($3), TRUE);
+                       }
 
-               if (!vala_unresolved_type_get_is_ref (VALA_UNRESOLVED_TYPE ($3))
-                       && !vala_unresolved_type_get_is_out (VALA_UNRESOLVED_TYPE ($3))
-                       && !vala_unresolved_type_get_transfers_ownership (VALA_UNRESOLVED_TYPE ($3))) {
-                       /* FIXME take_ownership for in parameters that don't transfer ownership is not supported yet
-                        * this may require an additional local variable per parameter */
-                       vala_unresolved_type_set_takes_ownership (VALA_UNRESOLVED_TYPE ($3), FALSE);
+                       if (!vala_unresolved_type_get_is_ref (VALA_UNRESOLVED_TYPE ($3))
+                               && !vala_unresolved_type_get_is_out (VALA_UNRESOLVED_TYPE ($3))
+                               && !vala_unresolved_type_get_transfers_ownership (VALA_UNRESOLVED_TYPE ($3))) {
+                               /* FIXME take_ownership for in parameters that don't transfer ownership is not supported yet
+                                * this may require an additional local variable per parameter */
+                               vala_unresolved_type_set_takes_ownership (VALA_UNRESOLVED_TYPE ($3), FALSE);
+                       }
                }
 
                $$ = vala_code_context_create_formal_parameter (context, $4, $3, src);