[vala/wip/attributes: 77/100] Drop finish_vfunc_name



commit d371ad34c05479274e24072c63e5b90770a75577
Author: Luca Bruno <lucabru src gnome org>
Date:   Thu Jun 30 09:43:08 2011 +0200

    Drop finish_vfunc_name

 codegen/valaccodebasemodule.vala       |   14 ++++++++++++++
 codegen/valaccodemethodcallmodule.vala |    4 ++--
 codegen/valagasyncmodule.vala          |    2 +-
 codegen/valagdbusclientmodule.vala     |    2 +-
 codegen/valagtypemodule.vala           |    6 +++---
 vala/valamethod.vala                   |    6 ------
 6 files changed, 21 insertions(+), 13 deletions(-)
---
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala
index 4f09419..e53e01e 100644
--- a/codegen/valaccodebasemodule.vala
+++ b/codegen/valaccodebasemodule.vala
@@ -5810,6 +5810,10 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
 		return get_ccode_attribute(m).finish_name;
 	}
 
+	public static string get_ccode_finish_vfunc_name (Method m) {
+		return get_ccode_attribute(m).finish_vfunc_name;
+	}
+
 	public static bool get_ccode_no_accessor_method (Property p) {
 		return p.get_attribute ("NoAccessorMethod") != null;
 	}
@@ -6409,6 +6413,15 @@ public class Vala.CCodeAttribute : AttributeCache {
 		}
 	}
 
+	public string finish_vfunc_name {
+		get {
+			if (_finish_vfunc_name == null) {
+				_finish_vfunc_name = get_finish_name_for_basename (vfunc_name);
+			}
+			return _finish_vfunc_name;
+		}
+	}
+
 	public bool no_array_length { get; private set; }
 	public string? array_length_type { get; private set; }
 
@@ -6436,6 +6449,7 @@ public class Vala.CCodeAttribute : AttributeCache {
 	private double? _pos;
 	private string _vfunc_name;
 	private string _finish_name;
+	private string _finish_vfunc_name;
 
 	public CCodeAttribute (CodeNode node) {
 		this.node = node;
diff --git a/codegen/valaccodemethodcallmodule.vala b/codegen/valaccodemethodcallmodule.vala
index 6c2c9ef..6da60ea 100644
--- a/codegen/valaccodemethodcallmodule.vala
+++ b/codegen/valaccodemethodcallmodule.vala
@@ -87,13 +87,13 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
 					vcast.add_argument (new CCodeIdentifier ("%s_parent_class".printf (get_ccode_lower_case_name (current_class, null))));
 
 					async_call.call = new CCodeMemberAccess.pointer (vcast, get_ccode_vfunc_name (m));
-					finish_call.call = new CCodeMemberAccess.pointer (vcast, m.get_finish_vfunc_name ());
+					finish_call.call = new CCodeMemberAccess.pointer (vcast, get_ccode_finish_vfunc_name (m));
 				} else if (m.base_interface_method != null) {
 					var base_iface = (Interface) m.base_interface_method.parent_symbol;
 					string parent_iface_var = "%s_%s_parent_iface".printf (get_ccode_lower_case_name (current_class), get_ccode_lower_case_name (base_iface));
 
 					async_call.call = new CCodeMemberAccess.pointer (new CCodeIdentifier (parent_iface_var), get_ccode_vfunc_name (m));
-					finish_call.call = new CCodeMemberAccess.pointer (new CCodeIdentifier (parent_iface_var), m.get_finish_vfunc_name ());
+					finish_call.call = new CCodeMemberAccess.pointer (new CCodeIdentifier (parent_iface_var), get_ccode_finish_vfunc_name (m));
 				}
 			}
 
