solidity_parser.ast.funcanalysis

Classes

PathEdgeKind

Create a collection of name/value pairs.

Functions

Module Contents

solidity_parser.ast.funcanalysis.find_matching_function_in_type(ttype: solidity_parser.ast.solnodes2.TopLevelUnit, name, arg_types, ignore_current_type=False)
solidity_parser.ast.funcanalysis.find_possible_matching_functions_for_declared_type(declared_ttype: solidity_parser.ast.solnodes2.ResolvedUserType, name, arg_types, is_super_call)
solidity_parser.ast.funcanalysis.add_function_to_cg(cg: networkx.DiGraph, finished_functions, function: solidity_parser.ast.solnodes2.FunctionDefinition)
solidity_parser.ast.funcanalysis.find_possible_calls(declared_ttype: solidity_parser.ast.solnodes2.ResolvedUserType | solidity_parser.ast.solnodes2.SuperType, name: str, args: List[solidity_parser.ast.solnodes2.Expr], match_filter=lambda x: ..., use_subtypes=True) List[solidity_parser.ast.solnodes2.FunctionDefinition]
solidity_parser.ast.funcanalysis.mark_sources(units: List[solidity_parser.ast.solnodes2.TopLevelUnit])
solidity_parser.ast.funcanalysis.is_fca_important(f: solidity_parser.ast.solnodes2.FunctionDefinition)
solidity_parser.ast.funcanalysis.is_blackbox_node(f: solidity_parser.ast.solnodes2.FunctionDefinition)
solidity_parser.ast.funcanalysis.has_inline_yul(f: solidity_parser.ast.solnodes2.FunctionDefinition)
class solidity_parser.ast.funcanalysis.PathEdgeKind

Bases: enum.Enum

Create a collection of name/value pairs.

Example enumeration:

>>> class Color(Enum):
...     RED = 1
...     BLUE = 2
...     GREEN = 3

Access them by:

  • attribute access:

>>> Color.RED
<Color.RED: 1>
  • value lookup:

>>> Color(1)
<Color.RED: 1>
  • name lookup:

>>> Color['RED']
<Color.RED: 1>

Enumerations can be iterated over, and know how many members they have:

>>> len(Color)
3
>>> list(Color)
[<Color.RED: 1>, <Color.BLUE: 2>, <Color.GREEN: 3>]

Methods can be added to enumerations, and members can have their own attributes – see the documentation for details.

INTRA_CALL = 1
SINK_INTER = 2
SINK_NO_CODE = 3
SINK_FCA_IMPORTANT = 4
SINK_INLINE_YUL = 5
solidity_parser.ast.funcanalysis.find_important_paths2(source: solidity_parser.ast.solnodes2.FunctionDefinition)