Skip to main content

Module type_analysis

Module type_analysis 

Source
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ยง

MutationExclusion
MutationExclusionCollector ๐Ÿ”’

Enumsยง

AssignmentDestinationKind ๐Ÿ”’
AssignmentReplacement
ComparisonOperandKind ๐Ÿ”’
ReplacementOperator ๐Ÿ”’
UnaryOperandKind ๐Ÿ”’

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 ๐Ÿ”’

Type Aliasesยง

MutationExclusionSet
MutationExclusionsByPath