diff --git a/codegen/valagasyncmodule.vala b/codegen/valagasyncmodule.vala
index 25a6637..5f8603e 100644
--- a/codegen/valagasyncmodule.vala
+++ b/codegen/valagasyncmodule.vala
@@ -521,7 +521,7 @@ public class Vala.GAsyncModule : GSignalModule {
 		type_struct.add_declaration (vdecl);
 
 		// add vfunc field to the type struct
-		vdeclarator = new CCodeFunctionDeclarator (m.get_finish_vfunc_name ());
+		vdeclarator = new CCodeFunctionDeclarator (get_ccode_finish_vfunc_name (m));
 		cparam_map = new HashMap<int,CCodeParameter> (direct_hash, direct_equal);
 
 		generate_cparameters (m, decl_space, cparam_map, new CCodeFunction ("fake"), vdeclarator, null, null, 2);
diff --git a/codegen/valagdbusclientmodule.vala b/codegen/valagdbusclientmodule.vala
index 7b1ea67..b580e0d 100644
--- a/codegen/valagdbusclientmodule.vala
+++ b/codegen/valagdbusclientmodule.vala
@@ -91,7 +91,7 @@ public class Vala.GDBusClientModule : GDBusModule {
 				ccode.add_assignment (vfunc_entry, new CCodeIdentifier (generate_dbus_proxy_method (main_iface, iface, m)));
 			} else {
 				ccode.add_assignment (vfunc_entry, new CCodeIdentifier (generate_async_dbus_proxy_method (main_iface, iface, m)));
-				vfunc_entry = new CCodeMemberAccess.pointer (new CCodeIdentifier ("iface"), m.get_finish_vfunc_name ());
+				vfunc_entry = new CCodeMemberAccess.pointer (new CCodeIdentifier ("iface"), get_ccode_finish_vfunc_name (m));
 				ccode.add_assignment (vfunc_entry, new CCodeIdentifier (generate_finish_dbus_proxy_method (main_iface, iface, m)));
 			}
 		}
diff --git a/codegen/valagtypemodule.vala b/codegen/valagtypemodule.vala
index a2dff5f..4660cdd 100644
--- a/codegen/valagtypemodule.vala
+++ b/codegen/valagtypemodule.vala
@@ -1221,7 +1221,7 @@ public class Vala.GTypeModule : GErrorModule {
 				ccode.add_assignment (new CCodeMemberAccess.pointer (ccast, get_ccode_vfunc_name (m.base_method)), new CCodeIdentifier (m.get_real_cname ()));
 
 				if (m.coroutine) {
-					ccode.add_assignment (new CCodeMemberAccess.pointer (ccast, m.base_method.get_finish_vfunc_name ()), new CCodeIdentifier (m.get_finish_real_cname ()));
+					ccode.add_assignment (new CCodeMemberAccess.pointer (ccast, get_ccode_finish_vfunc_name (m.base_method)), new CCodeIdentifier (m.get_finish_real_cname ()));
 				}
 			}
 		}
@@ -1322,7 +1322,7 @@ public class Vala.GTypeModule : GErrorModule {
 				} else {
 					cfunc = new CCodeIdentifier (m.get_finish_real_cname ());
 				}
-				ccode.add_assignment (new CCodeMemberAccess.pointer (ciface, m.base_interface_method.get_finish_vfunc_name ()), cfunc);
+				ccode.add_assignment (new CCodeMemberAccess.pointer (ciface, get_ccode_finish_vfunc_name (m.base_interface_method)), cfunc);
 			}
 		}
 
@@ -2041,7 +2041,7 @@ public class Vala.GTypeModule : GErrorModule {
 				var cname = m.get_real_cname ();
 				ccode.add_assignment (new CCodeMemberAccess.pointer (ciface, get_ccode_vfunc_name (m)), new CCodeIdentifier (cname));
 				if (m.coroutine) {
-					ccode.add_assignment (new CCodeMemberAccess.pointer (ciface, m.get_finish_vfunc_name ()), new CCodeIdentifier (m.get_finish_real_cname ()));
+					ccode.add_assignment (new CCodeMemberAccess.pointer (ciface, get_ccode_finish_vfunc_name (m)), new CCodeIdentifier (m.get_finish_real_cname ()));
 				}
 			}
 		}
diff --git a/vala/valamethod.vala b/vala/valamethod.vala
index a8aee05..ac0c6b3 100644
--- a/vala/valamethod.vala
+++ b/vala/valamethod.vala
@@ -221,7 +221,6 @@ public class Vala.Method : Subroutine {
 	private List<Parameter> parameters = new ArrayList<Parameter> ();
 	private string cname;
 	private string finish_name;
-	private string _vfunc_name;
 	private string _sentinel;
 	private List<Expression> preconditions;
 	private List<Expression> postconditions;
@@ -400,11 +399,6 @@ public class Vala.Method : Subroutine {
 		return get_finish_name_for_basename (get_real_cname ());
 	}
 
-	public string get_finish_vfunc_name () {
-		assert (coroutine);
-		return get_finish_name_for_basename (vfunc_name);
-	}
-
 	public string get_default_finish_cname () {
 		return get_finish_name_for_basename (get_cname ());
 	}



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