Ruby 4.1.0dev (2026-10-28 revision 8eaa862cdf8b667d7ae1c72d1a4d304c25050eec)
prettyprint.h
Go to the documentation of this file.
1
6#ifndef PRISM_PRETTYPRINT_H
7#define PRISM_PRETTYPRINT_H
8
9#include "prism/excludes.h"
10
11#ifndef PRISM_EXCLUDE_PRETTYPRINT
12
15
16#include "prism/ast.h"
17#include "prism/buffer.h"
18#include "prism/parser.h"
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
31PRISM_EXPORTED_FUNCTION void pm_prettyprint(pm_buffer_t *output_buffer, const pm_parser_t *parser, const pm_node_t *node) PRISM_NONNULL(1, 2, 3);
32
33#ifdef __cplusplus
34}
35#endif
36
37#endif
38
39#endif
A header file that defines macros to exclude certain features of the prism library.
#define PRISM_EXPORTED_FUNCTION
By default, we compile with -fvisibility=hidden.
Definition exported.h:20
The parser used to parse Ruby source.
PRISM_EXPORTED_FUNCTION void pm_prettyprint(pm_buffer_t *output_buffer, const pm_parser_t *parser, const pm_node_t *node) PRISM_NONNULL(1
Pretty-prints the AST represented by the given node to the given buffer.
A wrapper around a contiguous block of allocated memory.
#define PRISM_NONNULL(...)
Mark the parameters of a function as non-null.
Definition nonnull.h:13
This is the base structure that represents a node in the syntax tree.
Definition ast.h:1090