pub enum FunctionScope {
ArrowFunction {
free_this_type: TypeId,
is_async: bool,
expected_return: Option<ExpectedReturnType>,
},
MethodFunction {
free_this_type: TypeId,
is_async: bool,
is_generator: bool,
expected_return: Option<ExpectedReturnType>,
},
Function {
is_generator: bool,
is_async: bool,
expected_return: Option<ExpectedReturnType>,
this_type: TypeId,
type_of_super: TypeId,
location: ContextLocation,
},
Constructor {
extends: bool,
type_of_super: Option<TypeId>,
this_object_type: TypeId,
},
}Expand description
TODO better names
Decides whether await and yield are available and many others
this is the dependent type
Variants§
ArrowFunction
MethodFunction
TODO does this need to gdistinguish class
Fields
§
expected_return: Option<ExpectedReturnType>Function
Constructor
Trait Implementations§
Source§impl Clone for FunctionScope
impl Clone for FunctionScope
Source§fn clone(&self) -> FunctionScope
fn clone(&self) -> FunctionScope
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for FunctionScope
impl RefUnwindSafe for FunctionScope
impl Send for FunctionScope
impl Sync for FunctionScope
impl Unpin for FunctionScope
impl UnsafeUnpin for FunctionScope
impl UnwindSafe for FunctionScope
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more