vala r2353 - in trunk: . gobject



Author: juergbi
Date: Fri Jan 16 15:54:16 2009
New Revision: 2353
URL: http://svn.gnome.org/viewvc/vala?rev=2353&view=rev

Log:
2009-01-16  JÃrg Billeter  <j bitron ch>

	* gobject/valaccodestructmodule.vala:
	* gobject/valagobjectmodule.vala:

	Fix typedef generation for private types, patch by Yu Feng,
	fixes bug 567237


Modified:
   trunk/ChangeLog
   trunk/gobject/valaccodestructmodule.vala
   trunk/gobject/valagobjectmodule.vala

Modified: trunk/gobject/valaccodestructmodule.vala
==============================================================================
--- trunk/gobject/valaccodestructmodule.vala	(original)
+++ trunk/gobject/valaccodestructmodule.vala	Fri Jan 16 15:54:16 2009
@@ -46,7 +46,9 @@
 			def_frag = source_type_definition;
 		}
 
-		if (st.source_reference.file.cycle == null) {
+		if (st.access == SymbolAccessibility.PRIVATE
+		    || st.source_reference.file.cycle == null) {
+			// no file dependency cycle for private symbols
 			decl_frag.append (new CCodeTypeDefinition ("struct _%s".printf (st.get_cname ()), new CCodeVariableDeclarator (st.get_cname ())));
 		}
 

Modified: trunk/gobject/valagobjectmodule.vala
==============================================================================
--- trunk/gobject/valagobjectmodule.vala	(original)
+++ trunk/gobject/valagobjectmodule.vala	Fri Jan 16 15:54:16 2009
@@ -109,7 +109,9 @@
 		}
 
 
-		if (cl.source_reference.file.cycle == null) {
+		if (cl.access == SymbolAccessibility.PRIVATE
+		    || cl.source_reference.file.cycle == null) {
+			// no file dependency cycle for private symbols
 			decl_frag.append (new CCodeTypeDefinition ("struct %s".printf (instance_struct.name), new CCodeVariableDeclarator (cl.get_cname ())));
 		}
 
@@ -126,7 +128,9 @@
 		}
 
 		if (is_gtypeinstance) {
-			if (cl.source_reference.file.cycle == null) {
+			if (cl.access == SymbolAccessibility.PRIVATE
+			    || cl.source_reference.file.cycle == null) {
+				// no file dependency cycle for private symbols
 				decl_frag.append (new CCodeTypeDefinition ("struct %s".printf (type_struct.name), new CCodeVariableDeclarator ("%sClass".printf (cl.get_cname ()))));
 			}
 			decl_frag.append (new CCodeTypeDefinition ("struct %s".printf (instance_priv_struct.name), new CCodeVariableDeclarator ("%sPrivate".printf (cl.get_cname ()))));



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