Mercurial > projects > dil
changeset 557:c5a05e70911f
Added some semantic() methods.
Fixed ctor of CondExpression.
author | Aziz K?ksal <aziz.koeksal@gmail.com> |
---|---|
date | Mon, 24 Dec 2007 18:19:25 +0100 |
parents | 19554e79e6d2 |
children | 32f55cac5c46 |
files | trunk/src/dil/Expressions.d |
diffstat | 1 files changed, 18 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/trunk/src/dil/Expressions.d Mon Dec 24 16:12:41 2007 +0100 +++ b/trunk/src/dil/Expressions.d Mon Dec 24 18:19:25 2007 +0100 @@ -62,6 +62,13 @@ this.right = right; this.tok = tok; } + + Expression semantic(Scope scop) + { + left = left.semantic(scop); + right = right.semantic(scop); + return this; + } } class CondExpression : BinaryExpression @@ -69,9 +76,9 @@ Expression condition; this(Expression condition, Expression left, Expression right, Token* tok) { + addChild(condition); super(left, right, tok); mixin(set_kind); - addChild(condition); this.condition = condition; } } @@ -721,6 +728,16 @@ { mixin(set_kind); } + + Expression semantic(Scope scop) + { + if (type) + return this; + type = Types.Size_t; + // if (!scop.inArraySubscript) + // error(scop, "$ can only be in an array subscript."); + return this; + } } class BoolExpression : Expression