Ruby: pm_diagnostic_t Struct Reference

Ruby 3.4.8p72 (2025-12-17 revision 995b59f66677d44767ce9faac6957e5543617ff9)

Data Fields
pm_diagnostic_t Struct Reference

This struct represents a diagnostic generated during parsing. More...

`#include <diagnostic.h>`

## Data Fields
pm_list_node_t | node
| The embedded base node.
pm_location_t | location
| The location of the diagnostic in the source.
pm_diagnostic_id_t | diag_id
| The ID of the diagnostic.
const char * | message
| The message associated with the diagnostic.
bool | owned
| Whether or not the memory related to the message of this diagnostic is owned by this diagnostic.
uint8_t | level
| The level of the diagnostic, see `pm_error_level_t` and `pm_warning_level_t` for possible values.
Data Fields inherited from pm_list_node
struct pm_list_node * | next
| A pointer to the next node in the list.

## Detailed Description

This struct represents a diagnostic generated during parsing.

Definition at line 364 of file diagnostic.h.

## Field Documentation

## ◆ diag_id

pm_diagnostic_id_t pm_diagnostic_t::diag_id

The ID of the diagnostic.

Definition at line 372 of file diagnostic.h.

## ◆ level

uint8_t pm_diagnostic_t::level

The level of the diagnostic, see `pm_error_level_t` and `pm_warning_level_t` for possible values.

Definition at line 388 of file diagnostic.h.

## ◆ location

pm_location_t pm_diagnostic_t::location

The location of the diagnostic in the source.

Definition at line 369 of file diagnostic.h.

Referenced by pm_diagnostic_list_append(), and pm_diagnostic_list_append_format().

## ◆ message

const char* pm_diagnostic_t::message

The message associated with the diagnostic.

Definition at line 375 of file diagnostic.h.

Referenced by pm_diagnostic_list_free().

## ◆ node

pm_list_node_t pm_diagnostic_t::node

The embedded base node.

Definition at line 366 of file diagnostic.h.

Referenced by pm_diagnostic_list_free().

## ◆ owned

bool pm_diagnostic_t::owned

Whether or not the memory related to the message of this diagnostic is owned by this diagnostic.

If it is, it needs to be freed when the diagnostic is freed.

Definition at line 382 of file diagnostic.h.

Referenced by pm_diagnostic_list_free().

The documentation for this struct was generated from the following file:

- prism/diagnostic.h