]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
write interface prerequisites
authorJuerg Billeter <j@bitron.ch>
Mon, 23 Jul 2007 06:45:33 +0000 (06:45 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Mon, 23 Jul 2007 06:45:33 +0000 (06:45 +0000)
2007-07-23  Juerg Billeter  <j@bitron.ch>

* vala/valainterfacewriter.vala: write interface prerequisites

svn path=/trunk/; revision=373

ChangeLog
vala/valainterfacewriter.vala

index bddfdc9731ffb4eecaf9d6c71a190f05486d50b3..17cbc2a1b74bc82cdea513e91455ea10cce5e71e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-07-23  Jürg Billeter  <j@bitron.ch>
+
+       * vala/valainterfacewriter.vala: write interface prerequisites
+
 2007-07-22  Raffaele Sandrini  <raffaele@sandrini.ch>
 
        * vapi/glib-2.0.vala: add basic internationalization functionality
index f7608e354f736f2983b81ea64ebcfbfd1b705b75..021e194acf16c2ac02c8d07b2b87949c24360d33 100644 (file)
@@ -145,7 +145,7 @@ public class Vala.InterfaceWriter : CodeVisitor {
                                        bool first = true;
                                        foreach (TypeReference type_arg in type_args) {
                                                if (!first) {
-                                                       write_string (", ");
+                                                       write_string (",");
                                                } else {
                                                        first = false;
                                                }
@@ -251,7 +251,39 @@ public class Vala.InterfaceWriter : CodeVisitor {
                        write_string (">");
                }
 
-
+               var prerequisites = iface.get_prerequisites ();
+               if (prerequisites != null) {
+                       write_string (" : ");
+               
+                       bool first = true;
+                       foreach (TypeReference prerequisite in prerequisites) {
+                               if (!first) {
+                                       write_string (", ");
+                               } else {
+                                       first = false;
+                               }
+                               write_string (prerequisite.data_type.get_full_name ());
+                       
+                               var type_args = prerequisite.get_type_arguments ();
+                               if (type_args != null) {
+                                       write_string ("<");
+                                       bool first = true;
+                                       foreach (TypeReference type_arg in type_args) {
+                                               if (!first) {
+                                                       write_string (",");
+                                               } else {
+                                                       first = false;
+                                               }
+                                               if (type_arg.data_type != null) {
+                                                       write_string (type_arg.data_type.get_full_name ());
+                                               } else {
+                                                       write_string (type_arg.type_parameter.name);
+                                               }
+                                       }
+                                       write_string (">");
+                               }
+                       }
+               }
                write_begin_block ();
 
                iface.accept_children (this);