Skip to main content Module uninitialized_state_variables Copy item path Source use super::UninitializedStateVariables ; π use crate::linter::LateLintPass ; π use crate::linter::LintContext ; π use crate::sol::Severity ; π use crate::sol::SolLint ; π use crate::sol::analysis::referenced_item ; π use crate::sol::analysis::tuple_elems ; π use solar::ast::ContractKind; π use solar::interface::data_structures::Never; π use solar::sema::Gcx; π use solar::sema::Hir; π use solar::sema::hir::Contract; π use solar::sema::hir::ContractId; π use solar::sema::hir::DataLocation; π use solar::sema::hir::Expr; π use solar::sema::hir::ExprKind; π use solar::sema::hir::Function; π use solar::sema::hir::Stmt; π use solar::sema::hir::StmtKind; π use solar::sema::hir::TypeKind; π use solar::sema::hir::VariableId; π use solar::sema::hir::Visit; π use std::collections::HashMap ; π use std::collections::HashSet ; π use std::ops::ControlFlow ; π Collector π UNINITIALIZED_STATE_VARIABLES is_local_storage_var π is_storage_pointer π A bare local storage pointer. root_vars π The variables an expression is rooted in, through indexing, member access and ternaries. storage_aliases π Collects, flow-insensitively, the state variables each local storage pointer declared in
func may reference: every assignment contributes to the pointerβs target set, and pointers
assigned from other pointers are resolved transitively. Aliases π Maps local storage pointers to the state variables they may reference.