comparison dmd/TupleExp.d @ 56:51605de93870

TupleExp.optimize UnrolledLoopStatement.ctor UnrolledLoopStatement.semantic UnrolledLoopStatement.blockExit OrOrExp.checkSideEffect FuncExp.syntaxCopy FuncLiteralDeclaration.syntaxCopy WhileStatement.hasBreak StructInitializer.toExpression StructLiteralExp.ctor StructLiteralExp.optimize BinExp.commonSemanticAssign ModAssignExp.opId Argument.isLazyArray CommaExp.implicitConvTo CommaExp.castTo TypeClass.isBaseOf createTypeInfoArray TypeTuple.getTypeInfoDeclaration TypeInfoTupleDeclaration.ctor TypeNext.constConv XorExp.implicitConvTo TemplateParameter.isTemplateValueParameter
author korDen
date Sat, 21 Aug 2010 14:16:53 +0400
parents ccbc1e0bb3f0
children cab4c37afb89
comparison
equal deleted inserted replaced
55:8c2c7b7579f8 56:51605de93870
2 2
3 import dmd.Expression; 3 import dmd.Expression;
4 import dmd.TupleDeclaration; 4 import dmd.TupleDeclaration;
5 import dmd.backend.elem; 5 import dmd.backend.elem;
6 import dmd.InterState; 6 import dmd.InterState;
7 import dmd.WANT;
7 import dmd.Type; 8 import dmd.Type;
8 import dmd.OutBuffer; 9 import dmd.OutBuffer;
9 import dmd.Loc; 10 import dmd.Loc;
10 import dmd.Scope; 11 import dmd.Scope;
11 import dmd.InlineCostState; 12 import dmd.InlineCostState;
205 return f; 206 return f;
206 } 207 }
207 208
208 Expression optimize(int result) 209 Expression optimize(int result)
209 { 210 {
210 assert(false); 211 for (size_t i = 0; i < exps.dim; i++)
212 {
213 Expression e = cast(Expression)exps.data[i];
214
215 e = e.optimize(WANTvalue | (result & WANTinterpret));
216 exps.data[i] = cast(void*)e;
217 }
218 return this;
211 } 219 }
212 220
213 Expression interpret(InterState* istate) 221 Expression interpret(InterState* istate)
214 { 222 {
215 assert(false); 223 assert(false);