Skip to main content

luaur_analysis/methods/
push_scope_push_scope_data_flow_graph.rs

1use crate::records::dfg_scope::DfgScope;
2use crate::records::push_scope::PushScope;
3use crate::type_aliases::scope_stack::ScopeStack;
4use luaur_common::macros::luau_assert::LUAU_ASSERT;
5
6impl PushScope {
7    pub fn push_scope(_stack: &mut ScopeStack, _scope: *mut DfgScope) -> Self {
8        // `scope` should never be `nullptr` here.
9        LUAU_ASSERT!(!_scope.is_null());
10
11        let previous_size = _stack.len();
12        _stack.push(_scope);
13
14        PushScope {
15            stack: _stack,
16            previous_size,
17        }
18    }
19}