File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -959,6 +959,37 @@ def __init__(self, mapping):
959959 def visit_Name (self , node ):
960960 return self ._mapping .get (node .id , node )
961961
962+ def visit_Attribute (self , node ):
963+ self .generic_visit (node )
964+
965+ if isinstance (node .value , ast .Subscript ):
966+ return ast .Attribute (
967+ value = ast .Attribute (value = node .value .value , attr = "dtype" ),
968+ attr = node .attr ,
969+ ctx = node .ctx ,
970+ )
971+
972+ return node
973+
974+ def visit_Subscript (self , node ):
975+ self .generic_visit (node )
976+
977+ def _get_slice_elements (slice ):
978+ return slice .elts if isinstance (slice , ast .Tuple ) else [slice ]
979+
980+ if isinstance (node .value , ast .Subscript ):
981+ return ast .Subscript (
982+ value = node .value .value ,
983+ slice = ast .Tuple (
984+ elts = _get_slice_elements (node .value .slice )
985+ + _get_slice_elements (node .slice ),
986+ ctx = ast .Load (),
987+ ),
988+ ctx = node .ctx ,
989+ )
990+
991+ return node
992+
962993 class _LocalVariableRenamer (ast .NodeTransformer ):
963994 def __init__ (self , prefix , local_vars ):
964995 self ._prefix = prefix
You can’t perform that action at this time.
0 commit comments