mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-01 23:06:24 +07:00
PY-22102 Fixed: NamedTuple class declaration for Python 3.6 not supported by PyCharm PY-22249 Fixed: Add parameters tooltip to namedtuple constructor PY-22740 Fixed: Unexpected argument for field names of class inherited from namedtuple Update PyNamedTupleType to be callable and provide parameters when creating new namedtuple instance. Update PyStdlibTypeProvider to provide special callable types when creating new namedtuple inheritor instance. Update PyCallExpressionHelper to check type providers when resolving callee. Update PyClassImpl to return PyNamedTupleType when class inherits typing.NamedTuple. Parameter hints and PyArgumentListInspection work correctly with creating new namedtuple instances.
48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
from collections import namedtuple
|
|
|
|
|
|
MyTup1 = namedtuple(<warning descr="Unexpected argument">bar=''</warning><warning descr="Parameter 'field_names' unfilled"><warning descr="Parameter 'typename' unfilled">)</warning></warning>
|
|
MyTup2 = namedtuple("MyTup2", "bar baz")
|
|
|
|
|
|
class MyTup3(namedtuple(<warning descr="Unexpected argument">bar=''</warning><warning descr="Parameter 'field_names' unfilled"><warning descr="Parameter 'typename' unfilled">)</warning></warning>):
|
|
pass
|
|
|
|
|
|
class MyTup4(namedtuple("MyTup4", "bar baz")):
|
|
pass
|
|
|
|
|
|
# empty
|
|
MyTup2(<warning descr="Parameter 'bar' unfilled"><warning descr="Parameter 'baz' unfilled">)</warning></warning>
|
|
|
|
# one
|
|
MyTup2(bar=''<warning descr="Parameter 'baz' unfilled">)</warning>
|
|
MyTup2(baz=''<warning descr="Parameter 'bar' unfilled">)</warning>
|
|
|
|
# two
|
|
MyTup2('', '')
|
|
MyTup2(bar='', baz='')
|
|
MyTup2(baz='', bar='')
|
|
|
|
# three
|
|
MyTup2(bar='', baz='', <warning descr="Unexpected argument">foo=''</warning>)
|
|
MyTup2('', '', <warning descr="Unexpected argument">''</warning>)
|
|
|
|
|
|
# empty
|
|
MyTup4(<warning descr="Parameter 'bar' unfilled"><warning descr="Parameter 'baz' unfilled">)</warning></warning>
|
|
|
|
# one
|
|
MyTup4(bar=''<warning descr="Parameter 'baz' unfilled">)</warning>
|
|
MyTup4(baz=''<warning descr="Parameter 'bar' unfilled">)</warning>
|
|
|
|
# two
|
|
MyTup4('', '')
|
|
MyTup4(bar='', baz='')
|
|
MyTup4(baz='', bar='')
|
|
|
|
# three
|
|
MyTup4(bar='', baz='', <warning descr="Unexpected argument">foo=''</warning>)
|
|
MyTup4('', '', <warning descr="Unexpected argument">''</warning>)
|