pub trait ExpressionOrStatementPosition:
Clone
+ Debug
+ Sync
+ Send
+ PartialEq
+ 'static {
type FunctionBody: ASTNode;
// Required methods
fn from_reader(
reader: &mut impl TokenReader<TSXToken, TokenStart>,
state: &mut ParsingState,
options: &ParseOptions,
) -> ParseResult<Self>;
fn as_option_variable_identifier(&self) -> Option<&VariableIdentifier>;
fn as_option_variable_identifier_mut(
&mut self,
) -> Option<&mut VariableIdentifier>;
fn has_function_body(body: &Self::FunctionBody) -> bool;
fn is_declare(&self) -> bool;
// Provided method
fn as_option_str(&self) -> Option<&str> { ... }
}
Expand description
Classes and function
functions have two variants depending whether in statement position
or expression position
Required Associated Types§
type FunctionBody: ASTNode
Required Methods§
fn from_reader( reader: &mut impl TokenReader<TSXToken, TokenStart>, state: &mut ParsingState, options: &ParseOptions, ) -> ParseResult<Self>
fn as_option_variable_identifier(&self) -> Option<&VariableIdentifier>
fn as_option_variable_identifier_mut( &mut self, ) -> Option<&mut VariableIdentifier>
fn has_function_body(body: &Self::FunctionBody) -> bool
fn is_declare(&self) -> bool
Provided Methods§
fn as_option_str(&self) -> Option<&str>
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.