pub mod ast_builder;
use oxc_ast::ast::Function;
use oxc_syntax::symbol::SymbolFlags;
use crate::context::TraverseCtx;
pub fn sync_function_symbol_flags<'a>(func: &Function<'a>, ctx: &mut TraverseCtx<'a>) {
let Some(symbol_id) = func.id.as_ref().and_then(|id| id.symbol_id.get()) else {
return;
};
let flags = ctx.scoping_mut().symbol_flags_mut(symbol_id);
flags.set(SymbolFlags::AsyncOrGeneratorFunction, func.r#async || func.generator);
flags.set(SymbolFlags::FunctionExpression, func.is_expression());
}