luaur_analysis/methods/
instantiation_reset_state.rs1use 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}