Modules

Macros

Chains multiple visitor.

Structs

Wraps internal representation of serialized data for exchanging data between plugin to the host. Consumers should not rely on specific details of byte format struct contains: it is strict implementation detail which can change anytime.

An arbitary metadata for given Program to run transform in plugin. These are information not directly attached to Program’s AST structures but required for certain transforms.

A wrapper type for the structures to be passed into plugins serializes the contained value out-of-line so that newer versions can be viewed as the older version.

Enums

Enum for possible errors while running transform via plugin. This error indicates internal operation failure either in plugin_runner or plugin_macro. Plugin’s transform fn itself does not allow to return error - instead it should use provided handler to emit corresponding error to the host.

Constants

Compile-time version constant for the AST struct schema’s version.

Functions

Simple wrapper around constructing PluginSerializedBytes from raw ptr to call deserialize to support common workflow on both of runtime (host / plugin) to instantiate a struct from allocated / copied ptr.

Attribute Macros