Beispiel #1
0
        /// <summary>
        /// Writes tabs according to the current indent level.
        /// </summary>
        public void write_indent(CCodeLineDirective line = null)
        {
            if (line_directives)
            {
                if (line != null)
                {
                    line.write(this);
                    using_line_directive = true;
                }
                else if (using_line_directive)
                {
                    // no corresponding Vala line, emit line directive for C line
                    string path = Path.GetFileName(filename);
                    path = path.Replace("\\", "/");

                    write_string("#line %d \"%s\"".printf(current_line_number + 1, path));
                    write_newline();
                    using_line_directive = false;
                }
            }

            if (!_bol)
            {
                write_newline();
            }

            stream.puts(gstring.nfill(indent, '\t'));
            _bol = false;
        }