Ignore:
Timestamp:
Jun 29, 2018, 4:14:15 PM (6 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
new-env
Children:
184557e
Parents:
97397a26 (diff), 28f3a19 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge remote-tracking branch 'origin/with_gc' into new-env

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/Resolver.cc

    r97397a26 rb21c77a  
    217217                        if ( findDeletedExpr( choice.expr ) ) {
    218218                                trace( choice.expr );
    219                                 SemanticError( choice.expr, "Unique best alternative includes deleted identifier in " );
     219                                SemanticError( untyped->location, choice.expr, "Unique best alternative includes deleted identifier in " );
    220220                        }
    221221                        alt = std::move( choice );
     
    252252
    253253                auto untyped = new CastExpr{ expr }; // cast to void
     254                untyped->location = expr->location;
    254255
    255256                // set up and resolve expression cast to void
     
    277278        void findSingleExpression( Expression *& untyped, Type * type, const SymTab::Indexer & indexer ) {
    278279                assert( untyped && type );
     280                // transfer location to generated cast for error purposes
     281                CodeLocation location = untyped->location;
    279282                untyped = new CastExpr( untyped, type );
     283                untyped->location = location;
    280284                findSingleExpression( untyped, indexer );
    281285                removeExtraneousCast( untyped, indexer );
     
    580584
    581585                                                        // Make sure we don't widen any existing bindings
    582                                                         for ( auto & i : resultEnv ) {
    583                                                                 i.allowWidening = false;
    584                                                         }
    585 
     586                                                        resultEnv.forbidWidening();
     587                                                       
    586588                                                        // Find any unbound type variables
    587589                                                        resultEnv.extractOpenVars( openVars );
Note: See TracChangeset for help on using the changeset viewer.