100 id (std::string str);
136 m_kvs.push_back ({std::move (key), std::move (
value)});
167 :
m_id (std::make_unique<
id> (std::
move (id_)))
260 :
m_id (std::make_unique<
id> (std::
move (id_))),
273 :
m_id (std::make_unique<
id> (std::
move (id_))),
283 m_id = std::make_unique<id> (*other.m_id);
284 if (other.m_compass_pt)
285 m_compass_pt = std::make_unique<enum compass_pt> (*other.m_compass_pt);
311 m_port = std::make_unique<port> (*other.m_port);
318 m_port = std::make_unique<port> (*other.m_port);
369 (std::make_unique <kv_stmt> (
kv_pair (std::move (key),
370 std::move (
value))));
377extern std::unique_ptr<xml::node>
389 void print (
const char *fmt, ...)
391 void println (
const char *fmt, ...)
pretty_printer * get_pp() const
Definition graphviz.h:55
pretty_printer & m_pp
Definition graphviz.h:58
void write_string(const char *str)
Definition graphviz.h:46
void indent()
Definition graphviz.h:37
int m_indent
Definition graphviz.h:59
void write_indent()
Definition graphviz.cc:42
void write_character(char ch)
Definition graphviz.h:42
void write_newline()
Definition graphviz.h:50
writer(pretty_printer &pp)
Definition graphviz.cc:33
void outdent()
Definition graphviz.h:38
void void void begin_tr()
Definition graphviz.cc:91
void print(const char *fmt,...) ATTRIBUTE_GCC_PPDIAG(2
Definition graphviz.cc:57
void end_tdtr()
Definition graphviz.cc:141
graphviz_out(pretty_printer *pp)
Definition graphviz.cc:48
void end_td()
Definition graphviz.cc:121
void void println(const char *fmt,...) ATTRIBUTE_GCC_PPDIAG(2
Definition graphviz.cc:72
void begin_td()
Definition graphviz.cc:111
void begin_trtd()
Definition graphviz.cc:131
void end_tr()
Definition graphviz.cc:101
Definition pretty-print.h:241
gcc::context * g
Definition context.cc:29
@ value
Definition logical-location.h:59
Definition diagnostic-digraphs.h:33
compass_pt
Definition graphviz.h:248
@ s
Definition graphviz.h:249
@ sw
Definition graphviz.h:249
@ c
Definition graphviz.h:249
@ nw
Definition graphviz.h:249
@ n
Definition graphviz.h:249
@ ne
Definition graphviz.h:249
@ e
Definition graphviz.h:249
@ se
Definition graphviz.h:249
@ w
Definition graphviz.h:249
std::unique_ptr< xml::node > make_svg_from_graph(const graph &g)
Definition graphviz.cc:505
Definition diagnostic-path.h:28
if(N >=2) for(unsigned int i
void pp_character(pretty_printer *pp, int c)
Definition pretty-print.cc:2620
void pp_newline(pretty_printer *pp)
Definition pretty-print.cc:2611
void pp_string(pretty_printer *pp, const char *str)
Definition pretty-print.cc:2638
#define ATTRIBUTE_GCC_PPDIAG(m, n)
Definition pretty-print.h:582
virtual void print(writer &w) const =0
virtual ~ast_node()
Definition graphviz.h:85
void dump() const
Definition graphviz.cc:154
Definition graphviz.h:132
void add(id key, id value)
Definition graphviz.h:134
void print(writer &w) const
Definition graphviz.cc:241
std::vector< kv_pair > m_kvs
Definition graphviz.h:139
Definition graphviz.h:219
enum kind m_kind
Definition graphviz.h:229
void print(writer &w) const final override
Definition graphviz.cc:329
attr_stmt(enum kind kind_)
Definition graphviz.h:222
kind
Definition graphviz.h:220
@ edge
Definition graphviz.h:220
@ node
Definition graphviz.h:220
@ graph
Definition graphviz.h:220
Definition graphviz.h:339
void print(writer &w) const final override
Definition graphviz.cc:417
std::vector< node_id > m_node_ids
Definition graphviz.h:348
edge_stmt(node_id src_id, node_id dst_id)
Definition graphviz.h:340
Definition graphviz.h:160
graph(id id_)
Definition graphviz.h:166
graph()
Definition graphviz.h:161
std::unique_ptr< id > m_id
Definition graphviz.h:178
stmt_list m_stmt_list
Definition graphviz.h:179
void add_stmt(std::unique_ptr< stmt > s)
Definition graphviz.h:173
void print(writer &w) const final override
Definition graphviz.cc:288
void print(writer &w) const final override
Definition graphviz.cc:183
enum kind m_kind
Definition graphviz.h:110
static bool is_identifier_p(const char *)
Definition graphviz.cc:214
id(std::string str)
Definition graphviz.cc:166
kind
Definition graphviz.h:94
@ quoted
Definition graphviz.h:96
@ identifier
Definition graphviz.h:95
@ html
Definition graphviz.h:97
std::string m_str
Definition graphviz.h:109
Definition graphviz.h:116
kv_pair(id key, id value)
Definition graphviz.h:117
void print(writer &w) const final override
Definition graphviz.cc:231
id m_value
Definition graphviz.h:126
id m_key
Definition graphviz.h:125
Definition graphviz.h:235
kv_pair m_kv
Definition graphviz.h:242
void print(writer &w) const final override
Definition graphviz.cc:351
kv_stmt(kv_pair kv)
Definition graphviz.h:236
Definition graphviz.h:295
void print(writer &w) const final override
Definition graphviz.cc:359
node_id & operator=(const node_id &other)
Definition graphviz.h:314
node_id(id id_)
Definition graphviz.h:296
node_id(id id_, port port_)
Definition graphviz.h:301
std::unique_ptr< port > m_port
Definition graphviz.h:327
node_id(const node_id &other)
Definition graphviz.h:306
id m_id
Definition graphviz.h:326
Definition graphviz.h:207
id m_id
Definition graphviz.h:215
node_stmt(id id_)
Definition graphviz.h:208
void print(writer &w) const final override
Definition graphviz.cc:320
Definition graphviz.h:258
port(id id_)
Definition graphviz.h:259
std::unique_ptr< enum compass_pt > m_compass_pt
Definition graphviz.h:291
port(id id_, enum compass_pt compass_pt_)
Definition graphviz.h:271
port(enum compass_pt compass_pt_)
Definition graphviz.h:265
void print(writer &w) const final override
Definition graphviz.cc:369
port(const port &other)
Definition graphviz.h:278
std::unique_ptr< id > m_id
Definition graphviz.h:290
Definition graphviz.h:145
void add_attr(id key, id value)
Definition graphviz.cc:278
std::vector< std::unique_ptr< stmt > > m_stmts
Definition graphviz.h:154
void add_edge(node_id src_id, node_id dst_id)
Definition graphviz.cc:270
void add_stmt(std::unique_ptr< stmt > s)
Definition graphviz.h:147
void print(writer &w) const final override
Definition graphviz.cc:258
Definition graphviz.h:196
void set_label(dot::id label)
Definition graphviz.cc:312
void set_attr(id key, id value)
Definition graphviz.h:197
attr_list m_attrs
Definition graphviz.h:203
Definition graphviz.h:190
virtual ~stmt()
Definition graphviz.h:191
virtual void print(writer &w) const =0
Definition graphviz.h:354
subgraph(id id_)
Definition graphviz.h:355
void add_attr(id key, id value)
Definition graphviz.h:366
void add_stmt(std::unique_ptr< stmt > s)
Definition graphviz.h:362
id m_id
Definition graphviz.h:373
stmt_list m_stmt_list
Definition graphviz.h:374
void print(writer &w) const final override
Definition graphviz.cc:431
Definition ira-emit.cc:158