Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Expr.cpp

    r8abee136 r76ed81f  
    2020#include <vector>
    2121
     22#include "GenericSubstitution.hpp"
    2223#include "Stmt.hpp"
    2324#include "Type.hpp"
     25#include "TypeSubstitution.hpp"
    2426#include "Common/utility.h"
    2527#include "Common/SemanticError.h"
     
    157159        assert( aggregate->result );
    158160
    159 //      assert(!"unimplemented; need TypeSubstitution, genericSubstitution");
     161        // #warning Needs GenericSubsitution.cpp building to work correctly
     162        // result.set_and_mutate( mem->get_type() )->qualifiers |= aggregate->result->qualifiers | CV::Lvalue;  // FIXME temporary patch
     163
     164        // take ownership of member type
     165        result = mem->get_type();
     166        // substitute aggregate generic parameters into member type
     167        genericSubsitution( aggregate->result ).apply( result );
     168        // ensure lvalue and appropriate restrictions from aggregate type
     169        result.get_and_mutate()->qualifiers |= aggregate->result->qualifiers | CV::Lvalue;
    160170}
    161171
Note: See TracChangeset for help on using the changeset viewer.