| [case testCallGlobalFunction] | |
| def f() -> None: | |
| g() | |
| def g() -> None: | |
| pass | |
| [out] | |
| 2:4:__main__.g | |
| [case testCallMethod] | |
| def f() -> None: | |
| c = C() | |
| if int(): | |
| c.method() | |
| class C: | |
| def method(self) -> None: pass | |
| [out] | |
| 2:8:__main__.C | |
| 3:7:builtins.int | |
| 4:8:__main__.C.method | |
| [case testCallStaticMethod] | |
| class C: | |
| def f(self) -> None: | |
| C.static() | |
| self.static() | |
| @classmethod | |
| def cm(cls) -> None: | |
| cls.static() | |
| @staticmethod | |
| def static() -> None: pass | |
| [builtins fixtures/classmethod.pyi] | |
| [out] | |
| 3:8:__main__.C | |
| 3:8:__main__.C.static | |
| 4:8:__main__.C.static | |
| 8:8:__main__.C.static | |
| [case testCallClassMethod] | |
| class C: | |
| def f(self) -> None: | |
| C.cm() | |
| self.cm() | |
| @classmethod | |
| def cm(cls) -> None: | |
| cls.cm() | |
| [builtins fixtures/classmethod.pyi] | |
| [out] | |
| 3:8:__main__.C | |
| 3:8:__main__.C.cm | |
| 4:8:__main__.C.cm | |
| 8:8:__main__.C.cm | |
| [case testTypeVarWithValueRestriction] | |
| from typing import TypeVar | |
| T = TypeVar("T", "C", "D") | |
| def f(o: T) -> None: | |
| f(o) | |
| o.m() | |
| o.x | |
| class C: | |
| x: int | |
| def m(self) -> None: pass | |
| class D: | |
| x: str | |
| def m(self) -> None: pass | |
| [out] | |
| 3:4:typing.TypeVar | |
| 3:0:__main__.T | |
| 6:4:__main__.f | |
| 7:4:__main__.C.m | |
| 8:4:__main__.C.x | |
| 6:4:__main__.f | |
| 7:4:__main__.D.m | |
| 8:4:__main__.D.x |