pub trait CodeGen: Debug {
    type Context;
    type Options;

    // Required method
    fn to_rust(
        self,
        ctx: Self::Context,
        options: Self::Options
    ) -> Result<TokenStream, Box<dyn Error>>;

    // Provided method
    fn get_docstring(&self) -> Option<String> { ... }
}
Expand description

Reexport the CodeGen from to_tokenstream A trait for an object that can be converted to Rust code. Any data structure implementing this trait can be converted into a proc_macro2::TokenStream.

Required Associated Types§

source

type Context

A type, generally an enum, that passes the code generator the context of the node.

source

type Options

A struct representing the set of compilation options.

Required Methods§

source

fn to_rust( self, ctx: Self::Context, options: Self::Options ) -> Result<TokenStream, Box<dyn Error>>

A trait method to output Rust code in a general sense. The output should be stream of Rust tokens, however, it is not guaranteed that it will fully compile because of scoping errors and other checks that don’t occur until later.

Provided Methods§

source

fn get_docstring(&self) -> Option<String>

A trait method for extracting a docstring from an object that can have a docstring.

Implementors§