mirror of
https://github.com/davidhalter/jedi.git
synced 2026-05-06 22:33:59 +08:00
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":
|
||||
correct_scope = parser_utils.get_parent_scope(name) == context.tree_node
|
||||
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 (
|
||||
(ann_assign.children[1].type == 'name')
|
||||
(first.type == 'name')
|
||||
and (ann_assign.children[1].value == tree_name.value)
|
||||
and context.parent_context
|
||||
):
|
||||
|
||||
@@ -587,3 +587,20 @@ b.add_x(2).add_y(5)
|
||||
b.add_x(2).add_not_implemented(5)
|
||||
#? Builder()
|
||||
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