[vala/staging] ccode: Reformat function declaration and definition for better readability



commit 39c21ed03a90ece9df67f803c6c9646cde4b5c4f
Author: Rico Tzschichholz <ricotz ubuntu com>
Date:   Thu Mar 9 13:39:10 2017 +0100

    ccode: Reformat function declaration and definition for better readability
    
    https://bugzilla.gnome.org/show_bug.cgi?id=688447

 ccode/valaccodefunction.vala |   10 +++++++++-
 ccode/valaccodewriter.vala   |    7 +++++++
 2 files changed, 16 insertions(+), 1 deletions(-)
---
diff --git a/ccode/valaccodefunction.vala b/ccode/valaccodefunction.vala
index 08d3876..9d3b524 100644
--- a/ccode/valaccodefunction.vala
+++ b/ccode/valaccodefunction.vala
@@ -114,9 +114,14 @@ public class Vala.CCodeFunction : CCodeNode {
                        writer.write_string ("inline ");
                }
                writer.write_string (return_type);
-               writer.write_string (" ");
+               if (is_declaration) {
+                       writer.write_string (" ");
+               } else {
+                       writer.write_newline ();
+               }
                writer.write_string (name);
                writer.write_string (" (");
+               int param_pos_begin = (is_declaration ? return_type.char_count () + 1 : 0 ) + name.char_count 
() + 2;
                
                bool has_args = (CCodeModifiers.PRINTF in modifiers || CCodeModifiers.SCANF in modifiers);
                int i = 0;
@@ -125,6 +130,8 @@ public class Vala.CCodeFunction : CCodeNode {
                foreach (CCodeParameter param in parameters) {
                        if (i > 0) {
                                writer.write_string (", ");
+                               writer.write_newline ();
+                               writer.write_nspaces (param_pos_begin);
                        }
                        param.write (writer);
                        if (CCodeModifiers.FORMAT_ARG in param.modifiers) {
@@ -173,6 +180,7 @@ public class Vala.CCodeFunction : CCodeNode {
 
                        writer.write_string (";");
                } else {
+                       writer.write_newline ();
                        block.write (writer);
                        writer.write_newline ();
                }
diff --git a/ccode/valaccodewriter.vala b/ccode/valaccodewriter.vala
index 281ff6e..bcc03fa 100644
--- a/ccode/valaccodewriter.vala
+++ b/ccode/valaccodewriter.vala
@@ -167,6 +167,13 @@ public class Vala.CCodeWriter {
        }
        
        /**
+        * Writes n spaces.
+        */
+       public void write_nspaces (uint n) {
+               stream.puts (string.nfill (n, ' '));
+       }
+
+       /**
         * Writes the specified string.
         *
         * @param s a string


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