parameters: (self, obj)
docstring: Overload _get_shape to retrieve the shape of SetItem IR nodes.
docstring_summary: Overload _get_shape to retrieve the shape of SetItem IR nodes.
docstring_tokens: Overload _get_shape to retrieve the shape of SetItem IR nodes .
function: def _get_shape(self, obj):
          """Overload _get_shape to retrieve the shape of SetItem IR nodes.
          """
          if isinstance(obj, ir.StaticSetItem) or isinstance(obj, ir.SetItem):
              require(obj in self.ext_shapes)
              return self.ext_shapes[obj]
          else:
              assert(isinstance(obj, ir.Var))
              typ = self.typemap[obj.name]
              # for slice type, return the shape variable itself
              if isinstance(typ, types.SliceType):
                  return (obj,)
              else:
                  return super(SymbolicEquivSet, self)._get_shape(obj)
function_tokens: def _get_shape ( self , obj ) : if isinstance ( obj , ir . StaticSetItem ) or isinstance ( obj , ir . SetItem ) : require ( obj in self . ext_shapes ) return self . ext_shapes [ obj ] else : assert ( isinstance ( obj , ir . Var ) ) typ = self . typemap [ obj . name ] # for slice type, return the shape variable itself if isinstance ( typ , types . SliceType ) : return ( obj , ) else : return super ( SymbolicEquivSet , self ) . _get_shape ( obj )