Trait CSharpWriter

Source
pub trait CSharpWriter {
Show 47 methods // Required methods fn config(&self) -> &Config; fn inventory(&self) -> &Inventory; fn converter(&self) -> &Converter; fn overloads(&self) -> &[Box<dyn OverloadWriter>]; // Provided methods fn helper(&self) -> Helper<'_> { ... } fn write_file_header_comments( &self, w: &mut IndentWriter<'_>, ) -> Result<(), Error> { ... } fn debug(&self, w: &mut IndentWriter<'_>, marker: &str) -> Result<(), Error> { ... } fn write_imports(&self, w: &mut IndentWriter<'_>) -> Result<(), Error> { ... } fn write_native_lib_string( &self, w: &mut IndentWriter<'_>, ) -> Result<(), Error> { ... } fn write_abi_guard(&self, w: &mut IndentWriter<'_>) -> Result<(), Error> { ... } fn write_constants(&self, w: &mut IndentWriter<'_>) -> Result<(), Error> { ... } fn write_constant( &self, w: &mut IndentWriter<'_>, constant: &Constant, ) -> Result<(), Error> { ... } fn write_functions(&self, w: &mut IndentWriter<'_>) -> Result<(), Error> { ... } fn write_function( &self, w: &mut IndentWriter<'_>, function: &Function, write_for: WriteFor, ) -> Result<(), Error> { ... } fn write_documentation( &self, w: &mut IndentWriter<'_>, documentation: &Documentation, ) -> Result<(), Error> { ... } fn write_function_annotation( &self, w: &mut IndentWriter<'_>, function: &Function, ) -> Result<(), Error> { ... } fn write_function_declaration( &self, w: &mut IndentWriter<'_>, function: &Function, ) -> Result<(), Error> { ... } fn write_type_definitions( &self, w: &mut IndentWriter<'_>, ) -> Result<(), Error> { ... } fn write_type_definition( &self, w: &mut IndentWriter<'_>, the_type: &CType, ) -> Result<(), Error> { ... } fn write_type_definition_ffibool( &self, w: &mut IndentWriter<'_>, ) -> Result<(), Error> { ... } fn write_type_definition_fn_pointer( &self, w: &mut IndentWriter<'_>, the_type: &FnPointerType, ) -> Result<(), Error> { ... } fn write_type_definition_named_callback( &self, w: &mut IndentWriter<'_>, the_type: &NamedCallback, ) -> Result<(), Error> { ... } fn write_type_definition_named_callback_body( &self, w: &mut IndentWriter<'_>, the_type: &NamedCallback, ) -> Result<(), Error> { ... } fn write_type_definition_fn_pointer_annotation( &self, w: &mut IndentWriter<'_>, _the_type: &FnPointerType, ) -> Result<(), Error> { ... } fn write_type_definition_fn_pointer_body( &self, w: &mut IndentWriter<'_>, the_type: &FnPointerType, ) -> Result<(), Error> { ... } fn write_type_definition_enum( &self, w: &mut IndentWriter<'_>, the_type: &EnumType, write_for: WriteFor, ) -> Result<(), Error> { ... } fn write_type_definition_enum_variant( &self, w: &mut IndentWriter<'_>, variant: &Variant, _the_type: &EnumType, write_for: WriteFor, ) -> Result<(), Error> { ... } fn write_type_definition_composite( &self, w: &mut IndentWriter<'_>, the_type: &CompositeType, ) -> Result<(), Error> { ... } fn write_type_definition_composite_annotation( &self, w: &mut IndentWriter<'_>, the_type: &CompositeType, ) -> Result<(), Error> { ... } fn write_type_definition_composite_body( &self, w: &mut IndentWriter<'_>, the_type: &CompositeType, write_for: WriteFor, ) -> Result<(), Error> { ... } fn write_type_definition_composite_body_field( &self, w: &mut IndentWriter<'_>, field: &Field, the_type: &CompositeType, ) -> Result<(), Error> { ... } fn namespace_for_id(&self, id: &str) -> String { ... } fn write_namespace_context( &self, w: &mut IndentWriter<'_>, f: impl FnOnce(&mut IndentWriter<'_>) -> Result<(), Error>, ) -> Result<(), Error> { ... } fn write_class_context( &self, class_name: &str, w: &mut IndentWriter<'_>, f: impl FnOnce(&mut IndentWriter<'_>) -> Result<(), Error>, ) -> Result<(), Error> { ... } fn should_emit_delegate(&self) -> bool { ... } fn has_emittable_functions(&self, functions: &[Function]) -> bool { ... } fn has_emittable_constants(&self, constants: &[Constant]) -> bool { ... } fn should_emit_by_meta(&self, meta: &Meta) -> bool { ... } fn should_emit_by_type(&self, t: &CType) -> bool { ... } fn write_patterns(&self, w: &mut IndentWriter<'_>) -> Result<(), Error> { ... } fn write_pattern_option( &self, w: &mut IndentWriter<'_>, slice: &CompositeType, ) -> Result<(), Error> { ... } fn write_pattern_slice( &self, w: &mut IndentWriter<'_>, slice: &CompositeType, ) -> Result<(), Error> { ... } fn write_pattern_slice_mut( &self, w: &mut IndentWriter<'_>, slice: &CompositeType, ) -> Result<(), Error> { ... } fn write_pattern_service( &self, w: &mut IndentWriter<'_>, class: &Service, ) -> Result<(), Error> { ... } fn write_pattern_service_method( &self, w: &mut IndentWriter<'_>, class: &Service, function: &Function, rval: &str, fn_name: &str, write_contxt_by_ref: bool, is_ctor: bool, write_for: WriteFor, ) -> Result<(), Error> { ... } fn write_builtins(&self, w: &mut IndentWriter<'_>) -> Result<(), Error> { ... } fn write_all(&self, w: &mut IndentWriter<'_>) -> Result<(), Error> { ... }
}
Expand description

Writes the C# file format, impl this trait to customize output.

Required Methods§

Source

fn config(&self) -> &Config

Returns the user config.

Source

fn inventory(&self) -> &Inventory

Returns the library to produce bindings for.

Source

fn converter(&self) -> &Converter

Source

fn overloads(&self) -> &[Box<dyn OverloadWriter>]

Provided Methods§

Source

fn helper(&self) -> Helper<'_>

Source

fn write_file_header_comments( &self, w: &mut IndentWriter<'_>, ) -> Result<(), Error>

Source

fn debug(&self, w: &mut IndentWriter<'_>, marker: &str) -> Result<(), Error>

Source

fn write_imports(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

Source

fn write_native_lib_string(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

Source

fn write_abi_guard(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

Source

fn write_constants(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

Source

fn write_constant( &self, w: &mut IndentWriter<'_>, constant: &Constant, ) -> Result<(), Error>

Source

fn write_functions(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

Source

fn write_function( &self, w: &mut IndentWriter<'_>, function: &Function, write_for: WriteFor, ) -> Result<(), Error>

Source

fn write_documentation( &self, w: &mut IndentWriter<'_>, documentation: &Documentation, ) -> Result<(), Error>

Source

fn write_function_annotation( &self, w: &mut IndentWriter<'_>, function: &Function, ) -> Result<(), Error>

Source

fn write_function_declaration( &self, w: &mut IndentWriter<'_>, function: &Function, ) -> Result<(), Error>

Source

fn write_type_definitions(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

Source

fn write_type_definition( &self, w: &mut IndentWriter<'_>, the_type: &CType, ) -> Result<(), Error>

Source

fn write_type_definition_ffibool( &self, w: &mut IndentWriter<'_>, ) -> Result<(), Error>

Source

fn write_type_definition_fn_pointer( &self, w: &mut IndentWriter<'_>, the_type: &FnPointerType, ) -> Result<(), Error>

Source

fn write_type_definition_named_callback( &self, w: &mut IndentWriter<'_>, the_type: &NamedCallback, ) -> Result<(), Error>

Source

fn write_type_definition_named_callback_body( &self, w: &mut IndentWriter<'_>, the_type: &NamedCallback, ) -> Result<(), Error>

Source

fn write_type_definition_fn_pointer_annotation( &self, w: &mut IndentWriter<'_>, _the_type: &FnPointerType, ) -> Result<(), Error>

Source

fn write_type_definition_fn_pointer_body( &self, w: &mut IndentWriter<'_>, the_type: &FnPointerType, ) -> Result<(), Error>

Source

fn write_type_definition_enum( &self, w: &mut IndentWriter<'_>, the_type: &EnumType, write_for: WriteFor, ) -> Result<(), Error>

Source

fn write_type_definition_enum_variant( &self, w: &mut IndentWriter<'_>, variant: &Variant, _the_type: &EnumType, write_for: WriteFor, ) -> Result<(), Error>

Source

fn write_type_definition_composite( &self, w: &mut IndentWriter<'_>, the_type: &CompositeType, ) -> Result<(), Error>

Source

fn write_type_definition_composite_annotation( &self, w: &mut IndentWriter<'_>, the_type: &CompositeType, ) -> Result<(), Error>

Source

fn write_type_definition_composite_body( &self, w: &mut IndentWriter<'_>, the_type: &CompositeType, write_for: WriteFor, ) -> Result<(), Error>

Source

fn write_type_definition_composite_body_field( &self, w: &mut IndentWriter<'_>, field: &Field, the_type: &CompositeType, ) -> Result<(), Error>

Source

fn namespace_for_id(&self, id: &str) -> String

Source

fn write_namespace_context( &self, w: &mut IndentWriter<'_>, f: impl FnOnce(&mut IndentWriter<'_>) -> Result<(), Error>, ) -> Result<(), Error>

Source

fn write_class_context( &self, class_name: &str, w: &mut IndentWriter<'_>, f: impl FnOnce(&mut IndentWriter<'_>) -> Result<(), Error>, ) -> Result<(), Error>

Source

fn should_emit_delegate(&self) -> bool

Source

fn has_emittable_functions(&self, functions: &[Function]) -> bool

Source

fn has_emittable_constants(&self, constants: &[Constant]) -> bool

Source

fn should_emit_by_meta(&self, meta: &Meta) -> bool

Source

fn should_emit_by_type(&self, t: &CType) -> bool

Source

fn write_patterns(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

Source

fn write_pattern_option( &self, w: &mut IndentWriter<'_>, slice: &CompositeType, ) -> Result<(), Error>

Source

fn write_pattern_slice( &self, w: &mut IndentWriter<'_>, slice: &CompositeType, ) -> Result<(), Error>

Source

fn write_pattern_slice_mut( &self, w: &mut IndentWriter<'_>, slice: &CompositeType, ) -> Result<(), Error>

Source

fn write_pattern_service( &self, w: &mut IndentWriter<'_>, class: &Service, ) -> Result<(), Error>

Source

fn write_pattern_service_method( &self, w: &mut IndentWriter<'_>, class: &Service, function: &Function, rval: &str, fn_name: &str, write_contxt_by_ref: bool, is_ctor: bool, write_for: WriteFor, ) -> Result<(), Error>

Source

fn write_builtins(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

Source

fn write_all(&self, w: &mut IndentWriter<'_>) -> Result<(), Error>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§