pub struct Scope {
pub id: usize,
pub parent: Option<usize>,
pub kind: ScopeKind,
pub local_variables: HashSet<String>,
pub local_references: HashSet<String>,
pub entry_block: Option<NodeIndex>,
pub exit_blocks: Vec<NodeIndex>,
}Expand description
Represents a scope in the program (function, block, loop, etc.)
Fields§
§id: usize§parent: Option<usize>§kind: ScopeKind§local_variables: HashSet<String>Variables declared in this scope
local_references: HashSet<String>References created in this scope
entry_block: Option<NodeIndex>Starting point in the CFG
exit_blocks: Vec<NodeIndex>Ending point(s) in the CFG
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Scope
impl RefUnwindSafe for Scope
impl Send for Scope
impl Sync for Scope
impl Unpin for Scope
impl UnwindSafe for Scope
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