MCPcopy Create free account

hub / github.com/0xKitsune/sstan / functions

Functions311 in github.com/0xKitsune/sstan

↓ 73 callersMethodpush_or_insert
(&mut self, path: PathBuf, loc: Loc, snippet: Snippet)
src/engine.rs:24
↓ 65 callersMethodadd_source
(mut self, file_name: &str, contents: &str)
src/utils.rs:193
↓ 44 callersMethodvisit_expr
Expressions Don't write semicolon at the end because expressions can appear as both part of other node and a statement in the function body
src/extractors/visitor.rs:490
↓ 34 callersMethodvisit_ident
(&mut self, _loc: Loc, _ident: &mut Identifier)
src/extractors/visitor.rs:1019
↓ 11 callersMethodvisit_yul_block
( &mut self, _loc: Loc, _stmts: &mut Vec<YulStatement>, _attempt_single_line:
src/extractors/visitor.rs:1456
↓ 10 callersMethodvisit_statement
Statement visitor
src/extractors/visitor.rs:115
↓ 10 callersMethodvisit_yul_expr
(&mut self, _loc: Loc, expr: &mut YulExpression)
src/extractors/visitor.rs:1524
↓ 6 callersMethodvisit_ident_path
( &mut self, _identifier_path: &mut IdentifierPath, )
src/extractors/visitor.rs:1024
↓ 5 callersMethodvisit_annotation
(&mut self, _annotation: &mut Annotation)
src/extractors/visitor.rs:384
↓ 5 callersMethodvisit_stray_semicolon
(&mut self, _loc: Loc)
src/extractors/visitor.rs:1387
↓ 5 callersMethodvisit_var_declaration
( &mut self, var_declaration: &mut VariableDeclaration, )
src/extractors/visitor.rs:1068
↓ 4 callersFunctioncheck_for_address_zero
(box_expression: pt::Expression)
src/optimizations/address_zero.rs:48
↓ 4 callersFunctionextract_names
( functions: Vec<FunctionDefinition>, )
src/qa/public_functions.rs:62
↓ 4 callersFunctionis_screaming_snake_case
Check if a string is SCREAMING_SNAKE_CASE
src/utils.rs:58
↓ 4 callersFunctionstorage_slots_used
(variables: Vec<u16>)
src/utils.rs:102
↓ 4 callersMethodvisit_enum
(&mut self, enum_definition: &mut Box<EnumDefinition>)
src/extractors/visitor.rs:371
↓ 4 callersMethodvisit_error
(&mut self, error: &mut ErrorDefinition)
src/extractors/visitor.rs:217
↓ 4 callersMethodvisit_event
(&mut self, event: &mut EventDefinition)
src/extractors/visitor.rs:231
↓ 4 callersMethodvisit_function
(&mut self, function: &mut FunctionDefinition)
src/extractors/visitor.rs:92
↓ 4 callersMethodvisit_parameter
(&mut self, parameter: &mut Parameter)
src/extractors/visitor.rs:1346
↓ 4 callersMethodvisit_string_literal
( &mut self, _string_literal: &mut StringLiteral, )
src/extractors/visitor.rs:768
↓ 4 callersMethodvisit_struct
(&mut self, structure: &mut StructDefinition)
src/extractors/visitor.rs:242
↓ 4 callersMethodvisit_type_definition
(&mut self, def: &mut TypeDefinition)
src/extractors/visitor.rs:1379
↓ 4 callersMethodvisit_using
(&mut self, using: &mut Using)
src/extractors/visitor.rs:1402
↓ 4 callersMethodvisit_var_definition
(&mut self, var: &mut VariableDefinition)
src/extractors/visitor.rs:1037
↓ 3 callersMethodfind
( source: &mut HashMap<PathBuf, SourceUnit>, )
src/qa/unused_returns.rs:20
↓ 3 callersMethodfinding_from_report_section_fragment
( &self, report_section_fragment: &ReportSectionFragment, )
src/report.rs:82
↓ 3 callersFunctionget_32_byte_storage_variables
TODO: move this to a compound extractor
src/utils.rs:138
↓ 3 callersMethodvisit_break
(&mut self, _loc: Loc, _semicolon: bool)
src/extractors/visitor.rs:1154
↓ 3 callersMethodvisit_continue
(&mut self, _loc: Loc, _semicolon: bool)
src/extractors/visitor.rs:1159
↓ 3 callersMethodvisit_named_arg
(&mut self, arg: &mut NamedArgument)
src/extractors/visitor.rs:162
↓ 3 callersMethodvisit_parser_error
(&mut self, _loc: Loc)
src/extractors/visitor.rs:1767
↓ 3 callersMethodvisit_yul_function_call
(&mut self, _stmt: &mut YulFunctionCall)
src/extractors/visitor.rs:1657
↓ 3 callersMethodvisit_yul_typed_ident
(&mut self, ident: &mut YulTypedIdentifier)
src/extractors/visitor.rs:1760
↓ 2 callersFunctioncheck_for_bool_equals_bool
( box_expression: pt::Expression, box_expression_1: pt::Expression, )
src/optimizations/bool_equals_bool.rs:44
↓ 2 callersFunctioncheck_if_inputs_are_power_of_two
( box_expression: Expression, box_expression_1: Expression, )
src/optimizations/shift_math.rs:43
↓ 2 callersFunctioncheck_if_using_safe_math
(source_unit: &mut SourceUnit)
src/optimizations/safe_math.rs:70
↓ 2 callersFunctionget_type_size
Returns the size of the type in bits
src/utils.rs:67
↓ 2 callersFunctionis_camel_case
Check if a string is camelCase
src/utils.rs:46
↓ 2 callersFunctionis_pascal_case
Check if a string is PascalCase
src/utils.rs:52
↓ 2 callersFunctionis_self_destruct
Check if a given function's name is "selfdestruct" or "suicide"
src/vulnerabilities/unprotected_self_destruct.rs:108
↓ 2 callersFunctionparse_contract_for_safe_math_functions
( source_unit: &mut SourceUnit, )
src/optimizations/safe_math.rs:87
↓ 2 callersFunctionread_lines
(filename: P)
src/utils.rs:129
↓ 2 callersMethodvisit_args
(&mut self, _loc: Loc, _args: &mut Vec<NamedArgument>)
src/extractors/visitor.rs:479
↓ 2 callersMethodvisit_assembly
( &mut self, _loc: Loc, _dialect: &mut Option<StringLiteral>, _block: &mut Yul
src/extractors/visitor.rs:446
↓ 2 callersMethodvisit_block
( &mut self, _loc: Loc, _unchecked: bool, _statements: &mut Vec<Statement>,
src/extractors/visitor.rs:466
↓ 2 callersMethodvisit_contract
(&mut self, contract: &mut ContractDefinition)
src/extractors/visitor.rs:261
↓ 2 callersMethodvisit_do_while
( &mut self, _loc: Loc, _body: &mut Statement, _cond: &mut Expression, )
src/extractors/visitor.rs:1208
↓ 2 callersMethodvisit_emit
(&mut self, _loc: Loc, _event: &mut Expression)
src/extractors/visitor.rs:1032
↓ 2 callersMethodvisit_for
( &mut self, _loc: Loc, _init: &mut Option<Box<Statement>>, _cond: &mut Option
src/extractors/visitor.rs:1232
↓ 2 callersMethodvisit_function_attribute
( &mut self, _attribute: &mut FunctionAttribute, )
src/extractors/visitor.rs:191
↓ 2 callersMethodvisit_hex_literal
(&mut self, _hex_literal: &mut HexLiteral)
src/extractors/visitor.rs:740
↓ 2 callersMethodvisit_hex_number_literal
( &mut self, _loc: Loc, _string_0: &mut String, ident: &mut Option<Identifier>
src/extractors/visitor.rs:776
↓ 2 callersMethodvisit_if
( &mut self, _loc: Loc, _cond: &mut Expression, _if_branch: &mut Box<Statement
src/extractors/visitor.rs:1191
↓ 2 callersMethodvisit_import
(&mut self, _import: &mut Import)
src/extractors/visitor.rs:355
↓ 2 callersMethodvisit_import_global
( &mut self, _loc: Loc, _global: &mut ImportPath, _alias: &mut Identifier,
src/extractors/visitor.rs:417
↓ 2 callersMethodvisit_import_plain
( &mut self, _loc: Loc, _import: &mut ImportPath, )
src/extractors/visitor.rs:408
↓ 2 callersMethodvisit_import_renames
( &mut self, _loc: Loc, _imports: &mut [(Identifier, Option<Identifier>)], _fr
src/extractors/visitor.rs:429
↓ 2 callersMethodvisit_parameter_list
pub type ParameterList = Vec<(Loc, Option<Parameter>)>;
src/extractors/visitor.rs:199
↓ 2 callersMethodvisit_pragma
( &mut self, _loc: Loc, _ident: &mut Option<Identifier>, _str: &mut Option<Str
src/extractors/visitor.rs:393
↓ 2 callersMethodvisit_return
( &mut self, _loc: Loc, _expr: &mut Option<Expression>, )
src/extractors/visitor.rs:1110
↓ 2 callersMethodvisit_revert
( &mut self, _loc: Loc, _error: &mut Option<IdentifierPath>, _args: &mut Vec<E
src/extractors/visitor.rs:1122
↓ 2 callersMethodvisit_revert_named_args
( &mut self, _loc: Loc, _error: &mut Option<IdentifierPath>, _args: &mut Vec<N
src/extractors/visitor.rs:1138
↓ 2 callersMethodvisit_storage_loc
( &mut self, _loc: Loc, _storage: &mut StorageLocation, )
src/extractors/visitor.rs:1084
↓ 2 callersMethodvisit_try
( &mut self, _loc: Loc, _expr: &mut Expression, _returns: &mut Option<(Vec<(Lo
src/extractors/visitor.rs:1163
↓ 2 callersMethodvisit_variable
(&mut self, _loc: Loc, _ident: &mut Identifier)
src/extractors/visitor.rs:745
↓ 2 callersMethodvisit_while
( &mut self, _loc: Loc, _cond: &mut Expression, _body: &mut Statement, )
src/extractors/visitor.rs:1220
↓ 2 callersMethodvisit_yul_assignment
( &mut self, _loc: Loc, _exprs: &mut Vec<YulExpression>, _expr: &mut Option<&m
src/extractors/visitor.rs:1620
↓ 2 callersMethodvisit_yul_for
(&mut self, _stmt: &mut YulFor)
src/extractors/visitor.rs:1636
↓ 2 callersMethodvisit_yul_fun_def
(&mut self, _stmt: &mut YulFunctionDefinition)
src/extractors/visitor.rs:1666
↓ 2 callersMethodvisit_yul_if
( &mut self, _loc: Loc, _expr: &mut YulExpression, _block: &mut YulBlock,
src/extractors/visitor.rs:1679
↓ 2 callersMethodvisit_yul_leave
(&mut self, _loc: Loc)
src/extractors/visitor.rs:1691
↓ 2 callersMethodvisit_yul_switch
(&mut self, _stmt: &mut YulSwitch)
src/extractors/visitor.rs:1695
↓ 2 callersMethodvisit_yul_switch_options
( &mut self, _stmt: &mut YulSwitchOptions, )
src/extractors/visitor.rs:1707
↓ 2 callersMethodvisit_yul_var_declaration
( &mut self, _loc: Loc, _idents: &mut Vec<YulTypedIdentifier>, _expr: &mut Opt
src/extractors/visitor.rs:1744
↓ 1 callersFunction_is_public_or_external
Return true if the visibility of a given function is public or external. Return false otherwise.
src/vulnerabilities/unprotected_self_destruct.rs:86
↓ 1 callersFunctioncontains_msg_sender_conditions
Check if there are any conditions applied on msg.sender examples: `require(msg.sender == owner)` or `check(msg.sender)`
src/vulnerabilities/unprotected_self_destruct.rs:147
↓ 1 callersFunctioncontains_protection_modifiers
Check if a given function contains any modifier with "only" in its name
src/vulnerabilities/unprotected_self_destruct.rs:121
↓ 1 callersMethodextract_array_subscript
( &mut self, _loc: Loc, _expr_0: &mut Box<Expression>, _expr_1: &mut Option<Bo
src/extractors/primitive.rs:368
↓ 1 callersMethodextract_contract
(&mut self, contract: &mut ContractDefinition)
src/extractors/primitive.rs:201
↓ 1 callersMethodextract_error
(&mut self, _error: &mut ErrorDefinition)
src/extractors/primitive.rs:141
↓ 1 callersMethodextract_event
(&mut self, _event: &mut EventDefinition)
src/extractors/primitive.rs:335
↓ 1 callersMethodextract_expr
(&mut self, _loc: Loc, expr: &mut Expression)
src/extractors/primitive.rs:11
↓ 1 callersMethodextract_function
(&mut self, function: &mut FunctionDefinition)
src/extractors/primitive.rs:180
↓ 1 callersMethodextract_import
( &mut self, import: &mut solang_parser::pt::Import, )
src/extractors/primitive.rs:35
↓ 1 callersFunctionextract_increment_decrement
(node: &mut SourceUnit)
src/optimizations/increment_decrement.rs:50
↓ 1 callersMethodextract_parameter
(&mut self, parameter: &mut Parameter)
src/extractors/primitive.rs:312
↓ 1 callersFunctionextract_pre_increment_pre_decrement
(node: &mut pt::Statement)
src/optimizations/increment_decrement.rs:76
↓ 1 callersFunctionextract_source
TODO: propagate these errors, dont unwrap
src/utils.rs:16
↓ 1 callersMethodextract_source_unit_part
( &mut self, source_unit_part: &mut SourceUnitPart, )
src/extractors/primitive.rs:211
↓ 1 callersMethodextract_statement
(&mut self, statement: &mut Statement)
src/extractors/primitive.rs:23
↓ 1 callersMethodextract_struct
(&mut self, struct_def: &mut StructDefinition)
src/extractors/primitive.rs:226
↓ 1 callersMethodextract_using_list
(&mut self, using_list: &mut UsingList)
src/extractors/primitive.rs:236
↓ 1 callersMethodextract_var_definition
(&mut self, _var: &mut VariableDefinition)
src/extractors/primitive.rs:358
↓ 1 callersMethodextract_yul_function_call
( &mut self, _stmt: &mut YulFunctionCall, )
src/extractors/primitive.rs:345
↓ 1 callersFunctionget_function_definition_memory_args
( function_definition: pt::FunctionDefinition, )
src/optimizations/memory_to_calldata.rs:77
↓ 1 callersFunctionget_line_number
get line number of start of character range
src/utils.rs:85
↓ 1 callersFunctionget_storage_variables_assigned_in_constructor
( source_unit: &mut SourceUnit, storage_variables: &HashMap<String, VariableDefinition>, )
src/optimizations/immutable_variable.rs:200
↓ 1 callersMethodidentifier
(&self)
src/report.rs:415
↓ 1 callersMethodinstance_from_report_outcome
(&self, report_outcome: &OutcomeReport)
src/report.rs:103
next →1–100 of 311, ranked by callers