pub struct ScopeStore { /* private fields */ }Expand description
Store for all scopes; root is at index 0.
Implementations§
Source§impl ScopeStore
impl ScopeStore
pub fn new() -> ScopeStore
pub fn root_id(&self) -> ScopeId
pub fn get(&self, id: ScopeId) -> Option<&Scope>
pub fn get_mut(&mut self, id: ScopeId) -> Option<&mut Scope>
pub fn push(&mut self, kind: ScopeKind, parent: ScopeId) -> ScopeId
Sourcepub fn add_root_global(&mut self, name: String)
pub fn add_root_global(&mut self, name: String)
Add a global name to the root (main) scope. Used when seeding from signature files.
Sourcepub fn add_root_global_with_type(&mut self, name: String, ty: Type)
pub fn add_root_global_with_type(&mut self, name: String, ty: Type)
Add a global name with type to the root scope. Used when seeding from .sig.
Sourcepub fn add_root_function(
&mut self,
name: String,
min_arity: usize,
max_arity: usize,
span: Span,
)
pub fn add_root_function( &mut self, name: String, min_arity: usize, max_arity: usize, span: Span, )
Add a function to the root (main) scope. Used when seeding from signature files.
Pass Span::new(0, 0) when no source span is available. Optional params (type?) give min_arity < max_arity.
Sourcepub fn add_root_function_with_types(
&mut self,
name: String,
min_arity: usize,
max_arity: usize,
span: Span,
param_types: Option<Vec<Type>>,
return_type: Option<Type>,
)
pub fn add_root_function_with_types( &mut self, name: String, min_arity: usize, max_arity: usize, span: Span, param_types: Option<Vec<Type>>, return_type: Option<Type>, )
Add a function with param/return types to the root scope. Used when seeding from .sig.
Sourcepub fn set_root_function_meta(&mut self, name: String, meta: SigMeta)
pub fn set_root_function_meta(&mut self, name: String, meta: SigMeta)
Set doc and complexity for a root function (from .sig /// and @complexity).
Sourcepub fn set_root_global_meta(&mut self, name: String, meta: SigMeta)
pub fn set_root_global_meta(&mut self, name: String, meta: SigMeta)
Set doc and complexity for a root global (from .sig).
Sourcepub fn get_root_function_meta(&self, name: &str) -> Option<&SigMeta>
pub fn get_root_function_meta(&self, name: &str) -> Option<&SigMeta>
Get doc and complexity for a root function, if any.
Sourcepub fn get_root_global_meta(&self, name: &str) -> Option<&SigMeta>
pub fn get_root_global_meta(&self, name: &str) -> Option<&SigMeta>
Get doc and complexity for a root global, if any.
Sourcepub fn add_root_class(&mut self, name: String, span: Span)
pub fn add_root_class(&mut self, name: String, span: Span)
Add a class name to the root (main) scope. Used for built-ins (e.g. Class).
Pass Span::new(0, 0) when no source span is available.
Sourcepub fn add_class_field(
&mut self,
class_name: &str,
field_name: String,
ty: Type,
visibility: MemberVisibility,
)
pub fn add_class_field( &mut self, class_name: &str, field_name: String, ty: Type, visibility: MemberVisibility, )
Register a class field for member type lookup (this.field_name). Visibility defaults to Public.
Sourcepub fn add_class_method(
&mut self,
class_name: &str,
method_name: String,
param_types: Vec<Type>,
return_type: Type,
visibility: MemberVisibility,
)
pub fn add_class_method( &mut self, class_name: &str, method_name: String, param_types: Vec<Type>, return_type: Type, visibility: MemberVisibility, )
Register a class method for member type lookup (this.method_name returns function type). Visibility defaults to Public.
Sourcepub fn add_class_static_field(
&mut self,
class_name: &str,
field_name: String,
ty: Type,
visibility: MemberVisibility,
)
pub fn add_class_static_field( &mut self, class_name: &str, field_name: String, ty: Type, visibility: MemberVisibility, )
Register a static field (ClassName.staticField).
Sourcepub fn add_class_static_method(
&mut self,
class_name: &str,
method_name: String,
param_types: Vec<Type>,
return_type: Type,
visibility: MemberVisibility,
)
pub fn add_class_static_method( &mut self, class_name: &str, method_name: String, param_types: Vec<Type>, return_type: Type, visibility: MemberVisibility, )
Register a static method (ClassName.staticMethod).
Sourcepub fn get_class_member_type(
&self,
class_name: &str,
member_name: &str,
) -> Option<Type>
pub fn get_class_member_type( &self, class_name: &str, member_name: &str, ) -> Option<Type>
Type of a member (field or method) on a class instance. Returns None if unknown.
Sourcepub fn get_class_static_member_type(
&self,
class_name: &str,
member_name: &str,
) -> Option<Type>
pub fn get_class_static_member_type( &self, class_name: &str, member_name: &str, ) -> Option<Type>
Type of a static member (ClassName.staticField or ClassName.staticMethod). Returns None if unknown.
Sourcepub fn get_class_members(&self, class_name: &str) -> Option<&ClassMembers>
pub fn get_class_members(&self, class_name: &str) -> Option<&ClassMembers>
Class members (instance and static fields/methods) for completion and member access.
Sourcepub fn get_function_type_as_value(
&self,
current: ScopeId,
name: &str,
) -> Option<Type>
pub fn get_function_type_as_value( &self, current: ScopeId, name: &str, ) -> Option<Type>
Get the type of a function when used as a value, searching from current scope up to root.
Sourcepub fn root_has_class(&self, name: &str) -> bool
pub fn root_has_class(&self, name: &str) -> bool
True if the root (main) scope has a class with this name (for fallback type inference).
Trait Implementations§
Source§impl Debug for ScopeStore
impl Debug for ScopeStore
Source§impl Default for ScopeStore
impl Default for ScopeStore
Source§fn default() -> ScopeStore
fn default() -> ScopeStore
Auto Trait Implementations§
impl Freeze for ScopeStore
impl RefUnwindSafe for ScopeStore
impl Send for ScopeStore
impl Sync for ScopeStore
impl Unpin for ScopeStore
impl UnsafeUnpin for ScopeStore
impl UnwindSafe for ScopeStore
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
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more