vala r2156 - in trunk: . gobject
- From: juergbi svn gnome org
- To: svn-commits-list gnome org
- Subject: vala r2156 - in trunk: . gobject
- Date: Mon, 15 Dec 2008 09:43:40 +0000 (UTC)
Author: juergbi
Date: Mon Dec 15 09:43:40 2008
New Revision: 2156
URL: http://svn.gnome.org/viewvc/vala?rev=2156&view=rev
Log:
2008-12-15 JÃrg Billeter <j bitron ch>
* gobject/valaccodebasemodule.vala:
Fix comparison of nullable and non-nullable values
Modified:
trunk/ChangeLog
trunk/gobject/valaccodebasemodule.vala
Modified: trunk/gobject/valaccodebasemodule.vala
==============================================================================
--- trunk/gobject/valaccodebasemodule.vala (original)
+++ trunk/gobject/valaccodebasemodule.vala Mon Dec 15 09:43:40 2008
@@ -2987,12 +2987,17 @@
cright = new InstanceCast (cright, left_cl);
}
}
- } else if (left_type_as_struct != null && !expr.left.value_type.nullable
- && expr.right.value_type is NullType) {
- cleft = new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, cleft);
- } else if (right_type_as_struct != null && !expr.right.value_type.nullable
- && expr.left.value_type is NullType) {
- cright = new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, cright);
+ } else if (left_type_as_struct != null && right_type_as_struct != null) {
+ // FIXME generate and use compare/equal function for real structs
+ if (expr.left.value_type.nullable && expr.right.value_type.nullable) {
+ // FIXME also compare contents, not just address
+ } else if (expr.left.value_type.nullable) {
+ // FIXME check left value is not null
+ cleft = new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, cleft);
+ } else if (expr.right.value_type.nullable) {
+ // FIXME check right value is not null
+ cright = new CCodeUnaryExpression (CCodeUnaryOperator.POINTER_INDIRECTION, cright);
+ }
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]