luaur_analysis/functions/
is_variadic_tail.rs1use crate::records::generic_type_pack::GenericTypePack;
2use crate::records::txn_log::TxnLog;
3use crate::records::variadic_type_pack::VariadicTypePack;
4use crate::type_aliases::type_pack_id::TypePackId;
5
6pub fn is_variadic_tail(tp: TypePackId, log: &TxnLog, include_hidden_variadics: bool) -> bool {
7 if log.txn_log_is::<GenericTypePack, TypePackId>(tp) {
8 return true;
9 }
10
11 if let Some(vtp) = unsafe { log.txn_log_get::<VariadicTypePack, TypePackId>(tp).as_ref() } {
12 if include_hidden_variadics || !vtp.hidden {
13 return true;
14 }
15 }
16
17 false
18}