pub struct RasnBackend { /* private fields */ }Expand description
A compiler backend that generates bindings to be used with
the rasn framework for rust.
Trait Implementations§
Source§impl Backend for Rasn
impl Backend for Rasn
Source§const FILE_EXTENSION: &'static str = ".rs"
const FILE_EXTENSION: &'static str = ".rs"
File extension that should be used for output file containing the generated bindings.
For example:
.ts for Typescript, .rs for Rasn bindings.type Config = Config
Source§fn new(
config: Self::Config,
tagging_environment: TaggingEnvironment,
extensibility_environment: ExtensibilityEnvironment,
) -> Self
fn new( config: Self::Config, tagging_environment: TaggingEnvironment, extensibility_environment: ExtensibilityEnvironment, ) -> Self
Creates a backend from its fields.
Usually, the tagging and extensibility environments do not
have to be set manually, but will follow the respective module header.
Source§fn from_config(config: Self::Config) -> Self
fn from_config(config: Self::Config) -> Self
Creates a backend from its config
Source§fn generate_module(
&mut self,
tlds: Vec<ToplevelDefinition>,
) -> Result<GeneratedModule, GeneratorError>
fn generate_module( &mut self, tlds: Vec<ToplevelDefinition>, ) -> Result<GeneratedModule, GeneratorError>
generates bindings for an ASN.1 module Read more
Source§fn format_bindings(bindings: &str) -> Result<String, CompilerError>
fn format_bindings(bindings: &str) -> Result<String, CompilerError>
Formats the bindings using the language- or framework-specific linters.
For example, the Rust backend uses rustfmt for formatting bindings.
Source§fn generate(&self, tld: ToplevelDefinition) -> Result<String, GeneratorError>
fn generate(&self, tld: ToplevelDefinition) -> Result<String, GeneratorError>
generates bindings for a single ASN.1 item Read more