use oxc_ast::ast::Program;
use fallow_types::extract::SemanticFact;
use crate::visitor::ModuleInfoExtractor;
use crate::visitor::declarations::statement_is_instantiated;
impl ModuleInfoExtractor {
pub(super) fn record_top_level_runtime_statement(&mut self, program: &Program<'_>) {
if program.body.iter().any(|statement| {
!statement.is_module_declaration() && statement_is_instantiated(statement)
}) {
self.semantic_facts
.push(SemanticFact::TopLevelRuntimeStatement);
}
}
pub(super) fn record_program_directives(&mut self, program: &Program<'_>) {
for directive in &program.directives {
self.directives
.push(directive.directive.as_str().to_string());
}
}
}