GCC Middle and Back End API Reference
graphviz_out Class Reference

#include <graphviz.h>

Collaboration diagram for graphviz_out:

Public Member Functions

 graphviz_out (pretty_printer *pp)
 
void print (const char *fmt,...) ATTRIBUTE_GCC_PPDIAG(2
 
void void println (const char *fmt,...) ATTRIBUTE_GCC_PPDIAG(2
 
void void void indent ()
 
void outdent ()
 
void write_indent ()
 
void begin_tr ()
 
void end_tr ()
 
void begin_td ()
 
void end_td ()
 
void begin_trtd ()
 
void end_tdtr ()
 
pretty_printerget_pp () const
 

Private Attributes

pretty_printerm_pp
 
int m_indent
 

Detailed Description

Helper code for graphviz output.
   Copyright (C) 2019-2024 Free Software Foundation, Inc.
   Contributed by David Malcolm <dmalcolm@redhat.com>.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.

GCC is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.   
A class for writing .dot output to a pretty_printer with
indentation to show nesting.   

Constructor & Destructor Documentation

◆ graphviz_out()

graphviz_out::graphviz_out ( pretty_printer * pp)
Helper code for graphviz output.
   Copyright (C) 2019-2024 Free Software Foundation, Inc.
   Contributed by David Malcolm <dmalcolm@redhat.com>.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.

GCC is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.   
graphviz_out's ctor, wrapping PP.   

Member Function Documentation

◆ begin_td()

void graphviz_out::begin_td ( )
Write the start of an HTML-like <TD>, writing to the stream
so that followup text can be escaped.   

References m_pp, pp_string(), and pp_write_text_to_stream().

◆ begin_tr()

void graphviz_out::begin_tr ( )
Write the start of an HTML-like row via <TR>, writing to the stream
so that followup text can be escaped.   

References m_pp, pp_string(), and pp_write_text_to_stream().

◆ begin_trtd()

void graphviz_out::begin_trtd ( )
Write the start of an HTML-like row via <TR><TD>, writing to the stream
so that followup text can be escaped.   

References m_pp, pp_string(), and pp_write_text_to_stream().

◆ end_td()

void graphviz_out::end_td ( )
Write the end of an HTML-like </TD>, writing to the stream
so that followup text can be escaped.   

References m_pp, pp_string(), and pp_write_text_to_stream().

◆ end_tdtr()

void graphviz_out::end_tdtr ( )
Write the end of an HTML-like row via </TD></TR>, writing to the stream
so that followup text can be escaped.   

References m_pp, pp_string(), and pp_write_text_to_stream().

◆ end_tr()

void graphviz_out::end_tr ( )
Write the end of an HTML-like row via </TR>, writing to the stream
so that followup text can be escaped.   

References m_pp, pp_string(), and pp_write_text_to_stream().

◆ get_pp()

pretty_printer * graphviz_out::get_pp ( ) const
inline

References m_pp.

◆ indent()

void void void graphviz_out::indent ( )
inline

References m_indent.

◆ outdent()

void graphviz_out::outdent ( )
inline

References m_indent.

◆ print()

void graphviz_out::print ( const char * fmt,
... )
Formatted print of FMT.   

References ap, errno, ggc_alloc(), m_pp, pp_format(), and pp_output_formatted_text().

◆ println()

void graphviz_out::println ( const char * fmt,
... )
Formatted print of FMT.  The text is indented by the current
indent, and a newline is added.   

References ap, errno, ggc_alloc(), m_pp, pp_format(), pp_newline(), pp_output_formatted_text(), and write_indent().

◆ write_indent()

void graphviz_out::write_indent ( )
Print the current indent to the underlying pp.   

References i, m_indent, m_pp, and pp_space.

Referenced by println().

Field Documentation

◆ m_indent

int graphviz_out::m_indent
private

Referenced by indent(), outdent(), and write_indent().

◆ m_pp


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