vala r2097 - in trunk: . gobject vala



Author: juergbi
Date: Sun Nov 30 13:05:05 2008
New Revision: 2097
URL: http://svn.gnome.org/viewvc/vala?rev=2097&view=rev

Log:
2008-11-30  JÃrg Billeter  <j bitron ch>

	* vala/valamemberaccess.vala:
	* vala/valasymbolresolver.vala:
	* gobject/valaccodememberaccessmodule.vala:
	* gobject/valagsignalmodule.vala:

	Separate visiting inner expressions from visiting member access


Modified:
   trunk/ChangeLog
   trunk/gobject/valaccodememberaccessmodule.vala
   trunk/gobject/valagsignalmodule.vala
   trunk/vala/valamemberaccess.vala
   trunk/vala/valasymbolresolver.vala

Modified: trunk/gobject/valaccodememberaccessmodule.vala
==============================================================================
--- trunk/gobject/valaccodememberaccessmodule.vala	(original)
+++ trunk/gobject/valaccodememberaccessmodule.vala	Sun Nov 30 13:05:05 2008
@@ -29,6 +29,8 @@
 	}
 
 	public override void visit_member_access (MemberAccess expr) {
+		expr.accept_children (codegen);
+
 		CCodeExpression pub_inst = null;
 		DataType base_type = null;
 	

Modified: trunk/gobject/valagsignalmodule.vala
==============================================================================
--- trunk/gobject/valagsignalmodule.vala	(original)
+++ trunk/gobject/valagsignalmodule.vala	Sun Nov 30 13:05:05 2008
@@ -585,13 +585,15 @@
 	}
 
 	public override void visit_member_access (MemberAccess expr) {
-		CCodeExpression pub_inst = null;
+		if (expr.symbol_reference is Signal) {
+			expr.accept_children (codegen);
+
+			CCodeExpression pub_inst = null;
 	
-		if (expr.inner != null) {
-			pub_inst = (CCodeExpression) expr.inner.ccodenode;
-		}
+			if (expr.inner != null) {
+				pub_inst = (CCodeExpression) expr.inner.ccodenode;
+			}
 
-		if (expr.symbol_reference is Signal) {
 			var sig = (Signal) expr.symbol_reference;
 			var cl = (TypeSymbol) sig.parent_symbol;
 			

Modified: trunk/vala/valamemberaccess.vala
==============================================================================
--- trunk/vala/valamemberaccess.vala	(original)
+++ trunk/vala/valamemberaccess.vala	Sun Nov 30 13:05:05 2008
@@ -115,8 +115,14 @@
 	public Gee.List<DataType> get_type_arguments () {
 		return new ReadOnlyList<DataType> (type_argument_list);
 	}
-	
+
 	public override void accept (CodeVisitor visitor) {
+		visitor.visit_member_access (this);
+
+		visitor.visit_expression (this);
+	}
+
+	public override void accept_children (CodeVisitor visitor) {
 		if (inner != null) {
 			inner.accept (visitor);
 		}
@@ -124,10 +130,6 @@
 		foreach (DataType type_arg in type_argument_list) {
 			type_arg.accept (visitor);
 		}
-
-		visitor.visit_member_access (this);
-
-		visitor.visit_expression (this);
 	}
 
 	public override string to_string () {

Modified: trunk/vala/valasymbolresolver.vala
==============================================================================
--- trunk/vala/valasymbolresolver.vala	(original)
+++ trunk/vala/valasymbolresolver.vala	Sun Nov 30 13:05:05 2008
@@ -394,6 +394,10 @@
 		expr.accept_children (this);
 	}
 
+	public override void visit_member_access (MemberAccess expr) {
+		expr.accept_children (this);
+	}
+
 	public override void visit_method_call (MethodCall expr) {
 		expr.accept_children (this);
 	}



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