def transform_Assign(self, stmt):
    lhs, rhs = stmt.lhs, stmt.rhs
    if isinstance(lhs, Tuple):
      for (i, lhs_elt) in enumerate(lhs.elts):
        self.assign(lhs_elt, self.tuple_proj(rhs, i), recursive = True)
    else:
      assert isinstance(lhs, (Var, Index, Attribute)), \
          "Invalid LHS: %s" % (lhs,)
      return Assign(stmt.lhs, self.transform_expr(rhs))
dataset/ETHPy150Open iskandr/parakeet/parakeet/transforms/lower_structs.py/LowerStructs.transform_Assign/original