1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
use oxc::semantic::ScopeFlags; /// if current visit path is top level /// including such scenario: /// ```js /// class T { /// [foo]() {} /// } /// class A { /// static { /// foo; /// } /// } /// /// foo; /// { /// foo; /// } /// ``` pub fn is_top_level(scope_stack: &[ScopeFlags]) -> bool { scope_stack.iter().rev().all(|flag| { flag.intersects(ScopeFlags::Top | ScopeFlags::StrictMode | ScopeFlags::ClassStaticBlock) || flag.is_empty() }) }