forge_lint/sol/gas/
mod.rs1use crate::sol::{EarlyLintPass, LateLintPass, SolLint};
2
3mod cache_array_length;
4mod costly_loop;
5mod custom_errors;
6mod external_function;
7mod immutable;
8mod keccak;
9mod unused_state_variables;
10mod var_read_using_this;
11mod write_after_write;
12use cache_array_length::CACHE_ARRAY_LENGTH;
13use costly_loop::COSTLY_LOOP;
14use custom_errors::CUSTOM_ERRORS;
15use external_function::EXTERNAL_FUNCTION;
16use immutable::{COULD_BE_CONSTANT, COULD_BE_IMMUTABLE};
17use keccak::ASM_KECCAK256;
18use unused_state_variables::UNUSED_STATE_VARIABLES;
19use var_read_using_this::VAR_READ_USING_THIS;
20use write_after_write::WRITE_AFTER_WRITE;
21
22register_lints!(
23 (AsmKeccak256, late, (ASM_KECCAK256)),
24 (CacheArrayLength, late, (CACHE_ARRAY_LENGTH)),
25 (CostlyLoop, late, (COSTLY_LOOP)),
26 (CustomErrors, early, (CUSTOM_ERRORS)),
27 (UnchangedStateVariables, late, (COULD_BE_IMMUTABLE, COULD_BE_CONSTANT)),
28 (ExternalFunction, late, (EXTERNAL_FUNCTION)),
29 (UnusedStateVariables, late, (UNUSED_STATE_VARIABLES)),
30 (VarReadUsingThis, late, (VAR_READ_USING_THIS)),
31 (WriteAfterWrite, late, (WRITE_AFTER_WRITE)),
32);