+2008-11-19 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gobject/valagobjectmodule.vala:
+
+ Add support for class field initializers for classes that are not
+ derived from GObject.
+
2008-11-18 Thijs Vermeir <thijsvermeir@gmail.com>
* vapi/packages/gtk+-2.0/gtk+-2.0.metadata:
}
}
+ /* initialize class fields */
+ var fields = cl.get_fields ();
+ foreach (Field field in fields) {
+ if (field.binding != MemberBinding.CLASS || field.initializer == null) {
+ continue;
+ }
+ CCodeExpression left = new CCodeMemberAccess (new CCodeIdentifier ("klass"),
+ field.get_cname (), true);
+ CCodeExpression right = (CCodeExpression)field.initializer.ccodenode;
+ CCodeAssignment assign = new CCodeAssignment (left, right);
+ init_block.add_statement (new CCodeExpressionStatement (assign));
+ }
+
if (cl.is_subtype_of (gobject_type)) {
/* create type, dup_func, and destroy_func properties for generic types */
foreach (TypeParameter type_param in cl.get_type_parameters ()) {
instance_priv_struct.add_field ("GDestroyNotify", func_name);
}
- /* initialize class fields */
- var fields = cl.get_fields ();
- foreach (Field field in fields) {
- if (field.binding != MemberBinding.CLASS || field.initializer == null) {
- continue;
- }
- CCodeExpression left = new CCodeMemberAccess (new CCodeIdentifier ("klass"),
- field.get_cname (), true);
- CCodeExpression right = (CCodeExpression)field.initializer.ccodenode;
- CCodeAssignment assign = new CCodeAssignment (left, right);
- init_block.add_statement (new CCodeExpressionStatement (assign));
- }
-
/* create properties */
var props = cl.get_properties ();
foreach (Property prop in props) {