Crate ra_ap_proc_macro_api

Source
Expand description

Client-side Proc-Macro crate

We separate proc-macro expanding logic to an extern program to allow different implementations (e.g. wasm or dylib loading). And this crate is used to provide basic infrastructure for communication between two processes: Client (RA itself), Server (the external program)

Modules§

legacy_protocol

Structs§

MacroDylib
Represents a dynamically loaded library containing procedural macros.
ProcMacro
A handle to a specific proc-macro (a #[proc_macro] annotated function).
ProcMacroClient
A handle to an external process which load dylibs with macros (.so or .dll) and runs actual macro expansion functions.
ServerError
Represents errors encountered when communicating with the proc-macro server.

Enums§

ProcMacroKind
Represents different kinds of procedural macros that can be expanded by the external server.