pub trait FunctionParser {
Show 21 methods
// Required methods
fn report_nonstrict(
&self,
error_code: &str,
error_message: &str,
token: Option<&Token>,
) -> Result<(), ParseError>;
fn use_strict_behavior(
&self,
error_code: &str,
error_message: &str,
token: Option<&Token>,
) -> bool;
fn is_trusted(&self, context: TrustContext) -> bool;
fn current_color(&self) -> Result<Option<String>, ParseError>;
fn in_left_right(&self) -> bool;
fn is_expandable(&self, name: &str) -> bool;
fn get_macro(&self, name: &str) -> Option<MacroDefinition>;
fn set_macro(&mut self, name: &str, definition: Option<MacroDefinition>);
fn set_macro_definition(
&mut self,
name: &str,
definition: MacroDefinition,
global: bool,
);
fn parse_expression(
&mut self,
expr_list: bool,
break_on_token_text: Option<&str>,
) -> Result<Vec<ParseNode>, ParseError>;
fn parse_math_mode(
&mut self,
closing: &str,
) -> Result<Vec<ParseNode>, ParseError>;
fn parse_left_right(&mut self, open: &str) -> Result<ParseNode, ParseError>;
fn parse_optional_size(&mut self) -> Result<Option<Measurement>, ParseError>;
fn parse_prefixed_function(
&mut self,
name: &str,
) -> Result<ParseNode, ParseError>;
fn parse_environment(&mut self, name: &str) -> Result<ParseNode, ParseError>;
fn pop_token(&mut self) -> Result<Token, ParseError>;
fn future_token(&mut self) -> Result<Token, ParseError>;
fn push_token(&mut self, token: Token);
fn consume_spaces(&mut self) -> Result<(), ParseError>;
fn consume_macro_arg(&mut self) -> Result<Vec<Token>, ParseError>;
fn expand_tokens(
&mut self,
tokens: Vec<Token>,
) -> Result<Vec<Token>, ParseError>;
}Expand description
Callbacks the parser exposes to function handlers. &mut methods mutate
parser state; &self methods are pure reads of settings/state.
Required Methods§
fn report_nonstrict( &self, error_code: &str, error_message: &str, token: Option<&Token>, ) -> Result<(), ParseError>
fn use_strict_behavior( &self, error_code: &str, error_message: &str, token: Option<&Token>, ) -> bool
fn is_trusted(&self, context: TrustContext) -> bool
fn current_color(&self) -> Result<Option<String>, ParseError>
fn in_left_right(&self) -> bool
fn is_expandable(&self, name: &str) -> bool
fn get_macro(&self, name: &str) -> Option<MacroDefinition>
fn set_macro(&mut self, name: &str, definition: Option<MacroDefinition>)
fn set_macro_definition( &mut self, name: &str, definition: MacroDefinition, global: bool, )
fn parse_expression( &mut self, expr_list: bool, break_on_token_text: Option<&str>, ) -> Result<Vec<ParseNode>, ParseError>
fn parse_math_mode( &mut self, closing: &str, ) -> Result<Vec<ParseNode>, ParseError>
fn parse_left_right(&mut self, open: &str) -> Result<ParseNode, ParseError>
fn parse_optional_size(&mut self) -> Result<Option<Measurement>, ParseError>
fn parse_prefixed_function( &mut self, name: &str, ) -> Result<ParseNode, ParseError>
fn parse_environment(&mut self, name: &str) -> Result<ParseNode, ParseError>
fn pop_token(&mut self) -> Result<Token, ParseError>
fn future_token(&mut self) -> Result<Token, ParseError>
fn push_token(&mut self, token: Token)
fn consume_spaces(&mut self) -> Result<(), ParseError>
fn consume_macro_arg(&mut self) -> Result<Vec<Token>, ParseError>
fn expand_tokens( &mut self, tokens: Vec<Token>, ) -> Result<Vec<Token>, ParseError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".