Skip to main content

luaur_analysis/methods/
instantiation_reset_state.rs

1use crate::records::builtin_types::BuiltinTypes;
2use crate::records::instantiation::Instantiation;
3use crate::records::scope::Scope;
4use crate::records::substitution::Substitution;
5use crate::records::txn_log::TxnLog;
6use crate::records::type_arena::TypeArena;
7use crate::records::type_level::TypeLevel;
8
9impl Instantiation {
10    pub fn reset_state(
11        &mut self,
12        log: *const TxnLog,
13        arena: *mut TypeArena,
14        builtin_types: *mut BuiltinTypes,
15        level: TypeLevel,
16        scope: *mut Scope,
17    ) {
18        Substitution::reset_state(&mut self.base, log, arena);
19
20        self.builtin_types = builtin_types;
21        self.level = level;
22        self.scope = scope;
23
24        self.reusable_replace_generics.reset_state(
25            log,
26            arena,
27            builtin_types,
28            level,
29            scope,
30            alloc::vec::Vec::new(),
31            alloc::vec::Vec::new(),
32        );
33    }
34}