#ifndef MRC_DIAGNOSTIC_H
#define MRC_DIAGNOSTIC_H
#include "mrc_ccontext.h"
MRC_BEGIN_DECL
typedef enum {
MRC_PARSER_WARNING = 0,
MRC_PARSER_ERROR = 1,
MRC_GENERATOR_WARNING = 2,
MRC_GENERATOR_ERROR = 3,
} mrc_diagnostic_code;
typedef struct mrc_diagnostic_list {
mrc_diagnostic_code code;
char *message;
uint32_t line;
uint32_t column;
struct mrc_diagnostic_list *next;
} mrc_diagnostic_list;
struct mrc_ccontext;
void mrc_diagnostic_list_append(struct mrc_ccontext *c, const uint8_t *location_start, const char *message, mrc_diagnostic_code code);
void mrc_diagnostic_list_free(struct mrc_ccontext *c);
MRC_END_DECL
#endif