Changes in / [dfee306:9163b9c]


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Validate.cc

    rdfee306 r9163b9c  
    820820                        Type *ret = def->second.first->get_base()->clone();
    821821                        ret->get_qualifiers() += typeInst->get_qualifiers();
     822                        // place instance parameters on the typedef'd type
     823                        if ( ! typeInst->get_parameters().empty() ) {
     824                                ReferenceToType *rtt = dynamic_cast<ReferenceToType*>(ret);
     825                                if ( ! rtt ) {
     826                                        throw SemanticError("cannot apply type parameters to base type of " + typeInst->get_name());
     827                                }
     828                                rtt->get_parameters().clear();
     829                                cloneAll(typeInst->get_parameters(), rtt->get_parameters());
     830                        }
    822831                        delete typeInst;
    823832                        return ret;
Note: See TracChangeset for help on using the changeset viewer.