20#ifndef LIBGDIAGNOSTICSPP_H
21#define LIBGDIAGNOSTICSPP_H
136 other.m_inner =
nullptr;
137 other.m_owned =
false;
144 other.m_inner =
nullptr;
145 other.m_owned =
false;
158 unsigned stack_depth,
159 const char *fmt, ...)
165 unsigned stack_depth,
194 set_cwe (
unsigned cwe_id);
197 add_rule (
const char *title,
const char *url);
211 const char *addition);
214 const char *addition);
225 finish (
const char *fmt, ...)
230 finish_va (const
char *fmt, va_list *args)
260 : m_inner (other.m_inner),
261 m_owned (other.m_owned)
300 file main_input_file,
317 new_file (
const char *name,
318 const char *sarif_source_language)
330 new_location_from_file_line_column (
file f,
346 const
char *short_name,
347 const
char *fully_qualified_name,
348 const
char *decorated_name);
355 new_execution_path ();
370file::set_buffered_content (const
char *
data,
size_t sz)
380 unsigned stack_depth,
381 const char *fmt, ...)
384 va_start (args, fmt);
397 unsigned stack_depth,
459 const char *addition)
468 const char *addition)
496 path.m_owned =
false;
500diagnostic::finish (
const char *fmt, ...)
509diagnostic::finish_va (
const char *fmt, va_list *args)
518 const char *sarif_source_language)
569 const char *short_name,
570 const char *fully_qualified_name,
571 const char *decorated_name)
578 fully_qualified_name,
Definition genoutput.cc:150
Definition libgdiagnostics++.h:189
diagnostic(::diagnostic *d)
Definition libgdiagnostics++.h:191
void void ::diagnostic *const m_inner
Definition libgdiagnostics++.h:234
Definition libgdiagnostics++.h:116
execution_path(const diagnostic_execution_path *path)
Definition libgdiagnostics++.h:124
execution_path()
Definition libgdiagnostics++.h:118
diagnostic_event_id diagnostic_event_id add_event_va(physical_location physical_loc, logical_location logical_loc, unsigned stack_depth, const char *fmt, va_list *args) LIBGDIAGNOSTICS_PARAM_GCC_FORMAT_STRING(5
Definition libgdiagnostics++.h:395
execution_path(const execution_path &other)=delete
diagnostic_event_id diagnostic_event_id diagnostic_execution_path * m_inner
Definition libgdiagnostics++.h:170
execution_path(execution_path &&other)
Definition libgdiagnostics++.h:132
execution_path & operator=(const execution_path &other)=delete
bool m_owned
Definition libgdiagnostics++.h:171
diagnostic_event_id add_event(physical_location physical_loc, logical_location logical_loc, unsigned stack_depth, const char *fmt,...) LIBGDIAGNOSTICS_PARAM_GCC_FORMAT_STRING(5
Definition libgdiagnostics++.h:378
~execution_path()
Definition libgdiagnostics++.h:149
execution_path(diagnostic_execution_path *path)
Definition libgdiagnostics++.h:120
Definition libgdiagnostics++.h:73
file(diagnostic_file *file)
Definition libgdiagnostics++.h:76
file(const file &other)
Definition libgdiagnostics++.h:77
file & operator=(const file &other)
Definition libgdiagnostics++.h:78
void set_buffered_content(const char *data, size_t sz)
Definition libgdiagnostics++.h:370
diagnostic_file * m_inner
Definition libgdiagnostics++.h:82
file()
Definition libgdiagnostics++.h:75
Definition libgdiagnostics++.h:177
manager & m_mgr
Definition libgdiagnostics++.h:183
~group()
Definition libgdiagnostics++.h:419
Definition libgdiagnostics++.h:102
const diagnostic_logical_location * m_inner
Definition libgdiagnostics++.h:110
logical_location(const diagnostic_logical_location *logical_loc)
Definition libgdiagnostics++.h:106
logical_location()
Definition libgdiagnostics++.h:104
Definition libgdiagnostics++.h:240
manager(diagnostic_manager *inner, bool owned)
Definition libgdiagnostics++.h:247
execution_path new_execution_path()
Definition libgdiagnostics++.h:592
~manager()
Definition libgdiagnostics++.h:252
manager(manager &&other)
Definition libgdiagnostics++.h:259
physical_location new_location_from_file_and_line(file f, diagnostic_line_num_t line_num)
Definition libgdiagnostics++.h:525
diagnostic_manager * m_inner
Definition libgdiagnostics++.h:361
manager()
Definition libgdiagnostics++.h:242
void set_tool_name(const char *value)
Definition libgdiagnostics++.h:267
physical_location new_location_from_file_line_column(file f, line_num_t line_num, column_num_t column_num)
Definition libgdiagnostics++.h:535
void debug_dump(file f, FILE *out)
diagnostic begin_diagnostic(enum diagnostic_level level)
Definition libgdiagnostics++.h:598
file new_file(const char *name, const char *sarif_source_language) LIBGDIAGNOSTICS_PARAM_CAN_BE_NULL(3)
Definition libgdiagnostics++.h:517
manager(const manager &other)=delete
physical_location new_location_from_range(physical_location loc_caret, physical_location loc_start, physical_location loc_end)
Definition libgdiagnostics++.h:547
void set_version_string(const char *value)
Definition libgdiagnostics++.h:279
void write_patch(FILE *dst_stream)
Definition libgdiagnostics++.h:309
logical_location new_logical_location(enum diagnostic_logical_location_kind_t kind, logical_location parent, const char *short_name, const char *fully_qualified_name, const char *decorated_name)
Definition libgdiagnostics++.h:567
text_sink add_text_sink(FILE *dst_stream, enum diagnostic_colorize colorize)
Definition libgdiagnostics++.h:291
void add_sarif_sink(FILE *dst_stream, file main_input_file, enum diagnostic_sarif_version version)
Definition libgdiagnostics++.h:299
void set_version_url(const char *value)
Definition libgdiagnostics++.h:285
void set_full_name(const char *value)
Definition libgdiagnostics++.h:273
Definition libgdiagnostics++.h:88
const diagnostic_physical_location * m_inner
Definition libgdiagnostics++.h:96
physical_location()
Definition libgdiagnostics++.h:90
physical_location(const diagnostic_physical_location *location)
Definition libgdiagnostics++.h:92
Definition libgdiagnostics++.h:41
void set_labelled_source_colorization_enabled(int value)
Definition libgdiagnostics++.h:61
void set_source_printing_enabled(int value)
Definition libgdiagnostics++.h:49
void set_colorize(enum diagnostic_colorize colorize)
Definition libgdiagnostics++.h:55
diagnostic_text_sink * m_inner
Definition libgdiagnostics++.h:67
text_sink(diagnostic_text_sink *inner)
Definition libgdiagnostics++.h:43
void diagnostic_manager_release(diagnostic_manager *diag_mgr)
Definition libgdiagnostics.cc:1137
void diagnostic_manager_set_full_name(diagnostic_manager *diag_mgr, const char *value)
Definition libgdiagnostics.cc:1157
diagnostic_text_sink * diagnostic_manager_add_text_sink(diagnostic_manager *diag_mgr, FILE *dst_stream, enum diagnostic_colorize colorize)
Definition libgdiagnostics.cc:1193
const diagnostic_logical_location * diagnostic_manager_new_logical_location(diagnostic_manager *diag_mgr, enum diagnostic_logical_location_kind_t kind, const diagnostic_logical_location *parent, const char *short_name, const char *fully_qualified_name, const char *decorated_name)
Definition libgdiagnostics.cc:1410
void diagnostic_add_fix_it_hint_delete(diagnostic *diag, const diagnostic_physical_location *loc)
Definition libgdiagnostics.cc:1634
void diagnostic_manager_write_patch(diagnostic_manager *diag_mgr, FILE *dst_stream)
Definition libgdiagnostics.cc:1276
void diagnostic_manager_add_sarif_sink(diagnostic_manager *diag_mgr, FILE *dst_stream, const diagnostic_file *main_input_file, enum diagnostic_sarif_version version)
Definition libgdiagnostics.cc:1243
void diagnostic_text_sink_set_labelled_source_colorization_enabled(diagnostic_text_sink *text_sink, int value)
Definition libgdiagnostics.cc:1231
void diagnostic_manager_end_group(diagnostic_manager *diag_mgr)
Definition libgdiagnostics.cc:1494
const diagnostic_physical_location * diagnostic_manager_new_location_from_range(diagnostic_manager *diag_mgr, const diagnostic_physical_location *loc_caret, const diagnostic_physical_location *loc_start, const diagnostic_physical_location *loc_end)
Definition libgdiagnostics.cc:1365
void diagnostic_add_rule(diagnostic *diag, const char *title, const char *url)
Definition libgdiagnostics.cc:1525
diagnostic * diagnostic_begin(diagnostic_manager *diag_mgr, enum diagnostic_level level)
Definition libgdiagnostics.cc:1503
void diagnostic_text_sink_set_colorize(diagnostic_text_sink *text_sink, enum diagnostic_colorize colorize)
Definition libgdiagnostics.cc:1220
diagnostic_manager * diagnostic_manager_new(void)
Definition libgdiagnostics.cc:1129
void diagnostic_set_location(diagnostic *diag, const diagnostic_physical_location *loc)
Definition libgdiagnostics.cc:1537
void diagnostic_add_fix_it_hint_insert_before(diagnostic *diag, const diagnostic_physical_location *loc, const char *addition)
Definition libgdiagnostics.cc:1586
void diagnostic_manager_debug_dump_logical_location(const diagnostic_manager *diag_mgr, const diagnostic_logical_location *loc, FILE *out)
Definition libgdiagnostics.cc:1427
diagnostic_event_id diagnostic_execution_path_add_event_va(diagnostic_execution_path *path, const diagnostic_physical_location *physical_loc, const diagnostic_logical_location *logical_loc, unsigned stack_depth, const char *gmsgid, va_list *args)
Definition libgdiagnostics.cc:1710
const diagnostic_physical_location * diagnostic_manager_new_location_from_file_line_column(diagnostic_manager *diag_mgr, const diagnostic_file *file, diagnostic_line_num_t line_num, diagnostic_column_num_t column_num)
Definition libgdiagnostics.cc:1349
void diagnostic_manager_set_version_url(diagnostic_manager *diag_mgr, const char *value)
Definition libgdiagnostics.cc:1181
void diagnostic_file_set_buffered_content(diagnostic_file *file, const char *buf, size_t sz)
Definition libgdiagnostics.cc:1301
void diagnostic_set_logical_location(diagnostic *diag, const diagnostic_logical_location *logical_loc)
Definition libgdiagnostics.cc:1575
void diagnostic_add_fix_it_hint_replace(diagnostic *diag, const diagnostic_physical_location *loc, const char *replacement)
Definition libgdiagnostics.cc:1618
void diagnostic_manager_debug_dump_location(const diagnostic_manager *diag_mgr, const diagnostic_physical_location *loc, FILE *out)
Definition libgdiagnostics.cc:1380
void diagnostic_manager_set_version_string(diagnostic_manager *diag_mgr, const char *value)
Definition libgdiagnostics.cc:1169
void diagnostic_add_location_with_label(diagnostic *diag, const diagnostic_physical_location *loc, const char *text)
Definition libgdiagnostics.cc:1561
diagnostic_file * diagnostic_manager_new_file(diagnostic_manager *diag_mgr, const char *name, const char *sarif_source_language)
Definition libgdiagnostics.cc:1288
void diagnostic_manager_begin_group(diagnostic_manager *diag_mgr)
Definition libgdiagnostics.cc:1485
void diagnostic_manager_set_tool_name(diagnostic_manager *diag_mgr, const char *value)
Definition libgdiagnostics.cc:1145
void diagnostic_set_cwe(diagnostic *diag, unsigned cwe_id)
Definition libgdiagnostics.cc:1514
void diagnostic_finish_va(diagnostic *diag, const char *gmsgid, va_list *args)
Definition libgdiagnostics.cc:1743
void diagnostic_execution_path_release(diagnostic_execution_path *path)
Definition libgdiagnostics.cc:1679
void diagnostic_add_fix_it_hint_insert_after(diagnostic *diag, const diagnostic_physical_location *loc, const char *addition)
Definition libgdiagnostics.cc:1602
void diagnostic_text_sink_set_source_printing_enabled(diagnostic_text_sink *text_sink, int value)
Definition libgdiagnostics.cc:1209
const diagnostic_physical_location * diagnostic_manager_new_location_from_file_and_line(diagnostic_manager *diag_mgr, const diagnostic_file *file, diagnostic_line_num_t linenum)
Definition libgdiagnostics.cc:1336
diagnostic_execution_path * diagnostic_manager_new_execution_path(diagnostic_manager *manager)
Definition libgdiagnostics.cc:1657
void diagnostic_take_execution_path(diagnostic *diag, diagnostic_execution_path *path)
Definition libgdiagnostics.cc:1667
#define LIBGDIAGNOSTICS_PARAM_CAN_BE_NULL(ARG_NUM)
Definition libgdiagnostics.h:50
int diagnostic_event_id
Definition libgdiagnostics.h:215
#define LIBGDIAGNOSTICS_PARAM_GCC_FORMAT_STRING(FMT_ARG_NUM, ARGS_ARG_NUM)
Definition libgdiagnostics.h:53
#define LIBGDIAGNOSTICS_PARAM_MUST_BE_NON_NULL(ARG_NUM)
Definition libgdiagnostics.h:47
diagnostic_logical_location_kind_t
Definition libgdiagnostics.h:163
unsigned int diagnostic_line_num_t
Definition libgdiagnostics.h:148
diagnostic_sarif_version
Definition libgdiagnostics.h:90
diagnostic_colorize
Definition libgdiagnostics.h:81
unsigned int diagnostic_column_num_t
Definition libgdiagnostics.h:149
diagnostic_level
Definition libgdiagnostics.h:203
struct diagnostic diagnostic
Definition libgdiagnostics.h:200
Definition libgdiagnostics++.h:25
diagnostic_line_num_t line_num_t
Definition libgdiagnostics++.h:27
diagnostic_column_num_t column_num_t
Definition libgdiagnostics++.h:28
static void const char va_list ap
Definition read-md.cc:205
Definition libgdiagnostics.cc:765
Definition libgdiagnostics.cc:110
Definition libgdiagnostics.cc:165
Definition libgdiagnostics.cc:365
Definition libgdiagnostics.cc:143
Definition libgdiagnostics.cc:270
Definition libgdiagnostics.cc:824
void add_location_with_label(const diagnostic_physical_location *loc, const char *text)
Definition libgdiagnostics.cc:871
void set_cwe(unsigned cwe_id)
Definition libgdiagnostics.cc:845
void set_location(const diagnostic_physical_location *loc)
Definition libgdiagnostics.cc:858
void take_execution_path(diagnostic_execution_path *path)
Definition libgdiagnostics.cc:901
void add_rule(const char *title, const char *url)
Definition libgdiagnostics.cc:850
void set_logical_location(const diagnostic_logical_location *logical_loc)
Definition libgdiagnostics.cc:883
#define true
Definition system.h:887
#define false
Definition system.h:888