@@ -1002,19 +1002,24 @@ def infer_augassign(self, context=None):
1002
1002
1003
1003
1004
1004
@decorators .raise_if_nothing_inferred
1005
- def infer_arguments (self , context = None ):
1006
- name = context .lookupname
1007
- if name is None :
1005
+ def infer_arguments (
1006
+ self : nodes .Arguments , context : InferenceContext | None = None , ** kwargs : Any
1007
+ ) -> Generator [InferenceResult , None , None ]:
1008
+ if context is None or context .lookupname is None :
1008
1009
raise InferenceError (node = self , context = context )
1009
- return protocols ._arguments_infer_argname (self , name , context )
1010
+ return protocols ._arguments_infer_argname (self , context . lookupname , context )
1010
1011
1011
1012
1012
1013
nodes .Arguments ._infer = infer_arguments # type: ignore[assignment]
1013
1014
1014
1015
1015
1016
@decorators .raise_if_nothing_inferred
1016
1017
@decorators .path_wrapper
1017
- def infer_assign (self , context = None ):
1018
+ def infer_assign (
1019
+ self : nodes .AssignName | nodes .AssignAttr ,
1020
+ context : InferenceContext | None = None ,
1021
+ ** kwargs : Any ,
1022
+ ) -> Generator [InferenceResult , None , None ]:
1018
1023
"""infer a AssignName/AssignAttr: need to inspect the RHS part of the
1019
1024
assign node
1020
1025
"""
@@ -1025,13 +1030,15 @@ def infer_assign(self, context=None):
1025
1030
return bases ._infer_stmts (stmts , context )
1026
1031
1027
1032
1028
- nodes .AssignName ._infer = infer_assign
1029
- nodes .AssignAttr ._infer = infer_assign
1033
+ nodes .AssignName ._infer = infer_assign # type: ignore[assignment]
1034
+ nodes .AssignAttr ._infer = infer_assign # type: ignore[assignment]
1030
1035
1031
1036
1032
1037
@decorators .raise_if_nothing_inferred
1033
1038
@decorators .path_wrapper
1034
- def infer_empty_node (self , context = None ):
1039
+ def infer_empty_node (
1040
+ self : nodes .EmptyNode , context : InferenceContext | None = None , ** kwargs : Any
1041
+ ) -> Generator [InferenceResult , None , None ]:
1035
1042
if not self .has_underlying_object ():
1036
1043
yield util .Uninferable
1037
1044
else :
@@ -1046,14 +1053,6 @@ def infer_empty_node(self, context=None):
1046
1053
nodes .EmptyNode ._infer = infer_empty_node # type: ignore[assignment]
1047
1054
1048
1055
1049
- @decorators .raise_if_nothing_inferred
1050
- def infer_index (self , context = None ):
1051
- return self .value .infer (context )
1052
-
1053
-
1054
- nodes .Index ._infer = infer_index # type: ignore[assignment]
1055
-
1056
-
1057
1056
def _populate_context_lookup (call , context ):
1058
1057
# Allows context to be saved for later
1059
1058
# for inference inside a function
@@ -1072,7 +1071,9 @@ def _populate_context_lookup(call, context):
1072
1071
1073
1072
1074
1073
@decorators .raise_if_nothing_inferred
1075
- def infer_ifexp (self , context = None ):
1074
+ def infer_ifexp (
1075
+ self : nodes .IfExp , context : InferenceContext | None = None , ** kwargs : Any
1076
+ ) -> Generator [InferenceResult , None , None ]:
1076
1077
"""Support IfExp inference
1077
1078
1078
1079
If we can't infer the truthiness of the condition, we default
@@ -1108,7 +1109,7 @@ def infer_ifexp(self, context=None):
1108
1109
1109
1110
1110
1111
def infer_functiondef (
1111
- self : _FunctionDefT , context : InferenceContext | None = None
1112
+ self : _FunctionDefT , context : InferenceContext | None = None , ** kwargs : Any
1112
1113
) -> Generator [Property | _FunctionDefT , None , InferenceErrorInfo ]:
1113
1114
if not self .decorators or not bases ._is_property (self ):
1114
1115
yield self
0 commit comments