aboutsummaryrefslogtreecommitdiff
path: root/gcc/d/dmd/dclass.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/d/dmd/dclass.c')
-rw-r--r--gcc/d/dmd/dclass.c82
1 files changed, 41 insertions, 41 deletions
diff --git a/gcc/d/dmd/dclass.c b/gcc/d/dmd/dclass.c
index 76eb4a2..754a996 100644
--- a/gcc/d/dmd/dclass.c
+++ b/gcc/d/dmd/dclass.c
@@ -62,7 +62,7 @@ ClassDeclaration::ClassDeclaration(Loc loc, Identifier *id, BaseClasses *basecla
vtblInterfaces = NULL;
- //printf("ClassDeclaration(%s), dim = %d\n", id->toChars(), this->baseclasses->dim);
+ //printf("ClassDeclaration(%s), dim = %d\n", id->toChars(), this->baseclasses->length);
// For forward references
type = new TypeClass(this);
@@ -261,8 +261,8 @@ Dsymbol *ClassDeclaration::syntaxCopy(Dsymbol *s)
cd->storage_class |= storage_class;
- cd->baseclasses->setDim(this->baseclasses->dim);
- for (size_t i = 0; i < cd->baseclasses->dim; i++)
+ cd->baseclasses->setDim(this->baseclasses->length);
+ for (size_t i = 0; i < cd->baseclasses->length; i++)
{
BaseClass *b = (*this->baseclasses)[i];
BaseClass *b2 = new BaseClass(b->type->syntaxCopy());
@@ -402,7 +402,7 @@ void ClassDeclaration::semantic(Scope *sc)
baseok = BASEOKin;
// Expand any tuples in baseclasses[]
- for (size_t i = 0; i < baseclasses->dim; )
+ for (size_t i = 0; i < baseclasses->length; )
{
BaseClass *b = (*baseclasses)[i];
b->type = resolveBase(this, sc, scx, b->type);
@@ -433,7 +433,7 @@ void ClassDeclaration::semantic(Scope *sc)
}
// See if there's a base class as first in baseclasses[]
- if (baseclasses->dim)
+ if (baseclasses->length)
{
BaseClass *b = (*baseclasses)[0];
Type *tb = b->type->toBasetype();
@@ -492,7 +492,7 @@ void ClassDeclaration::semantic(Scope *sc)
// Treat the remaining entries in baseclasses as interfaces
// Check for errors, handle forward references
- for (size_t i = (baseClass ? 1 : 0); i < baseclasses->dim; )
+ for (size_t i = (baseClass ? 1 : 0); i < baseclasses->length; )
{
BaseClass *b = (*baseclasses)[i];
Type *tb = b->type->toBasetype();
@@ -588,7 +588,7 @@ void ClassDeclaration::semantic(Scope *sc)
storage_class |= baseClass->storage_class & STC_TYPECTOR;
}
- interfaces.length = baseclasses->dim - (baseClass ? 1 : 0);
+ interfaces.length = baseclasses->length - (baseClass ? 1 : 0);
interfaces.ptr = baseclasses->tdata() + (baseClass ? 1 : 0);
for (size_t i = 0; i < interfaces.length; i++)
@@ -625,7 +625,7 @@ Lancestorsdone:
* it can be resolved as a normal forward reference.
* Call addMember() and setScope() to make this class members visible from the base classes.
*/
- for (size_t i = 0; i < members->dim; i++)
+ for (size_t i = 0; i < members->length; i++)
{
Dsymbol *s = (*members)[i];
s->addMember(sc, this);
@@ -636,7 +636,7 @@ Lancestorsdone:
/* Set scope so if there are forward references, we still might be able to
* resolve individual members like enums.
*/
- for (size_t i = 0; i < members->dim; i++)
+ for (size_t i = 0; i < members->length; i++)
{
Dsymbol *s = (*members)[i];
//printf("[%d] setScope %s %s, sc2 = %p\n", i, s->kind(), s->toChars(), sc2);
@@ -646,7 +646,7 @@ Lancestorsdone:
sc2->pop();
}
- for (size_t i = 0; i < baseclasses->dim; i++)
+ for (size_t i = 0; i < baseclasses->length; i++)
{
BaseClass *b = (*baseclasses)[i];
Type *tb = b->type->toBasetype();
@@ -673,14 +673,14 @@ Lancestorsdone:
// initialize vtbl
if (baseClass)
{
- if (isCPPclass() && baseClass->vtbl.dim == 0)
+ if (isCPPclass() && baseClass->vtbl.length == 0)
{
error("C++ base class %s needs at least one virtual function", baseClass->toChars());
}
// Copy vtbl[] from base class
- vtbl.setDim(baseClass->vtbl.dim);
- memcpy(vtbl.tdata(), baseClass->vtbl.tdata(), sizeof(void *) * vtbl.dim);
+ vtbl.setDim(baseClass->vtbl.length);
+ memcpy(vtbl.tdata(), baseClass->vtbl.tdata(), sizeof(void *) * vtbl.length);
vthis = baseClass->vthis;
}
@@ -727,14 +727,14 @@ Lancestorsdone:
Scope *sc2 = newScope(sc);
- for (size_t i = 0; i < members->dim; i++)
+ for (size_t i = 0; i < members->length; i++)
{
Dsymbol *s = (*members)[i];
s->importAll(sc2);
}
- // Note that members.dim can grow due to tuple expansion during semantic()
- for (size_t i = 0; i < members->dim; i++)
+ // Note that members.length can grow due to tuple expansion during semantic()
+ for (size_t i = 0; i < members->length; i++)
{
Dsymbol *s = (*members)[i];
s->semantic(sc2);
@@ -750,7 +750,7 @@ Lancestorsdone:
/* Following special member functions creation needs semantic analysis
* completion of sub-structs in each field types.
*/
- for (size_t i = 0; i < fields.dim; i++)
+ for (size_t i = 0; i < fields.length; i++)
{
VarDeclaration *v = fields[i];
Type *tb = v->type->baseElemOf();
@@ -783,7 +783,7 @@ Lancestorsdone:
if (!ctor && noDefaultCtor)
{
// A class object is always created by constructor, so this check is legitimate.
- for (size_t i = 0; i < fields.dim; i++)
+ for (size_t i = 0; i < fields.length; i++)
{
VarDeclaration *v = fields[i];
if (v->storage_class & STCnodefaultctor)
@@ -863,7 +863,7 @@ Lancestorsdone:
// Verify fields of a synchronized class are not public
if (storage_class & STCsynchronized)
{
- for (size_t i = 0; i < fields.dim; i++)
+ for (size_t i = 0; i < fields.length; i++)
{
VarDeclaration *vd = fields[i];
if (!vd->isThisDeclaration() &&
@@ -893,7 +893,7 @@ bool ClassDeclaration::isBaseOf2(ClassDeclaration *cd)
if (!cd)
return false;
//printf("ClassDeclaration::isBaseOf2(this = '%s', cd = '%s')\n", toChars(), cd->toChars());
- for (size_t i = 0; i < cd->baseclasses->dim; i++)
+ for (size_t i = 0; i < cd->baseclasses->length; i++)
{
BaseClass *b = (*cd->baseclasses)[i];
if (b->sym == this || isBaseOf2(b->sym))
@@ -973,7 +973,7 @@ Dsymbol *ClassDeclaration::search(const Loc &loc, Identifier *ident, int flags)
{
// Search bases classes in depth-first, left to right order
- for (size_t i = 0; i < baseclasses->dim; i++)
+ for (size_t i = 0; i < baseclasses->length; i++)
{
BaseClass *b = (*baseclasses)[i];
@@ -1010,7 +1010,7 @@ Dsymbol *ClassDeclaration::search(const Loc &loc, Identifier *ident, int flags)
*/
ClassDeclaration *ClassDeclaration::searchBase(Identifier *ident)
{
- for (size_t i = 0; i < baseclasses->dim; i++)
+ for (size_t i = 0; i < baseclasses->length; i++)
{
BaseClass *b = (*baseclasses)[i];
ClassDeclaration *cdb = b->type->isClassHandle();
@@ -1050,7 +1050,7 @@ static unsigned membersPlace(BaseClasses *vtblInterfaces, size_t &bi, ClassDecla
if (!b->sym->alignsize)
b->sym->alignsize = Target::ptrsize;
cd->alignmember(b->sym->alignsize, b->sym->alignsize, &offset);
- assert(bi < vtblInterfaces->dim);
+ assert(bi < vtblInterfaces->length);
BaseClass *bv = (*vtblInterfaces)[bi];
if (b->sym->interfaces.length == 0)
{
@@ -1121,7 +1121,7 @@ void ClassDeclaration::finalizeSize()
fields.setDim(0);
unsigned offset = structsize;
- for (size_t i = 0; i < members->dim; i++)
+ for (size_t i = 0; i < members->length; i++)
{
Dsymbol *s = (*members)[i];
s->setFieldOffset(this, &offset, false);
@@ -1163,7 +1163,7 @@ bool ClassDeclaration::isFuncHidden(FuncDeclaration *fd)
OverloadSet *os = s->isOverloadSet();
if (os)
{
- for (size_t i = 0; i < os->a.dim; i++)
+ for (size_t i = 0; i < os->a.length; i++)
{
Dsymbol *s2 = os->a[i];
FuncDeclaration *f2 = s2->isFuncDeclaration();
@@ -1198,7 +1198,7 @@ FuncDeclaration *ClassDeclaration::findFunc(Identifier *ident, TypeFunction *tf)
Dsymbols *vtbl = &cd->vtbl;
while (1)
{
- for (size_t i = 0; i < vtbl->dim; i++)
+ for (size_t i = 0; i < vtbl->length; i++)
{
FuncDeclaration *fd = (*vtbl)[i]->isFuncDeclaration();
if (!fd)
@@ -1336,7 +1336,7 @@ bool ClassDeclaration::isAbstract()
}
};
- for (size_t i = 0; i < members->dim; i++)
+ for (size_t i = 0; i < members->length; i++)
{
Dsymbol *s = (*members)[i];
if (s->apply(&SearchAbstract::fp, this))
@@ -1348,7 +1348,7 @@ bool ClassDeclaration::isAbstract()
/* Iterate inherited member functions and check their abstract attribute.
*/
- for (size_t i = 1; i < vtbl.dim; i++)
+ for (size_t i = 1; i < vtbl.length; i++)
{
FuncDeclaration *fd = vtbl[i]->isFuncDeclaration();
//if (fd) printf("\tvtbl[%d] = [%s] %s\n", i, fd->loc.toChars(), fd->toChars());
@@ -1490,7 +1490,7 @@ void InterfaceDeclaration::semantic(Scope *sc)
baseok = BASEOKin;
// Expand any tuples in baseclasses[]
- for (size_t i = 0; i < baseclasses->dim; )
+ for (size_t i = 0; i < baseclasses->length; )
{
BaseClass *b = (*baseclasses)[i];
b->type = resolveBase(this, sc, scx, b->type);
@@ -1520,13 +1520,13 @@ void InterfaceDeclaration::semantic(Scope *sc)
goto Lancestorsdone;
}
- if (!baseclasses->dim && sc->linkage == LINKcpp)
+ if (!baseclasses->length && sc->linkage == LINKcpp)
classKind = ClassKind::cpp;
if (sc->linkage == LINKobjc)
objc()->setObjc(this);
// Check for errors, handle forward references
- for (size_t i = 0; i < baseclasses->dim; )
+ for (size_t i = 0; i < baseclasses->length; )
{
BaseClass *b = (*baseclasses)[i];
Type *tb = b->type->toBasetype();
@@ -1592,7 +1592,7 @@ void InterfaceDeclaration::semantic(Scope *sc)
}
baseok = BASEOKdone;
- interfaces.length = baseclasses->dim;
+ interfaces.length = baseclasses->length;
interfaces.ptr = baseclasses->tdata();
for (size_t i = 0; i < interfaces.length; i++)
@@ -1618,7 +1618,7 @@ Lancestorsdone:
if (!symtab)
symtab = new DsymbolTable();
- for (size_t i = 0; i < baseclasses->dim; i++)
+ for (size_t i = 0; i < baseclasses->length; i++)
{
BaseClass *b = (*baseclasses)[i];
Type *tb = b->type->toBasetype();
@@ -1660,7 +1660,7 @@ Lancestorsdone:
// Copy vtbl[] from base class
if (b->sym->vtblOffset())
{
- size_t d = b->sym->vtbl.dim;
+ size_t d = b->sym->vtbl.length;
if (d > 1)
{
vtbl.reserve(d - 1);
@@ -1678,7 +1678,7 @@ Lancestorsdone:
}
}
- for (size_t i = 0; i < members->dim; i++)
+ for (size_t i = 0; i < members->length; i++)
{
Dsymbol *s = (*members)[i];
s->addMember(sc, this);
@@ -1689,20 +1689,20 @@ Lancestorsdone:
/* Set scope so if there are forward references, we still might be able to
* resolve individual members like enums.
*/
- for (size_t i = 0; i < members->dim; i++)
+ for (size_t i = 0; i < members->length; i++)
{
Dsymbol *s = (*members)[i];
//printf("setScope %s %s\n", s->kind(), s->toChars());
s->setScope(sc2);
}
- for (size_t i = 0; i < members->dim; i++)
+ for (size_t i = 0; i < members->length; i++)
{
Dsymbol *s = (*members)[i];
s->importAll(sc2);
}
- for (size_t i = 0; i < members->dim; i++)
+ for (size_t i = 0; i < members->length; i++)
{
Dsymbol *s = (*members)[i];
s->semantic(sc2);
@@ -1867,10 +1867,10 @@ bool BaseClass::fillVtbl(ClassDeclaration *cd, FuncDeclarations *vtbl, int newin
//printf("BaseClass::fillVtbl(this='%s', cd='%s')\n", sym->toChars(), cd->toChars());
if (vtbl)
- vtbl->setDim(sym->vtbl.dim);
+ vtbl->setDim(sym->vtbl.length);
// first entry is ClassInfo reference
- for (size_t j = sym->vtblOffset(); j < sym->vtbl.dim; j++)
+ for (size_t j = sym->vtblOffset(); j < sym->vtbl.length; j++)
{
FuncDeclaration *ifd = sym->vtbl[j]->isFuncDeclaration();
FuncDeclaration *fd;
@@ -1929,7 +1929,7 @@ void BaseClass::copyBaseInterfaces(BaseClasses *vtblInterfaces)
void *pb = &baseInterfaces.ptr[i];
BaseClass *b2 = sym->interfaces.ptr[i];
- assert(b2->vtbl.dim == 0); // should not be filled yet
+ assert(b2->vtbl.length == 0); // should not be filled yet
BaseClass *b = (BaseClass *)memcpy(pb, b2, sizeof(BaseClass));
if (i) // single inheritance is i==0