Skip to main content

luaur_require/methods/
alias_cycle_tracker_get_stringified_cycle.rs

1use crate::records::alias_cycle_tracker::AliasCycleTracker;
2use alloc::string::String;
3
4impl AliasCycleTracker {
5    pub(crate) fn get_stringified_cycle(&self, repeated: &String) -> String {
6        let mut result = String::new();
7        let mut in_cycle = false;
8        for item in &self.ordered {
9            if in_cycle {
10                result.push_str(" -> ");
11                result.push('@');
12                result.push_str(item);
13            }
14            if item == repeated {
15                in_cycle = true;
16                result.push('@');
17                result.push_str(item);
18            }
19        }
20        result.push_str(" -> @");
21        result.push_str(repeated);
22        result
23    }
24}