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

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 
   characters per line.  
     By default, we emit prefixes once per message.  

References obstack.

pretty_printer::~pretty_printer ( )

References maximum_length.

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: