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§
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>
Object Safety§
This trait is not object safe.