Changes in src/AST/Expr.cpp [20a5977:10a1225]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/AST/Expr.cpp
r20a5977 r10a1225 20 20 #include <vector> 21 21 22 #include "GenericSubstitution.hpp"23 22 #include "Stmt.hpp" 24 23 #include "Type.hpp" 25 #include "TypeSubstitution.hpp"26 #include "Common/utility.h"27 24 #include "Common/SemanticError.h" 28 25 #include "GenPoly/Lvalue.h" // for referencesPermissable … … 159 156 assert( aggregate->result ); 160 157 161 // take ownership of member type 162 result = mem->get_type(); 163 // substitute aggregate generic parameters into member type 164 genericSubsitution( aggregate->result ).apply( result ); 165 // ensure lvalue and appropriate restrictions from aggregate type 166 result.get_and_mutate()->qualifiers |= aggregate->result->qualifiers | CV::Lvalue; 158 assert(!"unimplemented; need TypeSubstitution, genericSubstitution"); 167 159 } 168 160 … … 241 233 FixedLen, DynamicDim }, 242 234 std::string{"\""} + s + "\"", 243 (unsigned long long)0, 244 ConstantExpr::String }; 235 (unsigned long long)0 }; 245 236 } 246 237 … … 341 332 stmts.emplace_back( new ExprStmt{ loc, tupleExpr } ); 342 333 stmtExpr = new StmtExpr{ loc, new CompoundStmt{ loc, std::move(stmts) } }; 343 }344 345 TupleAssignExpr::TupleAssignExpr(346 const CodeLocation & loc, const Type * result, const StmtExpr * s )347 : Expr( loc, result ), stmtExpr() {348 stmtExpr = s;349 334 } 350 335
Note:
See TracChangeset
for help on using the changeset viewer.