Mercurial > projects > ddmd
diff dmd/StructLiteralExp.d @ 90:39648eb578f6
more Expressions work
author | Eldar Insafutdinov <e.insafutdinov@gmail.com> |
---|---|
date | Mon, 30 Aug 2010 20:27:56 +0100 |
parents | 8e69d041a99d |
children | ceda59b4d255 |
line wrap: on
line diff
--- a/dmd/StructLiteralExp.d Mon Aug 30 19:58:14 2010 +0400 +++ b/dmd/StructLiteralExp.d Mon Aug 30 20:27:56 2010 +0100 @@ -165,7 +165,7 @@ { //printf("\ti = %d\n", i); assert(i < elements.dim); - e = cast(Expression)elements.data[i]; + e = elements[i]; if (e) { //writef("e = %s, e.type = %s\n", e.toChars(), e.type.toChars()); @@ -180,7 +180,7 @@ Expressions z = new Expressions; z.setDim(length); for (int q = 0; q < length; ++q) - z.data[q] = e.copy(); + z[q] = e.copy(); e = new ArrayLiteralExp(loc, z); e.type = type; } @@ -206,7 +206,7 @@ if (offset == v.offset && type.size() == v.type.size()) { - Expression e = cast(Expression)elements.data[i]; + auto e = elements[i]; if (e) { return i; @@ -386,9 +386,8 @@ { bool f = 0; - for (size_t i = 0; i < elements.dim; i++) + foreach (e; elements) { - Expression e = cast(Expression)elements.data[i]; if (!e) continue; @@ -413,7 +412,7 @@ buf.printf("S%u", dim); for (size_t i = 0; i < dim; i++) { - Expression e = cast(Expression)elements.data[i]; + auto e = elements[i]; if (e) e.toMangleBuffer(buf); else