dropbox/pyannotate

[propose] Should we have event caller (f_back) in type_comments?

Opened this issue · 0 comments

If you have multiple functions calling one function, it will look like this.

  {
    "path": "~~~",
    "line": 1,
    "func_name": "called_func",
    "type_comments": [
        "(int) -> int"
        "(int) -> str"
    ],
    "samples": 2
  },

I would like to know which function calls the called_func in this case.

  {
    "path": "~~~",
    "line": 1,
    "func_name": "called_func",
    "type_comments": [
        {
            "calling1_func": "(int) -> int",
        }
        {
            "calling2_func": "(int) -> str",
        }
    ],
    "samples": 2
  },

... because there are chances to have 10 or more samples (sadly).

remarks

This must change the code below (and more. such as FunctionKey), but it maybe gets slower.

# TODO: Make this faster
def get_function_name_from_frame(frame):
# type: (Any) -> str

So I want to know if this proposal is ideal or not. If ideal I think I can contribute when I have a time (maybe late of this month)