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;
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) {
writer.write_string (";");
} else {
+ writer.write_newline ();
block.write (writer);
writer.write_newline ();
}
_bol = false;
}
+ /**
+ * Writes n spaces.
+ */
+ public void write_nspaces (uint n) {
+ stream.puts (string.nfill (n, ' '));
+ }
+
/**
* Writes the specified string.
*