Replace ArrayIter<> with Array<>::iterator.

Just use the new iterator instead of the old Java-like class.
Also removes a dead iterator and replaces an iterator with a
pointer in some place.
This commit is contained in:
kai
2014-01-11 14:48:41 +01:00
parent 5aa06092cd
commit 6287a4d422
7 changed files with 56 additions and 53 deletions

View File

@@ -25,7 +25,6 @@
#include "gen/runtime.h"
#include "gen/structs.h"
#include "gen/tollvm.h"
#include "gen/utils.h"
#include "ir/iraggr.h"
#include "ir/irtypeclass.h"
@@ -42,12 +41,11 @@ void DtoResolveClass(ClassDeclaration* cd)
LOG_SCOPE;
// make sure the base classes are processed first
ArrayIter<BaseClass> base_iter(cd->baseclasses);
while (base_iter.more())
for (BaseClasses::iterator I = cd->baseclasses->begin(),
E = cd->baseclasses->end();
I != E; ++I)
{
BaseClass* bc = base_iter.get();
DtoResolveClass(bc->base);
base_iter.next();
DtoResolveClass((*I)->base);
}
// make sure type exists
@@ -59,10 +57,11 @@ void DtoResolveClass(ClassDeclaration* cd)
cd->ir.irAggr = irAggr;
// make sure all fields really get their ir field
ArrayIter<VarDeclaration> it(cd->fields);
for (; !it.done(); it.next())
for (VarDeclarations::iterator I = cd->fields.begin(),
E = cd->fields.end();
I != E; ++I)
{
VarDeclaration* vd = it.get();
VarDeclaration* vd = *I;
if (vd->ir.irField == NULL) {
new IrField(vd);
} else {