Mercurial > projects > ddmd
diff dmd/CommaExp.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 | 10317f0c89a5 |
children | cab4c37afb89 |
line wrap: on
line diff
--- a/dmd/CommaExp.d Sat Aug 21 13:28:16 2010 +0400 +++ b/dmd/CommaExp.d Sat Aug 21 14:16:53 2010 +0400 @@ -78,12 +78,25 @@ MATCH implicitConvTo(Type t) { - assert(false); + return e2.implicitConvTo(t); } Expression castTo(Scope sc, Type t) { - assert(false); + Expression e2c = e2.castTo(sc, t); + Expression e; + + if (e2c != e2) + { + e = new CommaExp(loc, e1, e2c); + e.type = e2c.type; + } + else + { + e = this; + e.type = e2.type; + } + return e; } Expression optimize(int result)