Mercurial > projects > ddmd
comparison dmd/EnumDeclaration.d @ 77:ad4792a1cfd6
more D-ification container accessing
author | Eldar Insafutdinov <e.insafutdinov@gmail.com> |
---|---|
date | Sun, 29 Aug 2010 14:36:55 +0100 |
parents | 2e2a5c3f943a |
children | 43073c7c7769 |
comparison
equal
deleted
inserted
replaced
74:7e0d548de9e6 | 77:ad4792a1cfd6 |
---|---|
159 } | 159 } |
160 if (members.dim == 0) | 160 if (members.dim == 0) |
161 error("enum %s must have at least one member", toChars()); | 161 error("enum %s must have at least one member", toChars()); |
162 int first = 1; | 162 int first = 1; |
163 Expression elast = null; | 163 Expression elast = null; |
164 for (int i = 0; i < members.dim; i++) | 164 foreach (Dsymbol s; members) |
165 { | 165 { |
166 EnumMember em = (cast(Dsymbol)members.data[i]).isEnumMember(); | 166 EnumMember em = s.isEnumMember(); |
167 Expression e; | 167 Expression e; |
168 | 168 |
169 if (!em) | 169 if (!em) |
170 /* The e.semantic(sce) can insert other symbols, such as | 170 /* The e.semantic(sce) can insert other symbols, such as |
171 * template instances and function literals. | 171 * template instances and function literals. |
324 return; | 324 return; |
325 } | 325 } |
326 buf.writenl(); | 326 buf.writenl(); |
327 buf.writeByte('{'); | 327 buf.writeByte('{'); |
328 buf.writenl(); | 328 buf.writenl(); |
329 for (i = 0; i < members.dim; i++) | 329 foreach(Dsymbol s; members) |
330 { | 330 { |
331 EnumMember em = (cast(Dsymbol)members.data[i]).isEnumMember(); | 331 EnumMember em = s.isEnumMember(); |
332 if (!em) | 332 if (!em) |
333 continue; | 333 continue; |
334 //buf.writestring(" "); | 334 //buf.writestring(" "); |
335 em.toCBuffer(buf, hgs); | 335 em.toCBuffer(buf, hgs); |
336 buf.writeByte(','); | 336 buf.writeByte(','); |