Trait ezno_parser::functions::FunctionBased
source · pub trait FunctionBased: Debug + Clone + PartialEq + Send + Sync {
type Header: Debug + Clone + PartialEq + Send + Sync;
type Name: Debug + Clone + PartialEq + Send + Sync;
type LeadingParameter: LeadingParameter + Serialize;
type ParameterVisibility: ParameterVisibility + Serialize;
type Body: ASTNode;
// Required methods
fn get_name(name: &Self::Name) -> Option<&str>;
fn header_and_name_from_reader(
reader: &mut impl TokenReader<TSXToken, TokenStart>,
state: &mut ParsingState,
options: &ParseOptions
) -> ParseResult<(HeadingAndPosition<Self>, Self::Name)>;
fn header_and_name_to_string_from_buffer<T: ToString>(
buf: &mut T,
header: &Self::Header,
name: &Self::Name,
options: &ToStringOptions,
local: LocalToStringInformation
);
fn visit_name<TData>(
name: &Self::Name,
visitors: &mut (impl VisitorReceiver<TData> + ?Sized),
data: &mut TData,
options: &VisitOptions,
chain: &mut Annex<'_, Chain>
);
fn visit_name_mut<TData>(
name: &mut Self::Name,
visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized),
data: &mut TData,
options: &VisitOptions,
chain: &mut Annex<'_, Chain>
);
// Provided methods
fn get_parameter_body_boundary_token() -> Option<TSXToken> { ... }
fn has_body(_: &Self::Body) -> bool { ... }
fn parameters_from_reader<T: ToString>(
reader: &mut impl TokenReader<TSXToken, TokenStart>,
state: &mut ParsingState,
options: &ParseOptions
) -> ParseResult<FunctionParameters<Self::LeadingParameter, Self::ParameterVisibility>> { ... }
fn parameters_to_string_from_buffer<T: ToString>(
buf: &mut T,
parameters: &FunctionParameters<Self::LeadingParameter, Self::ParameterVisibility>,
options: &ToStringOptions,
local: LocalToStringInformation
) { ... }
fn parameter_body_boundary_token_to_string_from_buffer<T: ToString>(
buf: &mut T,
options: &ToStringOptions
) { ... }
}
Expand description
Specialization information for FunctionBase
Required Associated Types§
sourcetype LeadingParameter: LeadingParameter + Serialize
type LeadingParameter: LeadingParameter + Serialize
Cfg to make up for the fact serde_derive
does not use syn_helpers
sourcetype ParameterVisibility: ParameterVisibility + Serialize
type ParameterVisibility: ParameterVisibility + Serialize
Cfg to make up for the fact serde_derive
does not use syn_helpers
Required Methods§
fn header_and_name_from_reader( reader: &mut impl TokenReader<TSXToken, TokenStart>, state: &mut ParsingState, options: &ParseOptions ) -> ParseResult<(HeadingAndPosition<Self>, Self::Name)>
fn header_and_name_to_string_from_buffer<T: ToString>( buf: &mut T, header: &Self::Header, name: &Self::Name, options: &ToStringOptions, local: LocalToStringInformation )
fn visit_name<TData>( name: &Self::Name, visitors: &mut (impl VisitorReceiver<TData> + ?Sized), data: &mut TData, options: &VisitOptions, chain: &mut Annex<'_, Chain> )
fn visit_name_mut<TData>( name: &mut Self::Name, visitors: &mut (impl VisitorMutReceiver<TData> + ?Sized), data: &mut TData, options: &VisitOptions, chain: &mut Annex<'_, Chain> )
Provided Methods§
sourcefn get_parameter_body_boundary_token() -> Option<TSXToken>
fn get_parameter_body_boundary_token() -> Option<TSXToken>
For [crate::ArrowFunction
]
sourcefn parameters_from_reader<T: ToString>(
reader: &mut impl TokenReader<TSXToken, TokenStart>,
state: &mut ParsingState,
options: &ParseOptions
) -> ParseResult<FunctionParameters<Self::LeadingParameter, Self::ParameterVisibility>>
fn parameters_from_reader<T: ToString>( reader: &mut impl TokenReader<TSXToken, TokenStart>, state: &mut ParsingState, options: &ParseOptions ) -> ParseResult<FunctionParameters<Self::LeadingParameter, Self::ParameterVisibility>>
For [crate::ArrowFunction
]
sourcefn parameters_to_string_from_buffer<T: ToString>(
buf: &mut T,
parameters: &FunctionParameters<Self::LeadingParameter, Self::ParameterVisibility>,
options: &ToStringOptions,
local: LocalToStringInformation
)
fn parameters_to_string_from_buffer<T: ToString>( buf: &mut T, parameters: &FunctionParameters<Self::LeadingParameter, Self::ParameterVisibility>, options: &ToStringOptions, local: LocalToStringInformation )
For [crate::ArrowFunction
]
sourcefn parameter_body_boundary_token_to_string_from_buffer<T: ToString>(
buf: &mut T,
options: &ToStringOptions
)
fn parameter_body_boundary_token_to_string_from_buffer<T: ToString>( buf: &mut T, options: &ToStringOptions )
For [crate::ArrowFunction
]
Object Safety§
This trait is not object safe.