Static Analyzer for Solidity
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
slither/utils/slither_format/format_unused_state.py

24 lines
1.1 KiB

class FormatUnusedState:
@staticmethod
def format(slither, patches, elements):
for element in elements:
if element['type'] == "variable":
FormatUnusedState.create_patch(slither, patches, element['source_mapping']['filename_absolute'], \
element['source_mapping']['filename_relative'], \
element['source_mapping']['start'])
@staticmethod
def create_patch(slither, patches, in_file, in_file_relative, modify_loc_start):
in_file_str = slither.source_code[in_file].encode('utf-8')
old_str_of_interest = in_file_str[modify_loc_start:]
patches[in_file_relative].append({
"file" : in_file,
"detector" : "unused-state",
"start" : modify_loc_start,
"end" : modify_loc_start + len(old_str_of_interest.decode('utf-8').partition(';')[0]) + 1,
"old_string" : old_str_of_interest.decode('utf-8').partition(';')[0] +
old_str_of_interest.decode('utf-8').partition(';')[1],
"new_string" : ""
})