vala r2206 - in trunk: . vala



Author: juergbi
Date: Wed Dec 17 23:07:18 2008
New Revision: 2206
URL: http://svn.gnome.org/viewvc/vala?rev=2206&view=rev

Log:
2008-12-18  JÃrg Billeter  <j bitron ch>

	* vala/valaassignment.vala:

	Report error when trying to connect signal to instance method
	from static context, fixes bug 502669


Modified:
   trunk/ChangeLog
   trunk/vala/valaassignment.vala

Modified: trunk/vala/valaassignment.vala
==============================================================================
--- trunk/vala/valaassignment.vala	(original)
+++ trunk/vala/valaassignment.vala	Wed Dec 17 23:07:18 2008
@@ -221,6 +221,7 @@
 			}
 
 			var dynamic_sig = sig as DynamicSignal;
+			var right_ma = right as MemberAccess;
 			if (dynamic_sig != null) {
 				bool first = true;
 				foreach (FormalParameter param in dynamic_sig.handler.value_type.get_parameters ()) {
@@ -238,6 +239,10 @@
 				error = true;
 				Report.error (right.source_reference, "method `%s' is incompatible with signal `%s', expected `%s'".printf (right.value_type.to_string (), right.target_type.to_string (), delegate_type.delegate_symbol.get_prototype_string (m.name)));
 				return false;
+			} else if (right_ma != null && right_ma.prototype_access) {
+				error = true;
+				Report.error (right.source_reference, "Access to instance member `%s' denied".printf (m.get_full_name ()));
+				return false;
 			}
 		} else if (left is MemberAccess) {
 			var ma = (MemberAccess) left;



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