[vala] Fix static property access in instance methods



commit d040b40d58f14b03e602f493bd5e551b62e0b1e0
Author: Jürg Billeter <j bitron ch>
Date:   Wed Oct 28 15:18:54 2009 +0100

    Fix static property access in instance methods
    
    Fixes bug 599892.

 codegen/valaccodememberaccessmodule.vala |    3 ++-
 tests/Makefile.am                        |    1 +
 tests/methods/bug599892.vala             |   14 ++++++++++++++
 3 files changed, 17 insertions(+), 1 deletions(-)
---
diff --git a/codegen/valaccodememberaccessmodule.vala b/codegen/valaccodememberaccessmodule.vala
index 3768b3b..c6d9e2f 100644
--- a/codegen/valaccodememberaccessmodule.vala
+++ b/codegen/valaccodememberaccessmodule.vala
@@ -220,7 +220,8 @@ internal class Vala.CCodeMemberAccessModule : CCodeControlFlowModule {
 				}
 			}
 
-			if (prop.get_accessor.automatic_body &&
+			if (prop.binding == MemberBinding.INSTANCE &&
+			    prop.get_accessor.automatic_body &&
 			    current_type_symbol == prop.parent_symbol &&
 			    prop.base_property == null &&
 			    prop.base_interface_property == null &&
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 012da55..fa289a3 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -30,6 +30,7 @@ TESTS = \
 	methods/bug596726.vala \
 	methods/bug597426.vala \
 	methods/bug598738.vala \
+	methods/bug599892.vala \
 	control-flow/break.vala \
 	control-flow/expressions-conditional.vala \
 	control-flow/for.vala \
diff --git a/tests/methods/bug599892.vala b/tests/methods/bug599892.vala
new file mode 100644
index 0000000..c1aea47
--- /dev/null
+++ b/tests/methods/bug599892.vala
@@ -0,0 +1,14 @@
+class Foo {
+	public static int bar { get; set; }
+
+	public void do_foo () {
+		int i = 42;
+		bar = i;
+		assert (bar == 42);
+	}
+}
+
+void main () {
+	var foo = new Foo ();
+	foo.do_foo ();
+}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]