solidity_parser.ast.mro_helper

Attributes

T

Functions

_merge(*sequences)

c3_linearise(→ list[T])

A function to linearise the class hierarchy using the C3 linearisation algorithm.

Module Contents

solidity_parser.ast.mro_helper._merge(*sequences)
solidity_parser.ast.mro_helper.T
solidity_parser.ast.mro_helper.c3_linearise(klass: T, get_supers: Callable[[T], list[T]] = None) list[T]

A function to linearise the class hierarchy using the C3 linearisation algorithm.

Parameters:
  • klass – The class to linearise.

  • get_supers – A function to get the superclasses of a given class, must return a list of classes with the same type as the input

Returns:

A linearised list of classes following the C3 algorithm.