mod context;
mod expressions;
mod known_globals;
mod pure_function;
mod statements;
pub use context::{MayHaveSideEffectsContext, PropertyReadSideEffects};
pub use known_globals::is_valid_regexp;
pub use pure_function::is_pure_function;
pub trait MayHaveSideEffects<'a> {
fn may_have_side_effects(&self, ctx: &impl MayHaveSideEffectsContext<'a>) -> bool;
}
impl<'a, T: MayHaveSideEffects<'a>> MayHaveSideEffects<'a> for Option<T> {
fn may_have_side_effects(&self, ctx: &impl MayHaveSideEffectsContext<'a>) -> bool {
self.as_ref().is_some_and(|t| t.may_have_side_effects(ctx))
}
}