vala r1003 - in trunk: . gobject
- From: juergbi svn gnome org
- To: svn-commits-list gnome org
- Subject: vala r1003 - in trunk: . gobject
- Date: Sat, 9 Feb 2008 18:56:19 +0000 (GMT)
Author: juergbi
Date: Sat Feb 9 18:56:19 2008
New Revision: 1003
URL: http://svn.gnome.org/viewvc/vala?rev=1003&view=rev
Log:
2008-02-09 Juerg Billeter <j bitron ch>
* gobject/valaccodegenerator.vala,
gobject/valaccodegeneratorinterface.vala: support GType
properties, patch by Ali Sabil
Modified:
trunk/ChangeLog
trunk/gobject/valaccodegenerator.vala
trunk/gobject/valaccodegeneratorinterface.vala
Modified: trunk/gobject/valaccodegenerator.vala
==============================================================================
--- trunk/gobject/valaccodegenerator.vala (original)
+++ trunk/gobject/valaccodegenerator.vala Sat Feb 9 18:56:19 2008
@@ -93,6 +93,7 @@
public DataType string_type;
public DataType float_type;
public DataType double_type;
+ public Typesymbol gtype_type;
public Typesymbol gtypeinstance_type;
public Typesymbol gobject_type;
public Typesymbol gerror_type;
@@ -216,7 +217,8 @@
substring_method = (Method) string_type.data_type.scope.lookup ("substring");
var glib_ns = root_symbol.scope.lookup ("GLib");
-
+
+ gtype_type = (Typesymbol) glib_ns.scope.lookup ("Type");
gtypeinstance_type = (Typesymbol) glib_ns.scope.lookup ("TypeInstance");
gobject_type = (Typesymbol) glib_ns.scope.lookup ("Object");
gerror_type = (Typesymbol) glib_ns.scope.lookup ("Error");
Modified: trunk/gobject/valaccodegeneratorinterface.vala
==============================================================================
--- trunk/gobject/valaccodegeneratorinterface.vala (original)
+++ trunk/gobject/valaccodegeneratorinterface.vala Sat Feb 9 18:56:19 2008
@@ -166,6 +166,13 @@
} else {
cspec.add_argument (new CCodeConstant ("0.0"));
}
+ } else if (prop.type_reference.data_type == gtype_type) {
+ cspec.call = new CCodeIdentifier ("g_param_spec_gtype");
+ if (prop.default_expression != null) {
+ cspec.add_argument ((CCodeExpression) prop.default_expression.ccodenode);
+ } else {
+ cspec.add_argument (new CCodeConstant ("G_TYPE_NONE"));
+ }
} else {
cspec.call = new CCodeIdentifier ("g_param_spec_pointer");
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]