Trait ezno_checker::features::functions::SynthesisableFunction
source · pub trait SynthesisableFunction<A: ASTImplementation> {
// Required methods
fn get_name(&self) -> Option<&str>;
fn get_position(&self) -> Span;
fn has_body(&self) -> bool;
fn type_parameters<T: ReadFromFS>(
&self,
environment: &mut Environment<'_>,
checking_data: &mut CheckingData<'_, T, A>,
) -> Option<GenericTypeParameters>;
fn this_constraint<T: ReadFromFS>(
&self,
environment: &mut Environment<'_>,
checking_data: &mut CheckingData<'_, T, A>,
) -> Option<TypeId>;
fn super_constraint<T: ReadFromFS>(
&self,
environment: &mut Environment<'_>,
checking_data: &mut CheckingData<'_, T, A>,
) -> Option<TypeId>;
fn parameters<T: ReadFromFS>(
&self,
environment: &mut Environment<'_>,
checking_data: &mut CheckingData<'_, T, A>,
expected_parameters: Option<&SynthesisedParameters>,
) -> SynthesisedParameters;
fn return_type_annotation<T: ReadFromFS>(
&self,
environment: &mut Environment<'_>,
checking_data: &mut CheckingData<'_, T, A>,
) -> Option<ReturnType>;
fn body<T: ReadFromFS>(
&self,
environment: &mut Environment<'_>,
checking_data: &mut CheckingData<'_, T, A>,
);
// Provided method
fn id(&self, source_id: SourceId) -> FunctionId { ... }
}
Expand description
Covers both actual functions and
Required Methods§
sourcefn get_position(&self) -> Span
fn get_position(&self) -> Span
For debugging only
fn has_body(&self) -> bool
sourcefn type_parameters<T: ReadFromFS>(
&self,
environment: &mut Environment<'_>,
checking_data: &mut CheckingData<'_, T, A>,
) -> Option<GenericTypeParameters>
fn type_parameters<T: ReadFromFS>( &self, environment: &mut Environment<'_>, checking_data: &mut CheckingData<'_, T, A>, ) -> Option<GenericTypeParameters>
THIS FUNCTION IS EXPECTED TO PUT THE TYPE PARAMETERS INTO THE ENVIRONMENT WHILE SYNTHESISING THEM
fn this_constraint<T: ReadFromFS>( &self, environment: &mut Environment<'_>, checking_data: &mut CheckingData<'_, T, A>, ) -> Option<TypeId>
sourcefn super_constraint<T: ReadFromFS>(
&self,
environment: &mut Environment<'_>,
checking_data: &mut CheckingData<'_, T, A>,
) -> Option<TypeId>
fn super_constraint<T: ReadFromFS>( &self, environment: &mut Environment<'_>, checking_data: &mut CheckingData<'_, T, A>, ) -> Option<TypeId>
For object literals
sourcefn parameters<T: ReadFromFS>(
&self,
environment: &mut Environment<'_>,
checking_data: &mut CheckingData<'_, T, A>,
expected_parameters: Option<&SynthesisedParameters>,
) -> SynthesisedParameters
fn parameters<T: ReadFromFS>( &self, environment: &mut Environment<'_>, checking_data: &mut CheckingData<'_, T, A>, expected_parameters: Option<&SynthesisedParameters>, ) -> SynthesisedParameters
THIS FUNCTION IS EXPECTED TO PUT THE PARAMETERS INTO THE ENVIRONMENT WHILE SYNTHESISING THEM
fn return_type_annotation<T: ReadFromFS>( &self, environment: &mut Environment<'_>, checking_data: &mut CheckingData<'_, T, A>, ) -> Option<ReturnType>
sourcefn body<T: ReadFromFS>(
&self,
environment: &mut Environment<'_>,
checking_data: &mut CheckingData<'_, T, A>,
)
fn body<T: ReadFromFS>( &self, environment: &mut Environment<'_>, checking_data: &mut CheckingData<'_, T, A>, )
Returned type is extracted from events, thus doesn’t expect anything in return
Provided Methods§
fn id(&self, source_id: SourceId) -> FunctionId
Object Safety§
This trait is not object safe.