]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
use pointer as default of type_id and marshaller_type_name for reference
authorJürg Billeter <j@bitron.ch>
Wed, 21 Mar 2007 15:15:46 +0000 (15:15 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Wed, 21 Mar 2007 15:15:46 +0000 (15:15 +0000)
2007-03-21  Jürg Billeter  <j@bitron.ch>

* vala/valastruct.vala: use pointer as default of type_id and
  marshaller_type_name for reference types
* vala/valapointer.vala: implement get_type_id

svn path=/trunk/; revision=253

vala/ChangeLog
vala/vala/valapointer.vala
vala/vala/valastruct.vala

index a8025d17b1c9714e08ac9d9fd91cf519eab5f8c6..484bb7b4d5f29cb86437724ed2f80fc6c32d2e0f 100644 (file)
@@ -1,3 +1,9 @@
+2007-03-21  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valastruct.vala: use pointer as default of type_id and
+         marshaller_type_name for reference types
+       * vala/valapointer.vala: implement get_type_id
+
 2007-03-21  Jürg Billeter  <j@bitron.ch>
 
        * vala/valacodegenerator.vala: deep copy GLists if necessary, patch by
index dceb8c6511b4eaa040c0ffaf6638eaf47f2276da..12b3afea9253b8f7b9b70e750d6d8a1a5910bdc7 100644 (file)
@@ -71,7 +71,11 @@ public class Vala.Pointer : DataType {
        public override ref List<string> get_cheader_filenames () {
                return referent_type.get_cheader_filenames ();
        }
-       
+
+       public override string get_type_id () {
+               return "G_TYPE_POINTER";
+       }
+
        public override string get_marshaller_type_name () {
                return "POINTER";
        }
index 3c0dfb7428305a220ee588d6094dbefe92cf5419..383e04d38c783a70915bb40c8a54c3d5cdde3b18 100644 (file)
@@ -1,6 +1,6 @@
 /* valastruct.vala
  *
- * Copyright (C) 2006  Jürg Billeter
+ * Copyright (C) 2006-2007  Jürg Billeter
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -331,7 +331,11 @@ public class Vala.Struct : DataType {
        
        public override string get_type_id () {
                if (type_id == null) {
-                       Report.error (source_reference, "The type `%s` doesn't declare a type id".printf (symbol.get_full_name ()));
+                       if (is_reference_type ()) {
+                               type_id = "G_TYPE_POINTER";
+                       } else {
+                               Report.error (source_reference, "The type `%s` doesn't declare a type id".printf (symbol.get_full_name ()));
+                       }
                }
                return type_id;
        }
@@ -342,7 +346,11 @@ public class Vala.Struct : DataType {
 
        public override string get_marshaller_type_name () {
                if (marshaller_type_name == null) {
-                       Report.error (source_reference, "The type `%s` doesn't declare a marshaller type name".printf (symbol.get_full_name ()));
+                       if (is_reference_type ()) {
+                               marshaller_type_name = "POINTER";
+                       } else {
+                               Report.error (source_reference, "The type `%s` doesn't declare a marshaller type name".printf (symbol.get_full_name ()));
+                       }
                }
                return marshaller_type_name;
        }