mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-07 14:34:31 +08:00
118 lines
1.5 KiB
Python
118 lines
1.5 KiB
Python
""" Test docstrings in functions and classes, which are used to infer types """
|
|
|
|
# -----------------
|
|
# sphinx style
|
|
# -----------------
|
|
def f(a, b, c, d):
|
|
""" asdfasdf
|
|
:param a: blablabla
|
|
:type a: str
|
|
:type b: (str, int)
|
|
:type c: threading.Thread
|
|
:type d: :class:`threading.Thread`
|
|
:rtype: dict
|
|
"""
|
|
#? str()
|
|
a
|
|
#? str()
|
|
b[0]
|
|
#? int()
|
|
b[1]
|
|
#? ['join']
|
|
c.join
|
|
#? ['join']
|
|
d.join
|
|
|
|
#? dict()
|
|
f()
|
|
|
|
# wrong declarations
|
|
def f(a, b):
|
|
"""
|
|
:param a: Forgot type declaration
|
|
:type a:
|
|
:param b: Just something
|
|
:type b: ``
|
|
"""
|
|
#?
|
|
a
|
|
#?
|
|
b
|
|
|
|
# -----------------
|
|
# epydoc style
|
|
# -----------------
|
|
def e(a, b):
|
|
""" asdfasdf
|
|
@type a: str
|
|
@param a: blablabla
|
|
@type b: (str, int)
|
|
@param b: blablah
|
|
@rtype: list
|
|
"""
|
|
#? str()
|
|
a
|
|
#? str()
|
|
b[0]
|
|
|
|
#? int()
|
|
b[1]
|
|
|
|
#? list()
|
|
e()
|
|
|
|
|
|
# Returns with param type only
|
|
def rparam(a,b):
|
|
"""
|
|
@type a: str
|
|
"""
|
|
return a
|
|
|
|
#? str()
|
|
rparam()
|
|
|
|
|
|
# Composite types
|
|
def composite():
|
|
"""
|
|
@rtype: (str, int, dict)
|
|
"""
|
|
|
|
x, y, z = composite()
|
|
#? str()
|
|
x
|
|
#? int()
|
|
y
|
|
#? dict()
|
|
z
|
|
|
|
|
|
# Both docstring and calculated return type
|
|
def both():
|
|
"""
|
|
@rtype: str
|
|
"""
|
|
return 23
|
|
|
|
#? str(), int()
|
|
both()
|
|
|
|
class Test(object):
|
|
def __init__(self):
|
|
self.teststr = ""
|
|
"""
|
|
# jedi issue #210
|
|
"""
|
|
def test(self):
|
|
#? ['teststr']
|
|
self.teststr
|
|
|
|
# -----------------
|
|
# statement docstrings
|
|
# -----------------
|
|
d = ''
|
|
""" bsdf """
|
|
#? str()
|
|
d.upper()
|