GCC Middle and Back End API Reference
pretty_printer Struct Reference

#include <pretty-print.h>

Collaboration diagram for pretty_printer:

Public Member Functions

 pretty_printer (const char *=NULL, int=0)
virtual ~pretty_printer ()

Data Fields

output_bufferbuffer
const char * prefix
pp_padding padding
int maximum_length
int indent_skip
pp_wrapping_mode_t wrapping
printer_fn format_decoder
bool emitted_prefix
bool need_newline
bool translate_identifiers
bool show_color

Detailed Description

The data structure that contains the bare minimum required to do proper pretty-printing. Clients may derived from this structure and add additional fields they need.


Constructor & Destructor Documentation

pretty_printer::pretty_printer ( const char *  p = NULL,
int  l = 0 
)
explicit

Construct a PRETTY-PRINTER with PREFIX and of MAXIMUM_LENGTH characters per line.

By default, we emit prefixes once per message.

References obstack, pp_buffer, and pp_formatted_text_data.

pretty_printer::~pretty_printer ( )
virtual

References maximum_length, and pp_buffer.


Field Documentation

output_buffer* pretty_printer::buffer

Where we print external representation of ENTITY.

Referenced by debug_gimple_stmt(), and dump_rdg().

bool pretty_printer::emitted_prefix

Nonzero if current PREFIX was emitted at least once.

Referenced by pp_set_line_maximum_length().

printer_fn pretty_printer::format_decoder

If non-NULL, this function formats a TEXT into the BUFFER. When called, TEXT->format_spec points to a format code. FORMAT_DECODER should call pp_string (and related functions) to add data to the BUFFER. FORMAT_DECODER can read arguments from *TEXT->args_pts using VA_ARG. If the BUFFER needs additional characters from the format string, it should advance the TEXT->format_spec as it goes. When FORMAT_DECODER returns, TEXT->format_spec should point to the last character processed.

int pretty_printer::indent_skip

Indentation count.

int pretty_printer::maximum_length

The real upper bound of number of characters per line, taking into account the case of a very very looong prefix.

Referenced by ~pretty_printer().

bool pretty_printer::need_newline

Nonzero means one should emit a newline before outputting anything.

pp_padding pretty_printer::padding

Where to put whitespace around the entity being formatted.

const char* pretty_printer::prefix

The prefix for each new line.

Referenced by lhd_initialize_diagnostics(), and pp_flush().

bool pretty_printer::show_color

Nonzero means that text should be colorized.

bool pretty_printer::translate_identifiers

Nonzero means identifiers are translated to the locale character set on output.

pp_wrapping_mode_t pretty_printer::wrapping

Current wrapping mode.


The documentation for this struct was generated from the following files: