Expand description
Type-aware filtering for operator mutations.
This module records replacements that are type-invalid. It deliberately does not filter replacements merely because they return the same value for every input: different operators can still compile to gas-distinct bytecode.
Re-exportsยง
use std::collections::HashMap;๐use std::collections::HashSet;๐use std::ops::ControlFlow;๐use std::path::Path;๐use std::path::PathBuf;๐use eyre::Result;๐use foundry_cli::opts::configure_pcx_from_compile_output;๐use foundry_compilers::ProjectCompileOutput;๐use foundry_compilers::compilers::multi::MultiCompiler;๐use foundry_config::Config;๐use solar::ast::BinOpKind;๐use solar::ast::LitKind;๐use solar::ast::UnOpKind;๐use solar::interface::Session;๐use solar::interface::source_map::FileName;๐use solar::sema::Compiler;๐use solar::sema::CompilerRef;๐use solar::sema::Gcx;๐use solar::sema::hir;๐use solar::sema::hir::ElementaryType;๐use solar::sema::hir::ExprKind;๐use solar::sema::hir::Visit;๐use solar::sema::ty::TyKind;๐
Structsยง
Enumsยง
- Assignment
Destination ๐Kind - Assignment
Replacement - Comparison
Operand ๐Kind - Replacement
Operator ๐ - Unary
Operand ๐Kind
Functionsยง
- analyze_
and_ ๐collect - assignment_
destination_ ๐kind - assignment_
value_ ๐accepts_ negation - collect_
from_ ๐gcx - collect_
mutation_ exclusions - comparison_
operand_ ๐kind - is_
non_ ๐storage_ push_ call - is_
type_ ๐invalid_ replacement - normalize_
path - unary_
operand_ ๐kind