GCC Middle and Back End API Reference
diagnostic-diagram.h
Go to the documentation of this file.
1/* Support for diagrams within diagnostics.
2 Copyright (C) 2023-2024 Free Software Foundation, Inc.
3 Contributed by David Malcolm <dmalcolm@redhat.com>
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free
9Software Foundation; either version 3, or (at your option) any later
10version.
11
12GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13WARRANTY; without even the implied warranty of MERCHANTABILITY or
14FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15for more details.
16
17You should have received a copy of the GNU General Public License
18along with GCC; see the file COPYING3. If not see
19<http://www.gnu.org/licenses/>. */
20
21#ifndef GCC_DIAGNOSTIC_DIAGRAM_H
22#define GCC_DIAGNOSTIC_DIAGRAM_H
23
24namespace text_art
25{
26 class canvas;
27} // namespace text_art
28
29/* A text art diagram, along with an "alternative text" string
30 describing it. */
31
33{
34 public:
35 diagnostic_diagram (const text_art::canvas &canvas,
36 const char *alt_text)
37 : m_canvas (canvas),
38 m_alt_text (alt_text)
39 {
40 gcc_assert (alt_text);
41 }
42
43 const text_art::canvas &get_canvas () const { return m_canvas; }
44 const char *get_alt_text () const { return m_alt_text; }
45
46 private:
47 const text_art::canvas &m_canvas;
48 const char *const m_alt_text;
49};
50
51#endif /* ! GCC_DIAGNOSTIC_DIAGRAM_H */
Definition diagnostic-diagram.h:33
diagnostic_diagram(const text_art::canvas &canvas, const char *alt_text)
Definition diagnostic-diagram.h:35
const text_art::canvas & get_canvas() const
Definition diagnostic-diagram.h:43
const char * get_alt_text() const
Definition diagnostic-diagram.h:44
const char *const m_alt_text
Definition diagnostic-diagram.h:48
const text_art::canvas & m_canvas
Definition diagnostic-diagram.h:47
Definition diagnostic-diagram.h:25
#define gcc_assert(EXPR)
Definition system.h:821