mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-07 22:44:27 +08:00
Add ClassVar support for dataclass
This commit is contained in:
@@ -146,6 +146,10 @@ def get_dataclass_param_names(cls):
|
|||||||
d = name.tree_name.get_definition()
|
d = name.tree_name.get_definition()
|
||||||
annassign = d.children[1]
|
annassign = d.children[1]
|
||||||
if d.type == 'expr_stmt' and annassign.type == 'annassign':
|
if d.type == 'expr_stmt' and annassign.type == 'annassign':
|
||||||
|
node = annassign.children[1]
|
||||||
|
if node.type == "atom_expr" and node.children[0].value == "ClassVar":
|
||||||
|
continue
|
||||||
|
|
||||||
if len(annassign.children) < 4:
|
if len(annassign.children) < 4:
|
||||||
default = None
|
default = None
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -392,13 +392,18 @@ def test_dataclass_signature(
|
|||||||
"""
|
"""
|
||||||
name: str
|
name: str
|
||||||
foo = 3
|
foo = 3
|
||||||
|
blob: ClassVar[str]
|
||||||
price: float
|
price: float
|
||||||
quantity: int = 0.0
|
quantity: int = 0.0
|
||||||
|
|
||||||
X("""
|
X("""
|
||||||
)
|
)
|
||||||
|
|
||||||
code = 'from dataclasses import dataclass\n' + start + code
|
code = (
|
||||||
|
"from dataclasses import dataclass\nfrom typing import ClassVar\n"
|
||||||
|
+ start
|
||||||
|
+ code
|
||||||
|
)
|
||||||
|
|
||||||
sig, = Script(code).get_signatures()
|
sig, = Script(code).get_signatures()
|
||||||
expected_params = (
|
expected_params = (
|
||||||
|
|||||||
Reference in New Issue
Block a user