Function Find method

None

Format:

definition of method method_name of class class_name in class_defs

Input:

list class_defs -
string class_name -
string method_name -

Output:

list - None

Conditional properties that reference this function:

  • if the following are true:
    • value at class_name in map class_defs = class_def
    • value at "methods" in map class_def = methods
    • value at method_name in map methods = method_map

    then definition of method method_name of class class_name in class_defs = method_map

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = obj_name.method_name(args)
    • value at obj_name in map (Variables Map at time t) = Python reference index
    • the element at index index of stack (Python Object Store at time t) = Python object: [ entry "__class_name__": class_name, e_rest ]
    • Value Stack at time t = [ values, v_stack ]
    • definition of method method_name of class class_name in (Class Map at time t) = method_map

    then Argument Values at time (t + 1) = [ Python reference index, reverse of values ]

    (link)
  • if the following are true:
    • expression state at time t = "call_function_begin"
    • the expression at time t = obj_name.method_name(args)
    • value at obj_name in map (Variables Map at time t) = Python reference index
    • the element at index index of stack (Python Object Store at time t) = Python object: [ entry "__class_name__": class_name, e_rest ]
    • Value Stack at time t = [ values, v_stack ]
    • definition of method method_name of class class_name in (Class Map at time t) = method_map

    then Value Stack at time (t + 1) = v_stack

    (link)
  • if value at method_name in map (value at "methods" in map (value at class_name in map class_defs)) = method_map, then definition of method method_name of class class_name in class_defs = method_map (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 of 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 of base classes [ first_base, rest ] in class_defs = method_map (link)
  • if the following are true:
    • definition of method method_name of class class_name in class_defs = method_map
    • value at "params" in map method_map = params

    then method parameters where the Class Map is class_defs, class name is class_name, and method name is method_name = params

    (link)
  • if the following are true:
    • definition of method method_name of class class_name in class_defs = method_map
    • value at "line" in map method_map = line

    then line number of method method_name of class class_name in class_defs = line

    (link)


Comments

Please log in to add comments