From: Jürg Billeter Date: Wed, 21 Mar 2007 15:15:46 +0000 (+0000) Subject: use pointer as default of type_id and marshaller_type_name for reference X-Git-Tag: VALA_0_0_8~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2e190d3f2bbb59c27c5faebb8c48ecd363309ec8;p=thirdparty%2Fvala.git use pointer as default of type_id and marshaller_type_name for reference 2007-03-21 Jürg Billeter * 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 --- diff --git a/vala/ChangeLog b/vala/ChangeLog index a8025d17b..484bb7b4d 100644 --- a/vala/ChangeLog +++ b/vala/ChangeLog @@ -1,3 +1,9 @@ +2007-03-21 Jürg Billeter + + * 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 * vala/valacodegenerator.vala: deep copy GLists if necessary, patch by diff --git a/vala/vala/valapointer.vala b/vala/vala/valapointer.vala index dceb8c651..12b3afea9 100644 --- a/vala/vala/valapointer.vala +++ b/vala/vala/valapointer.vala @@ -71,7 +71,11 @@ public class Vala.Pointer : DataType { public override ref List 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"; } diff --git a/vala/vala/valastruct.vala b/vala/vala/valastruct.vala index 3c0dfb742..383e04d38 100644 --- a/vala/vala/valastruct.vala +++ b/vala/vala/valastruct.vala @@ -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; }