Trait ezno_checker::behavior::functions::SynthesisableFunction
source · pub trait SynthesisableFunction<A: ASTImplementation> {
// Required methods
fn id(&self, source_id: SourceId) -> FunctionId;
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<(TypeId, SpanWithSource)>;
fn body<T: ReadFromFS>(
&self,
environment: &mut Environment<'_>,
checking_data: &mut CheckingData<'_, T, A>
);
}Expand description
Covers both actual functions and
Required Methods§
fn id(&self, source_id: SourceId) -> FunctionId
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<(TypeId, SpanWithSource)>
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
Object Safety§
This trait is not object safe.