Function Find method from many

None

Format:

definition of method method_name in base classes bases in class_defs

Input:

list class_defs -
list bases -
string method_name -

Output:

list - None

Conditional properties that reference this function:

  • if the following are true:

    • Expression Stack at time t = [ [ ], [ [ super().method_name(args), ys ], rest ] ]
    • Value Stack at time t = [ values, [ next_level, other_levels ] ]
    • reverse of values = [ Python super reference pi class_name, other_vals ]
    • Class Map at time t = cds
    • value at "bases" in map (value at class_name in map cds) = base_classes
    • definition of method method_name in base classes base_classes in (Class Map at time t) = method_map
    • value at "params" in map method_map = [ base_param, other_base_params ]
    • Parameters List at time t = None

    then Parameters List at time (t + 1) = [ base_param, other_base_params ]

    (link)
  • if the following are true:

    • Expression Stack at time t = [ [ ], [ [ super().method_name(args), ys ], rest ] ]
    • Value Stack at time t = [ values, [ next_level, other_levels ] ]
    • reverse of values = [ Python super reference pi class_name, other_vals ]
    • Class Map at time t = cds
    • value at "bases" in map (value at class_name in map cds) = base_classes
    • definition of method method_name in base classes base_classes in (Class Map at time t) = method_map
    • value at "params" in map method_map = [ base_param, other_base_params ]
    • Parameters List at time t = None

    then Argument Values at time (t + 1) = [ Python super reference pi class_name, other_vals ]

    (link)
  • if the following are true:

    • Expression Stack at time t = [ [ ], [ [ super().method_name(args), ys ], rest ] ]
    • Value Stack at time t = [ values, [ next_level, other_levels ] ]
    • reverse of values = [ Python super reference pi class_name, other_vals ]
    • Class Map at time t = cds
    • value at "bases" in map (value at class_name in map cds) = base_classes
    • definition of method method_name in base classes base_classes in (Class Map at time t) = method_map
    • value at "params" in map method_map = [ base_param, other_base_params ]
    • Parameters List at time t = None

    then Function Variables Map at time (t + 1) = [ ]

    (link)
  • if the following are true:

    • Expression Stack at time t = [ [ ], [ [ super().method_name(args), ys ], rest ] ]
    • Value Stack at time t = [ values, [ next_level, other_levels ] ]
    • reverse of values = [ Python super reference pi class_name, other_vals ]
    • Class Map at time t = cds
    • value at "bases" in map (value at class_name in map cds) = base_classes
    • definition of method method_name in base classes base_classes in (Class Map at time t) = method_map
    • value at "params" in map method_map = [ base_param, other_base_params ]
    • Parameters List at time t = None

    then Value Stack at time (t + 1) = [ next_level, other_levels ]

    (link)
  • if the following are true:

    • value at class_name in map class_defs = class_def
    • value at "methods" in map class_def = methods_map
    • map methods_map contains key method_name = False

    then definition of method method_name of class class_name in class_defs = definition of method method_name in base classes (value at "bases" in map class_def) in class_defs

    (link)
  • if definition of method method_name of class first_base in class_defs = method_map, then definition of method method_name in base classes [ first_base, rest ] in class_defs = method_map

    (link)
  • if the following are true:

    • value at first_base in map class_defs = class_def
    • value at "methods" in map class_def = methods_map
    • map methods_map contains key method_name = False

    then definition of method method_name in base classes [ first_base, rest ] in class_defs = definition of method method_name in base classes rest in class_defs

    (link)


Comments

Please log in to add comments