void () { doTestByText(""" from typing import Type class A: pass class Bar(A): # self is specified def spam11(self): # type: (Bar) -> None pass def egg11(self, a, b): # type: (Bar, str, bool) -> None pass \s # self is specified def spam12(self): # type: (A) -> None pass def egg12(self, a, b): # type: (A, str, bool) -> None pass \s # self is not specified def spam2(self): # type: () -> None pass def egg2(self, a, b): # type: (str, bool) -> None pass \s # cls is not specified\s @classmethod def spam3(cls): # type: () -> None pass @classmethod def egg3(cls, a, b): # type: (str, bool) -> None pass \s # cls is specified \s @classmethod def spam41(cls): # type: (Type[Bar]) -> None pass @classmethod def egg41(cls, a, b): # type: (Type[Bar], str, bool) -> None pass \s # cls is specified \s @classmethod def spam42(cls): # type: (Type[A]) -> None pass @classmethod def egg42(cls, a, b): # type: (Type[A], str, bool) -> None pass \s @staticmethod def spam5(): # type: () -> None pass @staticmethod def egg5(a, b): # type: (str, bool) -> None pass \s def baz(self, a, b, c, d): # type: (...) -> None pass"""); }