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(',');