mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-07 05:09:37 +07:00
Provide special type for replace usages on dataclasses (PY-28957)
This commit is contained in:
35
python/testData/paramInfo/DataclassesReplace/a.py
Normal file
35
python/testData/paramInfo/DataclassesReplace/a.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from dataclasses import dataclass, field, InitVar, replace
|
||||
|
||||
|
||||
@dataclass
|
||||
class A:
|
||||
a: int
|
||||
b: str = "str"
|
||||
|
||||
|
||||
replace(A(1), <arg1>)
|
||||
|
||||
|
||||
@dataclass
|
||||
class B:
|
||||
a: int
|
||||
b: str = field(default="str", init=False)
|
||||
|
||||
|
||||
replace(B(1), <arg2>)
|
||||
|
||||
|
||||
@dataclass
|
||||
class C:
|
||||
a: int
|
||||
b: InitVar[str] = "str"
|
||||
|
||||
|
||||
replace(C(1), <arg3>)
|
||||
|
||||
|
||||
class D:
|
||||
pass
|
||||
|
||||
|
||||
replace(D(), <arg4>)
|
||||
20
python/testData/paramInfo/DataclassesReplace/dataclasses.py
Normal file
20
python/testData/paramInfo/DataclassesReplace/dataclasses.py
Normal file
@@ -0,0 +1,20 @@
|
||||
class _InitVarMeta(type):
|
||||
def __getitem__(self, params):
|
||||
return self
|
||||
|
||||
class InitVar(metaclass=_InitVarMeta):
|
||||
pass
|
||||
|
||||
|
||||
def dataclass(_cls=None, *, init=True, repr=True, eq=True, order=False,
|
||||
unsafe_hash=False, frozen=False):
|
||||
pass
|
||||
|
||||
|
||||
def field(*, default=MISSING, default_factory=MISSING, init=True, repr=True,
|
||||
hash=None, compare=True, metadata=None):
|
||||
pass
|
||||
|
||||
|
||||
def replace(obj, **changes):
|
||||
pass
|
||||
Reference in New Issue
Block a user