vala r2316 - in trunk: . gobject
- From: juergbi svn gnome org
- To: svn-commits-list gnome org
- Subject: vala r2316 - in trunk: . gobject
- Date: Fri, 9 Jan 2009 23:09:11 +0000 (UTC)
Author: juergbi
Date: Fri Jan 9 23:09:11 2009
New Revision: 2316
URL: http://svn.gnome.org/viewvc/vala?rev=2316&view=rev
Log:
2009-01-10 JÃrg Billeter <j bitron ch>
* gobject/valaccodebasemodule.vala:
* gobject/valaccodedelegatemodule.vala:
Fix critical and generated code for static delegate fields,
fixes bug 563016
Modified:
trunk/ChangeLog
trunk/gobject/valaccodebasemodule.vala
trunk/gobject/valaccodedelegatemodule.vala
Modified: trunk/gobject/valaccodebasemodule.vala
==============================================================================
--- trunk/gobject/valaccodebasemodule.vala (original)
+++ trunk/gobject/valaccodebasemodule.vala Fri Jan 9 23:09:11 2009
@@ -3581,7 +3581,8 @@
}
public CCodeExpression? default_value_for_type (DataType type, bool initializer_expression) {
- if ((type.data_type != null && type.data_type.is_reference_type ()) || type is PointerType || type is ArrayType) {
+ if ((type.data_type != null && type.data_type.is_reference_type ())
+ || type is PointerType || type is ArrayType || type is DelegateType) {
return new CCodeConstant ("NULL");
} else if (type.data_type != null && type.data_type.get_default_value () != null) {
return new CCodeConstant (type.data_type.get_default_value ());
Modified: trunk/gobject/valaccodedelegatemodule.vala
==============================================================================
--- trunk/gobject/valaccodedelegatemodule.vala (original)
+++ trunk/gobject/valaccodedelegatemodule.vala Fri Jan 9 23:09:11 2009
@@ -1,6 +1,7 @@
/* valaccodedelegatemodule.vala
*
- * Copyright (C) 2006-2008 JÃrg Billeter, Raffaele Sandrini
+ * Copyright (C) 2006-2009 JÃrg Billeter
+ * Copyright (C) 2006-2008 Raffaele Sandrini
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -123,14 +124,13 @@
var ma = (MemberAccess) delegate_expr;
- var base_type = ma.inner.value_type;
CCodeExpression target_expr = null;
- var pub_inst = (CCodeExpression) get_ccodenode (ma.inner);
-
if (field.binding == MemberBinding.INSTANCE) {
- var instance_expression_type = base_type;
+ var instance_expression_type = ma.inner.value_type;
var instance_target_type = get_data_type_for_symbol ((TypeSymbol) field.parent_symbol);
+
+ var pub_inst = (CCodeExpression) get_ccodenode (ma.inner);
CCodeExpression typed_inst = transform_expression (pub_inst, instance_expression_type, instance_target_type);
CCodeExpression inst;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]