Lines Matching defs:memtype

28 EnumDeclaration::EnumDeclaration(Loc loc, Identifier *id, Type *memtype)
34 this->memtype = memtype;
50 memtype ? memtype->syntaxCopy() : NULL);
97 assert(memtype);
98 ::error(loc, "circular reference to enum base type %s", memtype->toChars());
126 if (!members && !memtype) // enum ident;
137 * 2. enum : memtype { ... }
139 * 4. enum ident : memtype { ... }
140 * 5. enum ident : memtype;
144 if (memtype)
146 memtype = memtype->semantic(loc, sc);
148 /* Check to see if memtype is forward referenced
150 if (memtype->ty == Tenum)
152 EnumDeclaration *sym = (EnumDeclaration *)memtype->toDsymbol(sc);
153 if (!sym->memtype || !sym->members || !sym->symtab || sym->_scope)
155 // memtype is forward referenced, so try again later
165 if (memtype->ty == Tvoid)
168 memtype = Type::terror;
170 if (memtype->ty == Terror)
188 if (!members) // enum ident : memtype;
303 return memtype->getProperty(loc, id, 0);
309 if (!(memtype && memtype->isintegral()))
313 memtype ? memtype->toChars() : "");
379 ident == Id::__c_long_double) && memtype;
398 return memtype->defaultInit(loc);
429 if (memtype)
430 memtype = memtype->semantic(loc, _scope);
434 memtype = Type::tint32;
437 if (!memtype)
440 memtype = Type::tint32;
447 return memtype;
577 if (first && !ed->memtype && !ed->isAnonymous())
579 ed->memtype = e->type;
580 if (ed->memtype->ty == Terror)
585 if (ed->memtype->ty != Terror)
599 ev = ev->implicitCastTo(sc, ed->memtype);
608 ed->memtype = Type::terror;
614 if (ed->memtype && !origType)
616 e = e->implicitCastTo(sc, ed->memtype);
642 if (ed->memtype)
643 t = ed->memtype;
648 ed->memtype = t;
687 Type *tprev = eprev->type->equals(ed->type) ? ed->memtype : eprev->type;