Ignore:
Timestamp:
Mar 16, 2018, 5:15:02 PM (6 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
new-env, with_gc
Children:
8d7bef2
Parents:
6171841
git-author:
Aaron Moss <a3moss@…> (03/16/18 17:04:24)
git-committer:
Aaron Moss <a3moss@…> (03/16/18 17:15:02)
Message:

First pass at delete removal

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Tuples/TupleExpansion.cc

    r6171841 r68f9c43  
    4545
    4646                        std::map< int, Expression * > decls; // not vector, because order added may not be increasing order
    47 
    48                         ~UniqueExprExpander() {
    49                                 for ( std::pair<const int, Expression *> & p : decls ) {
    50                                         delete p.second;
    51                                 }
    52                         }
    5347                };
    5448
     
    111105                                UntypedMemberExpr * newMemberExpr = new UntypedMemberExpr( memberExpr->member, inner );
    112106                                inner->location = newMemberExpr->location = loc;
    113                                 memberExpr->member = nullptr;
    114                                 memberExpr->aggregate = nullptr;
    115                                 delete memberExpr;
    116107                                return newMemberExpr->acceptMutator( expander );
    117108                        } else {
     
    135126                                expr->location = memberExpr->location;
    136127                        }
    137                         delete aggr;
    138128                        tupleExpr->location = memberExpr->location;
    139129                        return tupleExpr;
     
    181171                        decls[id] = condExpr;
    182172                }
    183                 delete unqExpr;
    184173                return decls[id]->clone();
    185174        }
     
    191180                ret->set_env( assnExpr->get_env() );
    192181                assnExpr->set_env( nullptr );
    193                 delete assnExpr;
    194182                return ret;
    195183        }
     
    222210                        newType->get_parameters().push_back( new TypeExpr( t->clone() ) );
    223211                }
    224                 delete tupleType;
    225212                return newType;
    226213        }
     
    233220                TypeSubstitution * env = tupleExpr->get_env();
    234221                tupleExpr->set_env( nullptr );
    235                 delete tupleExpr;
    236222
    237223                StructInstType * type = strict_dynamic_cast< StructInstType * >( tuple->get_result() );
     
    275261                TypeSubstitution * env = tupleExpr->get_env();
    276262
    277                 // remove data from shell and delete it
    278                 tupleExpr->set_result( nullptr );
    279                 tupleExpr->get_exprs().clear();
     263                // remove data from shell
    280264                tupleExpr->set_env( nullptr );
    281                 delete tupleExpr;
    282265
    283266                return replaceTupleExpr( result, exprs, env );
Note: See TracChangeset for help on using the changeset viewer.