Trait cpclib_asm::implementation::tokens::TokenExt
source · pub trait TokenExt:
ListingElement
+ Debug
+ Visited {
// Required methods
fn estimated_duration(&self) -> Result<usize, AssemblerError>;
fn unroll(&self, env: &Env) -> Option<Result<Vec<&Self>, AssemblerError>>;
fn disassemble_data(&self) -> Result<Listing, String>;
// Provided methods
fn to_bytes_with_options(
&self,
option: EnvOptions,
) -> Result<Vec<u8>, AssemblerError> { ... }
fn number_of_bytes(&self) -> Result<usize, String> { ... }
fn number_of_bytes_with_context(
&self,
table: &mut SymbolsTableCaseDependent,
) -> Result<usize, String> { ... }
fn to_bytes(&self) -> Result<Vec<u8>, AssemblerError> { ... }
fn to_bytes_with_context(
&self,
table: &mut SymbolsTableCaseDependent,
) -> Result<Vec<u8>, AssemblerError> { ... }
fn is_valid(&self) -> bool { ... }
}
Expand description
Needed methods for the Token defined in cpclib_tokens
Required Methods§
fn estimated_duration(&self) -> Result<usize, AssemblerError>
sourcefn unroll(&self, env: &Env) -> Option<Result<Vec<&Self>, AssemblerError>>
fn unroll(&self, env: &Env) -> Option<Result<Vec<&Self>, AssemblerError>>
Unroll the tokens when it represents a loop
sourcefn disassemble_data(&self) -> Result<Listing, String>
fn disassemble_data(&self) -> Result<Listing, String>
Generate the listing of opcodes for directives that embed bytes
Provided Methods§
fn to_bytes_with_options( &self, option: EnvOptions, ) -> Result<Vec<u8>, AssemblerError>
fn number_of_bytes(&self) -> Result<usize, String>
sourcefn number_of_bytes_with_context(
&self,
table: &mut SymbolsTableCaseDependent,
) -> Result<usize, String>
fn number_of_bytes_with_context( &self, table: &mut SymbolsTableCaseDependent, ) -> Result<usize, String>
Return the number of bytes of the token given the provided context
sourcefn to_bytes(&self) -> Result<Vec<u8>, AssemblerError>
fn to_bytes(&self) -> Result<Vec<u8>, AssemblerError>
Dummy version that assemble without taking into account the context TODO find a way to not build a symbol table each time
sourcefn to_bytes_with_context(
&self,
table: &mut SymbolsTableCaseDependent,
) -> Result<Vec<u8>, AssemblerError>
fn to_bytes_with_context( &self, table: &mut SymbolsTableCaseDependent, ) -> Result<Vec<u8>, AssemblerError>
Assemble the symbol taking into account some context, but never modify this context
Object Safety§
This trait is not object safe.