GCC Middle and Back End API Reference
diagnostic-format-sarif.h File Reference
#include "json.h"
#include "diagnostic-format.h"
#include "diagnostic-output-file.h"
Include dependency graph for diagnostic-format-sarif.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  sarif_property_bag
 
class  sarif_object
 
class  sarif_logical_location
 

Enumerations

enum class  sarif_version { v2_1_0 , v2_2_prerelease_2024_08_08 , num_versions }
 

Functions

diagnostic_output_file diagnostic_output_format_open_sarif_file (diagnostic_context &context, line_maps *line_maps, const char *base_file_name)
 
void diagnostic_output_format_init_sarif_stderr (diagnostic_context &context, const line_maps *line_maps, const char *main_input_filename_, bool formatted, enum sarif_version version)
 
void diagnostic_output_format_init_sarif_file (diagnostic_context &context, line_maps *line_maps, const char *main_input_filename_, bool formatted, enum sarif_version version, const char *base_file_name)
 
void diagnostic_output_format_init_sarif_stream (diagnostic_context &context, const line_maps *line_maps, const char *main_input_filename_, bool formatted, enum sarif_version version, FILE *stream)
 
std::unique_ptr< diagnostic_output_formatmake_sarif_sink (diagnostic_context &context, const line_maps &line_maps, const char *main_input_filename_, enum sarif_version version, diagnostic_output_file output_file)
 
std::unique_ptr< sarif_logical_locationmake_sarif_logical_location_object (const logical_location &logical_loc)
 

Enumeration Type Documentation

◆ sarif_version

enum class sarif_version
strong
Enumerator
v2_1_0 
v2_2_prerelease_2024_08_08 
num_versions 

Function Documentation

◆ diagnostic_output_format_init_sarif_file()

void diagnostic_output_format_init_sarif_file ( diagnostic_context & context,
line_maps * line_maps,
const char * main_input_filename_,
bool formatted,
enum sarif_version version,
const char * base_file_name )
extern
Populate CONTEXT in preparation for SARIF output to a file named
BASE_FILE_NAME.sarif.   

References base_file_name(), diagnostic_output_format_init_sarif(), diagnostic_output_format_open_sarif_file(), gcc_assert, make_unique(), and output_file.

Referenced by diagnostic_output_format_init().

◆ diagnostic_output_format_init_sarif_stderr()

void diagnostic_output_format_init_sarif_stderr ( diagnostic_context & context,
const line_maps * line_maps,
const char * main_input_filename_,
bool formatted,
enum sarif_version version )
extern
Populate CONTEXT in preparation for SARIF output to stderr.   

References diagnostic_output_format_init_sarif(), gcc_assert, and make_unique().

Referenced by diagnostic_output_format_init().

◆ diagnostic_output_format_init_sarif_stream()

void diagnostic_output_format_init_sarif_stream ( diagnostic_context & context,
const line_maps * line_maps,
const char * main_input_filename_,
bool formatted,
enum sarif_version version,
FILE * stream )
extern
Populate CONTEXT in preparation for SARIF output to STREAM.   

References diagnostic_output_format_init_sarif(), gcc_assert, and make_unique().

◆ diagnostic_output_format_open_sarif_file()

diagnostic_output_file diagnostic_output_format_open_sarif_file ( diagnostic_context & context,
line_maps * line_maps,
const char * base_file_name )
extern
Attempt to open BASE_FILE_NAME.sarif for writing.
Return a non-null diagnostic_output_file,
or return a null diagnostic_output_file and complain to CONTEXT
using LINE_MAPS.   

References base_file_name(), diagnostic_context::emit_diagnostic_with_group(), fopen, and UNKNOWN_LOCATION.

Referenced by diagnostic_output_format_init_sarif_file(), and gcc::diagnostics_output_spec::sarif_scheme_handler::make_sink().

◆ make_sarif_logical_location_object()

std::unique_ptr< sarif_logical_location > make_sarif_logical_location_object ( const logical_location & logical_loc)
extern

◆ make_sarif_sink()

std::unique_ptr< diagnostic_output_format > make_sarif_sink ( diagnostic_context & context,
const line_maps & line_maps,
const char * main_input_filename_,
enum sarif_version version,
diagnostic_output_file output_file )
extern