vala r1698 - in trunk: . gobject tests
- From: jaredm svn gnome org
- To: svn-commits-list gnome org
- Subject: vala r1698 - in trunk: . gobject tests
- Date: Sat, 12 Jul 2008 11:43:44 +0000 (UTC)
Author: jaredm
Date: Sat Jul 12 11:43:43 2008
New Revision: 1698
URL: http://svn.gnome.org/viewvc/vala?rev=1698&view=rev
Log:
2008-07-12 Jared Moore <jaredm svn gnome org
* gobject/valaccodememberaccessbinding.vala:
Fix access to private struct fields, fixed bug 542032.
* tests/structs.vala:
* tests/structs.exp:
Added test cases for private struct fields.
Modified:
trunk/ChangeLog
trunk/gobject/valaccodememberaccessbinding.vala
trunk/tests/structs.exp
trunk/tests/structs.vala
Modified: trunk/gobject/valaccodememberaccessbinding.vala
==============================================================================
--- trunk/gobject/valaccodememberaccessbinding.vala (original)
+++ trunk/gobject/valaccodememberaccessbinding.vala Sat Jul 12 11:43:43 2008
@@ -86,7 +86,7 @@
var instance_target_type = codegen.get_data_type_for_symbol ((TypeSymbol) f.parent_symbol);
var cl = instance_target_type.data_type as Class;
- bool is_gtypeinstance = (cl == null || !cl.is_compact);
+ bool is_gtypeinstance = ((instance_target_type.data_type == cl) && (cl == null || !cl.is_compact));
CCodeExpression inst;
if (is_gtypeinstance && f.access == SymbolAccessibility.PRIVATE) {
Modified: trunk/tests/structs.exp
==============================================================================
--- trunk/tests/structs.exp (original)
+++ trunk/tests/structs.exp Sat Jul 12 11:43:43 2008
@@ -11,4 +11,5 @@
test_ref_parameter: st.field = 1
after test_ref_parameter: st.field = 2
after test_out_parameter: st.field = 3
+StructWithPrivateField: field = 1
.
Modified: trunk/tests/structs.vala
==============================================================================
--- trunk/tests/structs.vala (original)
+++ trunk/tests/structs.vala Sat Jul 12 11:43:43 2008
@@ -8,6 +8,15 @@
public int field;
}
+struct StructWithPrivateField {
+ private int field;
+
+ public void test () {
+ field = 1;
+ stdout.printf ("StructWithPrivateField: field = %d\n", field);
+ }
+}
+
struct StructWithCreationMethod {
public StructWithCreationMethod () {
stdout.printf ("StructWithCreationMethod\n");
@@ -65,6 +74,9 @@
test_out_parameter (out simple_struct);
stdout.printf ("after test_out_parameter: st.field = %d\n", simple_struct.field);
+ var struct_with_private_field = StructWithPrivateField ();
+ struct_with_private_field.test ();
+
stdout.printf (".\n");
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]