Ruby: pm_diagnostic_t Struct Reference

Ruby 3.4.3p32 (2025-04-14 revision d0b7e5b6a04bde21ca483d20a1546b28b401c2d4)

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 359 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 367 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 383 of file diagnostic.h.

## ◆ location

pm_location_t pm_diagnostic_t::location

The location of the diagnostic in the source.

Definition at line 364 of file diagnostic.h.

## ◆ message

const char* pm_diagnostic_t::message

The message associated with the diagnostic.

Definition at line 370 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 361 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 377 of file diagnostic.h.

Referenced by pm_diagnostic_list_free().

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

- prism/diagnostic.h