Skip to main contentModule unprotected_initializer
Source use super::UnprotectedInitializer; π use crate::linter::LateLintPass; π use crate::linter::LintContext; π use crate::sol::Severity; π use crate::sol::SolLint; π use crate::sol::analysis::is_builtin; π use crate::sol::analysis::runtime_entry_points; π use alloy_primitives::map::HashSet; π use solar::ast::ContractKind; π use solar::ast::DataLocation; π use solar::interface::sym; π use solar::sema::Gcx; π use solar::sema::builtins::Builtin; π use solar::sema::hir; π use solar::sema::hir::ContractId; π use solar::sema::hir::Expr; π use solar::sema::hir::ExprKind; π use solar::sema::hir::FunctionId; π use solar::sema::hir::Visit; π use solar::sema::ty::TyKind; π use std::ops::ControlFlow; π
- Reach π
- UNPROTECTED_INITIALIZER
- has_initializer_modifier π
- has_modifier_named π
- internal_callee π
- The selected internal function in the analyzed contractβs dispatch context.
- is_destructive_call π
x.delegatecall(..) or selfdestruct(..).- lhs_writes_state π
- A state variable, or a member/index of an expression that denotes contract storage.
- reaches π
- True if
hit matches an expression in fidβs body or, transitively, in the body of any
internal function it calls. - references_storage π
- writes_state π
- An assignment,
delete, ++/-- or push/pop whose target lives in contract storage.