List of all items
Structs
- linter::EarlyLintVisitor
- linter::LateLintVisitor
- linter::LintContext
- linter::LinterConfig
- linter::ProjectLintEmitter
- linter::ProjectSource
- linter::Suggestion
- linter::early::EarlyLintVisitor
- linter::late::LateLintVisitor
- linter::project::ProjectLintEmitter
- linter::project::ProjectSource
- sol::SolLint
- sol::SolidityLinter
- sol::codesize::UnwrappedModifierLogic
- sol::gas::AsmKeccak256
- sol::gas::CacheArrayLength
- sol::gas::CostlyLoop
- sol::gas::CustomErrors
- sol::gas::ExternalFunction
- sol::gas::UnchangedStateVariables
- sol::gas::UnusedStateVariables
- sol::gas::VarReadUsingThis
- sol::gas::cache_array_length::LengthRead
- sol::gas::cache_array_length::LoopFacts
- sol::gas::external_function::IndexBuilder
- sol::gas::external_function::ParamEscapeFinder
- sol::gas::external_function::ProjectIndex
- sol::gas::keccak::AsmContext
- sol::gas::unused_state_variables::UsedVarCollector
- sol::gas::var_read_using_this::MatchedCall
- sol::high::IncorrectShift
- sol::high::ReentrancyUnlimitedGas
- sol::high::Rtlo
- sol::high::UncheckedCall
- sol::high::UncheckedTransferERC20
- sol::high::reentrancy::Analyzer
- sol::high::reentrancy::FlowState
- sol::high::reentrancy::PendingValueCall
- sol::high::unchecked_calls::UncheckedCallChecker
- sol::info::BooleanCst
- sol::info::BooleanEqual
- sol::info::EventFields
- sol::info::Imports
- sol::info::InlineAssembly
- sol::info::InterfaceFileNaming
- sol::info::LowLevelCalls
- sol::info::MissingInheritance
- sol::info::MixedCaseFunction
- sol::info::MixedCaseVariable
- sol::info::MultiContractFile
- sol::info::NamedStructFields
- sol::info::PascalCaseStruct
- sol::info::PragmaDirective
- sol::info::RedundantBaseConstructorCall
- sol::info::ScreamingSnakeCase
- sol::info::TooManyDigits
- sol::info::UnsafeCheatcodes
- sol::info::imports::UnusedChecker
- sol::info::low_level_calls::LowLevelCallsChecker
- sol::low::BlockTimestamp
- sol::low::CallsLoop
- sol::low::DelegatecallLoop
- sol::low::MissingZeroCheck
- sol::low::ReturnBomb
- sol::low::calls_loop::Analyzer
- sol::low::delegatecall_loop::DelegatecallLoopChecker
- sol::low::missing_zero_check::Analyzer
- sol::low::return_bomb::IntegerLiteral
- sol::med::DivideBeforeMultiply
- sol::med::IncorrectERC20Interface
- sol::med::IncorrectERC721Interface
- sol::med::IncorrectStrictEquality
- sol::med::TxOrigin
- sol::med::TypeBasedTautology
- sol::med::UninitializedLocal
- sol::med::UnsafeTypecast
- sol::med::UnusedReturn
- sol::med::WeakPrng
- sol::med::uninitialized_local::Checker
- sol::med::weak_prng::WeakPrngChecker
Enums
- linter::SuggestionKind
- sol::SolLintError
- sol::info::boolean_cst::ExprContext
- sol::info::boolean_equal::BoolComparison
- sol::low::return_bomb::ArgMatch
- sol::low::return_bomb::FunctionCandidates
Traits
- linter::EarlyLintPass
- linter::LateLintPass
- linter::Lint
- linter::Linter
- linter::ProjectLintPass
- linter::early::EarlyLintPass
- linter::late::LateLintPass
- linter::project::ProjectLintPass
Macros
Functions
- linter::hyperlink
- sol::analysis::interface::is_elementary
- sol::analysis::interface::receiver_contract_id
- sol::analysis::primitives::address_call_receiver
- sol::analysis::primitives::branch_always_exits
- sol::analysis::primitives::is_address_type
- sol::analysis::primitives::is_builtin
- sol::analysis::primitives::is_exit_call
- sol::analysis::primitives::is_require_or_assert
- sol::calls::call_with_options
- sol::calls::is_call_with_gas_limit
- sol::calls::is_low_level_call
- sol::codesize::create_early_lint_passes
- sol::codesize::create_late_lint_passes
- sol::codesize::create_project_lint_passes
- sol::gas::cache_array_length::array_length_mutated
- sol::gas::cache_array_length::call_is_safe_to_cache
- sol::gas::cache_array_length::call_may_mutate_state
- sol::gas::cache_array_length::call_return_type
- sol::gas::cache_array_length::collect_condition_length_reads
- sol::gas::cache_array_length::collect_expr_facts
- sol::gas::cache_array_length::collect_length_reads
- sol::gas::cache_array_length::collect_stmt_facts
- sol::gas::cache_array_length::collect_written_vars
- sol::gas::cache_array_length::expr_is_loop_invariant
- sol::gas::cache_array_length::expr_type
- sol::gas::cache_array_length::for_loop_parts
- sol::gas::cache_array_length::function_return_type
- sol::gas::cache_array_length::is_array_like
- sol::gas::cache_array_length::is_comparison
- sol::gas::cache_array_length::struct_field_type
- sol::gas::cache_array_length::variable_resolution
- sol::gas::costly_loop::check_block
- sol::gas::costly_loop::check_expr_for_writes
- sol::gas::costly_loop::check_stmt
- sol::gas::costly_loop::lvalue_is_state_var
- sol::gas::create_early_lint_passes
- sol::gas::create_late_lint_passes
- sol::gas::create_project_lint_passes
- sol::gas::custom_errors::is_require_call
- sol::gas::custom_errors::is_revert_call
- sol::gas::custom_errors::is_string_literal
- sol::gas::custom_errors::should_lint_require
- sol::gas::custom_errors::should_lint_revert
- sol::gas::external_function::any_override_referenced
- sol::gas::external_function::body_escapes_params
- sol::gas::external_function::build_project_index
- sol::gas::external_function::expr_root_is_param
- sol::gas::external_function::is_type_conversion_callee
- sol::gas::external_function::lhs_is_local_memory_reference
- sol::gas::external_function::modifier_args_reference_params
- sol::gas::external_function::project_index_for
- sol::gas::external_function::super_called_from_derivative
- sol::gas::immutable::block_contains_unlowered_stmt
- sol::gas::immutable::collect_expr_writes
- sol::gas::immutable::collect_lvalue_writes
- sol::gas::immutable::collect_modifier_writes
- sol::gas::immutable::collect_state_writes
- sol::gas::immutable::collect_stmt_writes
- sol::gas::immutable::contract_contains_unlowered_stmt
- sol::gas::immutable::is_allowed_constant_call
- sol::gas::immutable::is_compile_time_constant
- sol::gas::immutable::is_constant_candidate_type
- sol::gas::immutable::is_immutable_candidate_type
- sol::gas::immutable::is_most_derived_contract
- sol::gas::immutable::stmt_contains_unlowered_stmt
- sol::gas::keccak::extract_keccak256_arg
- sol::gas::var_read_using_this::build_suggestion
- sol::gas::var_read_using_this::emit
- sol::gas::var_read_using_this::match_this_call
- sol::gas::var_read_using_this::walk_block
- sol::gas::var_read_using_this::walk_expr
- sol::gas::var_read_using_this::walk_stmt
- sol::high::create_early_lint_passes
- sol::high::create_late_lint_passes
- sol::high::create_project_lint_passes
- sol::high::incorrect_shift::contains_incorrect_shift
- sol::high::reentrancy::collect_state_write_lhs_vars
- sol::high::reentrancy::gas_option_forwards_all
- sol::high::reentrancy::is_entry_point
- sol::high::reentrancy::is_uncapped_value_call
- sol::high::reentrancy::is_zero_literal
- sol::high::reentrancy::push_unique
- sol::high::reentrancy::resolved_function_ids
- sol::high::reentrancy::state_write_lhs_vars
- sol::high::rtlo::bidi_char_name
- sol::high::unchecked_calls::is_erc20_transfer_call
- sol::high::unchecked_calls::is_unchecked_tuple_assignment
- sol::info::boolean_cst::bool_literal
- sol::info::boolean_cst::check_allowed_bare_expr
- sol::info::boolean_cst::check_binary_expr
- sol::info::boolean_cst::check_expr
- sol::info::boolean_equal::bool_comparison_suggestion
- sol::info::boolean_equal::bool_literal
- sol::info::boolean_equal::can_negate_without_parens
- sol::info::boolean_equal::simplify_expr
- sol::info::create_early_lint_passes
- sol::info::create_late_lint_passes
- sol::info::create_project_lint_passes
- sol::info::event_fields::check_event
- sol::info::event_fields::describe_param
- sol::info::event_fields::has_id_like_name
- sol::info::event_fields::is_filterable_field
- sol::info::event_fields::type_str
- sol::info::inline_assembly::assembly_keyword_span
- sol::info::inline_assembly::has_memory_safe_natspec
- sol::info::interface_naming::file_name
- sol::info::missing_inheritance::is_signature_only
- sol::info::missing_inheritance::sort_key
- sol::info::mixed_case::check_mixed_case
- sol::info::mixed_case::is_constant_getter
- sol::info::pragma_directive::solidity_pragmas
- sol::info::redundant_base_constructor_call::expand_to_leading_ws
- sol::info::redundant_base_constructor_call::try_emit
- sol::low::block_timestamp::contains_block_timestamp
- sol::low::block_timestamp::is_block_timestamp
- sol::low::block_timestamp::is_cmp
- sol::low::calls_loop::base_contract
- sol::low::calls_loop::base_item_source
- sol::low::calls_loop::contract_type_expr_id
- sol::low::calls_loop::expr_type
- sol::low::calls_loop::indexed_base_data_location
- sol::low::calls_loop::indexed_element_type
- sol::low::calls_loop::is_address_like
- sol::low::calls_loop::is_address_type_expr
- sol::low::calls_loop::is_external_call
- sol::low::calls_loop::is_internal_callable
- sol::low::calls_loop::is_this
- sol::low::calls_loop::member_function_ids
- sol::low::calls_loop::member_return_type
- sol::low::calls_loop::member_type
- sol::low::calls_loop::receiver_contract_id
- sol::low::calls_loop::referenced_item
- sol::low::calls_loop::resolved_internal_function_ids
- sol::low::calls_loop::resolves_to_internal_library_extension
- sol::low::calls_loop::semantic_expr_ty
- sol::low::calls_loop::semantic_fn_call_return_ty
- sol::low::calls_loop::semantic_index_ty
- sol::low::calls_loop::semantic_member_ty
- sol::low::calls_loop::single_return_type
- sol::low::calls_loop::type_contract_id
- sol::low::calls_loop::type_is_address_like
- sol::low::calls_loop::unique
- sol::low::calls_loop::variable_data_location
- sol::low::create_early_lint_passes
- sol::low::create_late_lint_passes
- sol::low::create_project_lint_passes
- sol::low::delegatecall_loop::arg_matches_param
- sol::low::delegatecall_loop::args_match_function
- sol::low::delegatecall_loop::base_contract
- sol::low::delegatecall_loop::base_item_source
- sol::low::delegatecall_loop::common_ty
- sol::low::delegatecall_loop::explicit_cast_ty
- sol::low::delegatecall_loop::expr_ty
- sol::low::delegatecall_loop::fn_call_return_type
- sol::low::delegatecall_loop::index_ty
- sol::low::delegatecall_loop::indexed_base_data_location
- sol::low::delegatecall_loop::is_address_ty
- sol::low::delegatecall_loop::is_builtin
- sol::low::delegatecall_loop::is_current_context_helper
- sol::low::delegatecall_loop::is_payable_entry_point
- sol::low::delegatecall_loop::is_this_or_super
- sol::low::delegatecall_loop::member_ty
- sol::low::delegatecall_loop::referenced_item
- sol::low::delegatecall_loop::unique
- sol::low::delegatecall_loop::variable_data_location
- sol::low::missing_zero_check::collect_modifier_guards
- sol::low::missing_zero_check::collect_taint_sources
- sol::low::missing_zero_check::is_address_state_var_lhs
- sol::low::missing_zero_check::is_entry_point
- sol::low::missing_zero_check::lhs_local_var
- sol::low::return_bomb::array_sizes_match
- sol::low::return_bomb::bool_expr_matches_type
- sol::low::return_bomb::call_return_type
- sol::low::return_bomb::call_returns_dynamic_data
- sol::low::return_bomb::call_with_gas_returns_dynamic_data
- sol::low::return_bomb::callee_is_address_returning_builtin
- sol::low::return_bomb::common_expr_type
- sol::low::return_bomb::const_array_size
- sol::low::return_bomb::const_array_size_binary_op
- sol::low::return_bomb::const_array_size_inner
- sol::low::return_bomb::contract_type_matches
- sol::low::return_bomb::elementary_type_matches
- sol::low::return_bomb::enclosing_contract
- sol::low::return_bomb::expr_contract_id
- sol::low::return_bomb::expr_is_address
- sol::low::return_bomb::expr_is_bool
- sol::low::return_bomb::expr_matches_type
- sol::low::return_bomb::expr_type
- sol::low::return_bomb::fixed_array_sizes_match
- sol::low::return_bomb::function_arg_match
- sol::low::return_bomb::function_candidates_for_member
- sol::low::return_bomb::function_pointer_candidates_for_callee
- sol::low::return_bomb::function_returns_dynamic_data
- sol::low::return_bomb::function_type_returns_for_args
- sol::low::return_bomb::functions_return_dynamic_data
- sol::low::return_bomb::integer_literal
- sol::low::return_bomb::integer_literal_matches_type
- sol::low::return_bomb::is_address_type
- sol::low::return_bomb::is_bool_type
- sol::low::return_bomb::is_dynamic_type
- sol::low::return_bomb::is_externally_callable
- sol::low::return_bomb::is_this
- sol::low::return_bomb::lit_matches_type
- sol::low::return_bomb::low_level_call_with_gas_consumes_unbounded_return_data
- sol::low::return_bomb::matching_functions_for_callee
- sol::low::return_bomb::member_is_builtin_address
- sol::low::return_bomb::params_arg_match
- sol::low::return_bomb::params_match_args
- sol::low::return_bomb::res_function_id
- sol::low::return_bomb::returns_dynamic_data
- sol::low::return_bomb::select_functions_for_args
- sol::low::return_bomb::single_function
- sol::low::return_bomb::single_return_type
- sol::low::return_bomb::type_contract_id
- sol::low::return_bomb::types_match
- sol::med::create_early_lint_passes
- sol::med::create_late_lint_passes
- sol::med::create_project_lint_passes
- sol::med::div_mul::contains_division
- sol::med::incorrect_erc20_interface::has_incorrect_erc20_signature
- sol::med::incorrect_erc721_interface::has_incorrect_erc721_signature
- sol::med::incorrect_strict_equality::contains_externally_influenced
- sol::med::incorrect_strict_equality::indexed_element_type
- sol::med::incorrect_strict_equality::is_address_expr
- sol::med::incorrect_strict_equality::is_externally_influenced
- sol::med::incorrect_strict_equality::struct_field_type
- sol::med::incorrect_strict_equality::struct_of
- sol::med::tautology::elem_type_of
- sol::med::tautology::flip
- sol::med::tautology::is_tautology
- sol::med::tautology::lit_value_of
- sol::med::tx_origin::contains_tx_origin
- sol::med::tx_origin::emit_if_contains_tx_origin
- sol::med::tx_origin::is_require_or_assert_call
- sol::med::tx_origin::is_tx_origin
- sol::med::uninitialized_local::branch_always_exits
- sol::med::uninitialized_local::mark_written
- sol::med::unsafe_typecast::infer_source_types
- sol::med::unsafe_typecast::is_unsafe_elementary_typecast
- sol::med::unsafe_typecast::is_unsafe_typecast_hir
- sol::med::unused_return::is_erc20_transfer_sig
- sol::med::unused_return::is_unused_return_call
- sol::med::weak_prng::const_eval_u64
- sol::med::weak_prng::contains_predictable_source
- sol::med::weak_prng::is_abi_encode
- sol::med::weak_prng::is_block_member
- sol::med::weak_prng::is_block_member_with
- sol::med::weak_prng::is_block_timestamp
- sol::med::weak_prng::is_blockhash_call
- sol::med::weak_prng::is_ident
- sol::med::weak_prng::is_keccak256
- sol::med::weak_prng::is_predictable_source
- sol::med::weak_prng::is_randomness_expr
- sol::med::weak_prng::is_randomness_modulo
- sol::med::weak_prng::is_time_bucket_modulus
- sol::med::weak_prng::is_timestamp_time_bucket
- sol::med::weak_prng::is_timestamp_time_bucket_expr
- sol::naming::check_mixed_case
- sol::naming::check_pascal_case
- sol::naming::check_screaming_snake_case
- sol::naming::preserve_underscores
- sol::parse_inline_config
Type Aliases
- sol::low::calls_loop::Placeholder
- sol::low::delegatecall_loop::ModifierContinuation
- sol::low::return_bomb::ConstArraySize
Statics
- sol::ALL_REGISTERED_LINTS
- sol::DEFAULT_LINT_SPECIFIC_CONFIG
- sol::codesize::unwrapped_modifier_logic::UNWRAPPED_MODIFIER_LOGIC
- sol::gas::cache_array_length::CACHE_ARRAY_LENGTH
- sol::gas::costly_loop::COSTLY_LOOP
- sol::gas::custom_errors::CUSTOM_ERRORS
- sol::gas::external_function::EXTERNAL_FUNCTION
- sol::gas::immutable::COULD_BE_CONSTANT
- sol::gas::immutable::COULD_BE_IMMUTABLE
- sol::gas::keccak::ASM_KECCAK256
- sol::gas::unused_state_variables::UNUSED_STATE_VARIABLES
- sol::gas::var_read_using_this::VAR_READ_USING_THIS
- sol::high::incorrect_shift::INCORRECT_SHIFT
- sol::high::reentrancy::REENTRANCY_UNLIMITED_GAS
- sol::high::rtlo::RTLO
- sol::high::unchecked_calls::ERC20_UNCHECKED_TRANSFER
- sol::high::unchecked_calls::UNCHECKED_CALL
- sol::info::boolean_cst::BOOLEAN_CST
- sol::info::boolean_equal::BOOLEAN_EQUAL
- sol::info::event_fields::EVENT_FIELDS
- sol::info::imports::UNALIASED_PLAIN_IMPORT
- sol::info::imports::UNUSED_IMPORT
- sol::info::inline_assembly::INLINE_ASSEMBLY
- sol::info::interface_naming::INTERFACE_FILE_NAMING
- sol::info::interface_naming::INTERFACE_NAMING
- sol::info::low_level_calls::LOW_LEVEL_CALLS
- sol::info::missing_inheritance::MISSING_INHERITANCE
- sol::info::mixed_case::MIXED_CASE_FUNCTION
- sol::info::mixed_case::MIXED_CASE_VARIABLE
- sol::info::multi_contract_file::MULTI_CONTRACT_FILE
- sol::info::named_struct_fields::NAMED_STRUCT_FIELDS
- sol::info::pascal_case::PASCAL_CASE_STRUCT
- sol::info::pragma_directive::PRAGMA_INCONSISTENT
- sol::info::redundant_base_constructor_call::REDUNDANT_BASE_CONSTRUCTOR_CALL
- sol::info::screaming_snake_case::SCREAMING_SNAKE_CASE_CONSTANT
- sol::info::screaming_snake_case::SCREAMING_SNAKE_CASE_IMMUTABLE
- sol::info::too_many_digits::TOO_MANY_DIGITS
- sol::info::unsafe_cheatcodes::UNSAFE_CHEATCODE_USAGE
- sol::low::block_timestamp::BLOCK_TIMESTAMP
- sol::low::calls_loop::CALLS_LOOP
- sol::low::delegatecall_loop::DELEGATECALL_LOOP
- sol::low::missing_zero_check::MISSING_ZERO_CHECK
- sol::low::return_bomb::RETURN_BOMB
- sol::med::div_mul::DIVIDE_BEFORE_MULTIPLY
- sol::med::incorrect_erc20_interface::INCORRECT_ERC20_INTERFACE
- sol::med::incorrect_erc721_interface::INCORRECT_ERC721_INTERFACE
- sol::med::incorrect_strict_equality::INCORRECT_STRICT_EQUALITY
- sol::med::tautology::TYPE_BASED_TAUTOLOGY
- sol::med::tx_origin::TX_ORIGIN
- sol::med::uninitialized_local::UNINITIALIZED_LOCAL
- sol::med::unsafe_typecast::UNSAFE_TYPECAST
- sol::med::unused_return::UNUSED_RETURN
- sol::med::weak_prng::WEAK_PRNG
Constants
- sol::codesize::REGISTERED_LINTS
- sol::gas::REGISTERED_LINTS
- sol::gas::external_function::PROJECT_INDEX
- sol::high::REGISTERED_LINTS
- sol::info::REGISTERED_LINTS
- sol::info::event_fields::MAX_INDEXED_ANON
- sol::info::event_fields::MAX_INDEXED_NON_ANON
- sol::info::inline_assembly::ASSEMBLY_KW_LEN
- sol::info::inline_assembly::NATSPEC_MEMORY_SAFE_MARKER
- sol::info::unsafe_cheatcodes::UNSAFE_CHEATCODES
- sol::low::REGISTERED_LINTS
- sol::med::REGISTERED_LINTS