forked from VimPlug/jedi
Basic support for TypeAlias, fixes #1969
This commit is contained in:
@@ -703,9 +703,12 @@ def tree_name_to_values(inference_state, context, tree_name):
|
|||||||
if expr_stmt.type == "expr_stmt" and expr_stmt.children[1].type == "annassign":
|
if expr_stmt.type == "expr_stmt" and expr_stmt.children[1].type == "annassign":
|
||||||
correct_scope = parser_utils.get_parent_scope(name) == context.tree_node
|
correct_scope = parser_utils.get_parent_scope(name) == context.tree_node
|
||||||
ann_assign = expr_stmt.children[1]
|
ann_assign = expr_stmt.children[1]
|
||||||
if correct_scope:
|
first = ann_assign.children[1]
|
||||||
|
code = first.get_code()
|
||||||
|
if correct_scope and not (code.endswith(".TypeAlias")
|
||||||
|
or code.strip() == "TypeAlias"):
|
||||||
if (
|
if (
|
||||||
(ann_assign.children[1].type == 'name')
|
(first.type == 'name')
|
||||||
and (ann_assign.children[1].value == tree_name.value)
|
and (ann_assign.children[1].value == tree_name.value)
|
||||||
and context.parent_context
|
and context.parent_context
|
||||||
):
|
):
|
||||||
|
|||||||
@@ -587,3 +587,20 @@ b.add_x(2).add_y(5)
|
|||||||
b.add_x(2).add_not_implemented(5)
|
b.add_x(2).add_not_implemented(5)
|
||||||
#? Builder()
|
#? Builder()
|
||||||
b.add_x(2).add_not_implemented_typing_extensions(5)
|
b.add_x(2).add_not_implemented_typing_extensions(5)
|
||||||
|
|
||||||
|
# -----------------
|
||||||
|
# TypeAlias (see also #1969)
|
||||||
|
# -----------------
|
||||||
|
|
||||||
|
from typing import TypeAlias
|
||||||
|
|
||||||
|
IntX: typing.TypeAlias = int
|
||||||
|
IntY: TypeAlias = int
|
||||||
|
|
||||||
|
#? int
|
||||||
|
IntX
|
||||||
|
def f(x: IntX, y: IntY):
|
||||||
|
#? int()
|
||||||
|
x
|
||||||
|
#? int()
|
||||||
|
y
|
||||||
|
|||||||
Reference in New Issue
Block a user