Trait ligen::generator::GenericFFIGenerator [−][src]
pub trait GenericFFIGenerator { fn generate_parameters(
_context: &Context,
function: &Visitor<Visitor<(), Implementation>, Function>
) -> TokenStream { ... } fn generate_arguments(
_context: &Context,
function: &Visitor<Visitor<(), Implementation>, Function>
) -> TokenStream { ... } fn to_marshal_output(type_: &Type) -> TokenStream { ... } fn to_marshal_parameter(type_: &Type) -> TokenStream { ... } fn generate_output(_context: &Context, output: &Option<Type>) -> TokenStream { ... } fn generate_function_signature(
context: &Context,
visitor: &Visitor<Visitor<(), Implementation>, Function>
) -> TokenStream { ... } fn generate_function_block(
context: &Context,
visitor: &Visitor<Visitor<(), Implementation>, Function>
) -> TokenStream { ... } fn generate_function(
context: &Context,
visitor: &Visitor<Visitor<(), Implementation>, Function>
) -> TokenStream { ... } fn generate_drop(visitor: &Visitor<(), Implementation>) -> TokenStream { ... } fn generate(
context: &Context,
implementation: &Visitor<(), Implementation>
) -> TokenStream { ... } }
Expand description
A generic FFI generator which can be used for most languages.
Provided methods
fn generate_parameters(
_context: &Context,
function: &Visitor<Visitor<(), Implementation>, Function>
) -> TokenStream
fn generate_parameters(
_context: &Context,
function: &Visitor<Visitor<(), Implementation>, Function>
) -> TokenStream
Generate the function parameters.
fn generate_arguments(
_context: &Context,
function: &Visitor<Visitor<(), Implementation>, Function>
) -> TokenStream
fn generate_arguments(
_context: &Context,
function: &Visitor<Visitor<(), Implementation>, Function>
) -> TokenStream
Generate the function call arguments and its conversions.
fn to_marshal_output(type_: &Type) -> TokenStream
fn to_marshal_output(type_: &Type) -> TokenStream
Marshal type.
fn to_marshal_parameter(type_: &Type) -> TokenStream
fn to_marshal_parameter(type_: &Type) -> TokenStream
Marshal type.
fn generate_output(_context: &Context, output: &Option<Type>) -> TokenStream
fn generate_output(_context: &Context, output: &Option<Type>) -> TokenStream
Generate the function output.
fn generate_function_signature(
context: &Context,
visitor: &Visitor<Visitor<(), Implementation>, Function>
) -> TokenStream
fn generate_function_signature(
context: &Context,
visitor: &Visitor<Visitor<(), Implementation>, Function>
) -> TokenStream
Generate the function
fn generate_function_block(
context: &Context,
visitor: &Visitor<Visitor<(), Implementation>, Function>
) -> TokenStream
fn generate_function_block(
context: &Context,
visitor: &Visitor<Visitor<(), Implementation>, Function>
) -> TokenStream
Generate the function
fn generate_function(
context: &Context,
visitor: &Visitor<Visitor<(), Implementation>, Function>
) -> TokenStream
fn generate_function(
context: &Context,
visitor: &Visitor<Visitor<(), Implementation>, Function>
) -> TokenStream
Generate an extern function for an implementation method.
fn generate_drop(visitor: &Visitor<(), Implementation>) -> TokenStream
fn generate_drop(visitor: &Visitor<(), Implementation>) -> TokenStream
Generate drop extern.
fn generate(
context: &Context,
implementation: &Visitor<(), Implementation>
) -> TokenStream
fn generate(
context: &Context,
implementation: &Visitor<(), Implementation>
) -> TokenStream
Generate externs for Constants and Methods.