Skip to main content

Module unwrapped_modifier_logic

Module unwrapped_modifier_logic 

Source

Re-exportsยง

use super::UnwrappedModifierLogic; ๐Ÿ”’
use crate::linter::LateLintPass; ๐Ÿ”’
use crate::linter::LintContext; ๐Ÿ”’
use crate::linter::Suggestion; ๐Ÿ”’
use crate::sol::Severity; ๐Ÿ”’
use crate::sol::SolLint; ๐Ÿ”’
use crate::sol::analysis::block_outcome; ๐Ÿ”’
use crate::sol::analysis::count_placeholders; ๐Ÿ”’
use crate::sol::analysis::for_each_lhs_var; ๐Ÿ”’
use crate::sol::analysis::referenced_item; ๐Ÿ”’
use crate::sol::analysis::write_target; ๐Ÿ”’
use solar::ast::ContractKind; ๐Ÿ”’
use solar::ast::FunctionKind; ๐Ÿ”’
use solar::interface::diagnostics::Applicability; ๐Ÿ”’
use solar::sema::Gcx; ๐Ÿ”’
use solar::sema::hir; ๐Ÿ”’
use solar::sema::hir::Expr; ๐Ÿ”’
use solar::sema::hir::ExprKind; ๐Ÿ”’
use solar::sema::hir::Function; ๐Ÿ”’
use solar::sema::hir::ItemId; ๐Ÿ”’
use solar::sema::hir::Stmt; ๐Ÿ”’
use solar::sema::hir::StmtKind; ๐Ÿ”’
use solar::sema::hir::Visit as _; ๐Ÿ”’
use std::ops::ControlFlow; ๐Ÿ”’

Structsยง

ExprFinder ๐Ÿ”’

Staticsยง

UNWRAPPED_MODIFIER_LOGIC

Functionsยง

any_expr ๐Ÿ”’
Visits every expression under stmts, stopping as soon as f returns true.
is_plain_call ๐Ÿ”’
A call to a non-builtin function or to a library function: the only statement cheap enough to leave inline.
requires_wrapping ๐Ÿ”’
Whether stmts should move into a helper: anything but a single plain call requires wrapping. Inline assembly is left alone; its authors know how to manage code size and have a reason to use it in a modifier.
snippet ๐Ÿ”’