@@ -1504,17 +1504,21 @@ def visit_Bytes(self, n: Bytes) -> Type:
1504
1504
1505
1505
# Subscript(expr value, slice slice, expr_context ctx)
1506
1506
def visit_Subscript (self , n : ast3 .Subscript ) -> Type :
1507
- if not isinstance (n .slice , Index ):
1508
- self .fail (TYPE_COMMENT_SYNTAX_ERROR , self .line , getattr (n , 'col_offset' , - 1 ))
1509
- return AnyType (TypeOfAny .from_error )
1507
+ if PY_MINOR_VERSION >= 9 :
1508
+ slice_value = n .slice
1509
+ else :
1510
+ if not isinstance (n .slice , Index ):
1511
+ self .fail (TYPE_COMMENT_SYNTAX_ERROR , self .line , getattr (n , 'col_offset' , - 1 ))
1512
+ return AnyType (TypeOfAny .from_error )
1513
+ slice_value = n .slice .value
1510
1514
1511
1515
empty_tuple_index = False
1512
- if isinstance (n . slice . value , ast3 .Tuple ):
1513
- params = self .translate_expr_list (n . slice . value .elts )
1514
- if len (n . slice . value .elts ) == 0 :
1516
+ if isinstance (slice_value , ast3 .Tuple ):
1517
+ params = self .translate_expr_list (slice_value .elts )
1518
+ if len (slice_value .elts ) == 0 :
1515
1519
empty_tuple_index = True
1516
1520
else :
1517
- params = [self .visit (n . slice . value )]
1521
+ params = [self .visit (slice_value )]
1518
1522
1519
1523
value = self .visit (n .value )
1520
1524
if isinstance (value , UnboundType ) and not value .args :
0 commit comments