Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Tuples/TupleExpansion.cc

    raee472e rcdc4d43  
    4646
    4747                        std::map< int, Expression * > decls; // not vector, because order added may not be increasing order
    48 
    49                         ~UniqueExprExpander() {
    50                                 for ( std::pair<const int, Expression *> & p : decls ) {
    51                                         delete p.second;
    52                                 }
    53                         }
    5448                };
    5549
     
    112106                                UntypedMemberExpr * newMemberExpr = new UntypedMemberExpr( memberExpr->member, inner );
    113107                                inner->location = newMemberExpr->location = loc;
    114                                 memberExpr->member = nullptr;
    115                                 memberExpr->aggregate = nullptr;
    116                                 delete memberExpr;
    117108                                return newMemberExpr->acceptMutator( expander );
    118109                        } else {
     
    134125                                expr->location = memberExpr->location;
    135126                        }
    136                         delete aggr;
    137127                        tupleExpr->location = memberExpr->location;
    138128                        return tupleExpr;
     
    180170                        decls[id] = condExpr;
    181171                }
    182                 delete unqExpr;
    183172                return decls[id]->clone();
    184173        }
     
    190179                ret->set_env( assnExpr->get_env() );
    191180                assnExpr->set_env( nullptr );
    192                 delete assnExpr;
    193181                return ret;
    194182        }
     
    221209                        newType->get_parameters().push_back( new TypeExpr( t->clone() ) );
    222210                }
    223                 delete tupleType;
    224211                return newType;
    225212        }
     
    232219                TypeSubstitution * env = tupleExpr->env;
    233220                tupleExpr->env = nullptr;
    234                 delete tupleExpr;
    235221
    236222                if ( TupleExpr * tupleExpr = dynamic_cast< TupleExpr * > ( tuple ) ) {
     
    242228                                ret->env = env;
    243229                                expr = nullptr; // remove from list so it can safely be deleted
    244                                 delete tupleExpr;
    245230                                return ret;
    246231                        }
     
    287272                TypeSubstitution * env = tupleExpr->get_env();
    288273
    289                 // remove data from shell and delete it
     274                // remove data from shell
    290275                tupleExpr->set_result( nullptr );
    291276                tupleExpr->get_exprs().clear();
    292277                tupleExpr->set_env( nullptr );
    293                 delete tupleExpr;
    294278
    295279                return replaceTupleExpr( result, exprs, env );
Note: See TracChangeset for help on using the changeset viewer.